Per-Club Runbook
This page is the single operational record for one club's migration. Copy it, rename it for the club, fill every placeholder before the pre-launch checklist begins, and keep it updated throughout the ramp. Archive it with the completed daily log once the ramp-complete sign-off is in place.
The interactive builder below generates a pre-filled checklist from the club's key facts. Fill it first, then work through the master checklist in order.
1. Club Facts Block
Fill every field before advancing to the checklist. Blank fields are blocking items.
| Field | Value |
|---|---|
| Club name | [Club Name] |
| Club slug (kebab-case) | [club-name-gc] |
| Root domain | [clubdomain.co.uk] |
| Sending subdomain | mail.[clubdomain.co.uk] |
| From address | info@mail.[clubdomain.co.uk] |
| From name | [e.g. Highgate Golf Club] |
| Reply-to address | [monitored human inbox — e.g. office@clubdomain.co.uk] |
| Custom tracking CNAME | link.[clubdomain.co.uk] |
| SPF record | [paste final SPF TXT value] |
| DKIM selector + key | [selector]._domainkey.[domain] — 2048-bit |
| DMARC policy at launch | p=none; rua=mailto:[dmarc-reports@clubdomain.co.uk] |
| MX record(s) for subdomain | [paste values — needed to receive replies and mailto: unsubscribe requests] |
| PTR / reverse DNS | [confirmed by LC Email / Mailgun] |
| Google Postmaster — root domain | - [ ] Verified |
| Google Postmaster — sending subdomain | - [ ] Verified |
| Microsoft SNDS / JMRP | - [ ] Registered (required if Outlook share > 15%) |
| Total raw list export (IG) | [n] addresses |
| Suppressed at hygiene (hard bounce, dupe, malformed) | [n] removed |
| Role-based addresses reviewed | [n] checked — [n] kept (verified, opted-in individuals); [n] suppressed |
Generic role addresses suppressed (info@, admin@, office@) | [n] suppressed from marketing warm-up |
| Unsubscribed / opt-out from IG | [n] suppressed |
| Mailable base size (post-hygiene total) | [n] addresses |
| Tier A — clicked, replied, booked, purchased in last 30 days | [n] addresses |
| Tier B — engaged in last 31–60 days | [n] addresses |
| Tier C — engaged in last 61–90 days | [n] addresses |
| Tier D — no engagement data; active membership | [n] addresses — 30/60-day fallback only |
| Tier E — 90+ days no engagement, prior bounce / complaint, unclear permission | [n] addresses — suppressed permanently |
| Estimated Gmail % | [n]% |
| Estimated Outlook / Microsoft % | [n]% |
| Estimated Apple / iCloud % | [n]% |
| Estimated Yahoo / other % | [n]% |
| Consent basis confirmed | [e.g. PECR soft opt-in — members, similar products/services; or explicit consent; or — see compliance sign-off] |
| Soft opt-in basis documented | - [ ] Confirmed by [name] on [date] — see Compliance |
| Ramp track chosen | - [ ] Default 7–14 day engagement-gated (clean data, good consent evidence) — [ ] 30-day fallback (mixed data / patchy engagement history) — [ ] 60-day fallback (stale data, limited consent evidence, bounce > 0.5% on first test) |
| Ramp track approved by | [Name, date] |
| Planned Step 0 IG broadcast date | [DD Month YYYY] |
| Planned ramp start date (Day 1 GHL Trust Bridge) | [DD Month YYYY] |
| Planned ramp end date (full volume) | [DD Month YYYY] |
| Final IG send date | [DD Month YYYY] |
| One-off transition SMS scheduled date | [DD Month YYYY — or N/A] |
| Named client decision-maker | [Name, role, email, mobile] |
| Albatross same-day pause owner | [Name — person authorised to pause sends immediately, no approval required] |
| GHL sub-account ID | [ID] |
| GHL drip rate at launch | [e.g. 10–20 emails/hour — see Ramp Schedule for stage-by-stage targets] |
2. Master Pre-Launch Checklist
Work through every phase in order. Do not advance to the next phase until every box in the current phase is checked. If a blocking issue is found, log it in the daily log (Section 3) and resolve before continuing.
Phase 0 — Compliance Sign-Off
Full guidance: Compliance — UK GDPR & PECR
The club is the data controller. Albatross / Capture is the processor. The compliance burden sits with the club; Albatross documents and supports.
- Consent basis for every segment documented and reviewed — PECR soft opt-in, explicit consent, or other legal basis; do not rely on charity-basis rules unless the club is a registered charity; do not assume legitimate interests alone is sufficient for direct marketing
- GDPR data-sharing addendum / DPA between club and Albatross / Capture signed
- Suppression list built before any import: unsubscribes, opt-outs, and known complaints from IG carried across to GHL suppression list first, before the full contact import
- One-click unsubscribe (RFC 8058) confirmed active in GHL LC Email account settings
- PECR opt-out mechanism present and functional in every planned email template
- Role-based address review complete: generic addresses (
info@,admin@,office@) suppressed from the marketing warm-up; named-role addresses (captain@,secretary@,manager@) individually verified as real, opted-in individuals and documented - Client decision-maker has reviewed and signed the compliance section
- Compliance sign-off date recorded:
[DD Month YYYY]
Phase 1 — Domain, DNS & Authentication
Full guidance: Operator Runbook
Authentication is the true gate — not the volume schedule. Nothing proceeds until all records are live and verified.
- Root-domain pre-flight passed: root domain checked against major blocklists; SPF and DMARC records confirmed present on the root domain
- Sending subdomain created in LC Email settings:
mail.[clubdomain.co.uk] - Custom tracking CNAME published:
link.[clubdomain.co.uk]→ LC Email / Mailgun endpoint - SPF TXT record live and tested (
dig TXT mail.[clubdomain.co.uk]returns correct record) - DKIM DNS record live and tested — 2048-bit key; selector verified against LC Email / Mailgun
- DMARC TXT record live:
p=none; rua=mailto:[reporting address]— reporting inbox active and monitored - MX record for sending subdomain published (needed to receive replies and mailto: unsubscribe requests — RFC 8058 one-click unsubscribe itself works via HTTPS POST)
- PTR / reverse DNS confirmed with Mailgun support
- TLS confirmed — no plain-text fallback
- All records verified with MXToolbox or equivalent; screenshots saved
- Authentication alignment confirmed: From domain = DKIM signing domain = SPF-authorised domain (exact alignment)
- Google Postmaster Tools — root domain
[clubdomain.co.uk]verified and data collection started - Google Postmaster Tools — sending subdomain
mail.[clubdomain.co.uk]verified and data collection started - Microsoft SNDS / JMRP registered:
[date or N/A]
Phase 2 — Data Export, Hygiene & Segmentation
Full guidance: Data Prep & Segmentation
Suppress chronically unengaged and likely-hard-bounce contacts before the first send. Import the suppression list into GHL before the full contact import.
- Full member list exported from Intelligent Golf — CSV with email, first name, last name, membership type, last-active date
- Deduplication run; duplicate addresses removed
- Malformed / unparseable addresses removed
- Hard-bounce history exported from IG and loaded into GHL suppression list before contact import
- Pre-existing unsubscribes / opt-outs from IG loaded into GHL suppression list before contact import
- Role-based address review complete (cross-reference with Phase 0)
- GHL LC Email built-in email validation run on full list; results logged in club facts block above
- List segmented into Tiers A–E using clicks, replies, bookings, and purchases from IG — not raw opens (Apple MPP inflates opens by ~40–50%; opens are not a reliable engagement signal)
- Tier E contacts (90+ days no engagement, prior bounce / complaint, unclear permission) suppressed permanently — never included in warm-up
- Segments imported into GHL with correct tags / Smart Lists
- Mailable base size, tier breakdown, and provider split documented in club facts block above
- Domain-family analysis run on cleaned CSV; actual provider split recorded
- Ramp track confirmed against list quality; decision recorded in club facts block
Phase 3 — Template Approval
Full guidance: Email Templates
The Trust Bridge is the first email from the new subdomain. Format matters as much as copy.
- Trust Bridge email built in GHL — lightly branded HTML (small logo with alt text, system fonts, single column, mostly plain text, one link maximum, multipart plain-text alternative included)
- From name and From address match the club's known identity — members must recognise the sender
- Reply-to set to a monitored human inbox; reply is the primary CTA
- LC Email reply routing verified → Conversations: inbound replies land in the GHL Conversations inbox; confirm no setting forwards inbound replies to an external address (if forwarding is set, managers will reply from Outlook and the thread leaves the subdomain identity)
- Reply owner named with a same-day reply SLA:
[Name]— replies must go out from Conversations so they send from the subdomain address - Add-to-contacts phrasing present as a secondary nudge — framed as optional, not as a spam-prevention guarantee
- All GHL merge fields inside the template are correct:
{{contact.first_name}},{{location.name}}etc. — test with a real contact record before sending - Unsubscribe link present and functional in every template
- One-click unsubscribe header (RFC 8058) confirmed active at account level
- No URL shorteners, no attachments, no multiple images in the Trust Bridge or Weeks 1–2 sends
- 2–4 follow-up simple club-update templates ready for the ramp weeks after the Trust Bridge
- Full glossy HTML newsletter format deferred until Weeks 3–4 minimum — the Trust Bridge's job is replies and reputation, not design showcase
- Templates reviewed and approved by client decision-maker
- Template approval date recorded:
[DD Month YYYY]
Phase 4 — Seed-Panel QA
Full guidance: Seed Panel (Diagnostic)
The seed panel is a placement diagnostic and a light one-time nudge on the first 1–3 sends only. It is real and marginal — not a reputation engine.
- Seed panel inboxes confirmed: James's real, years-old Gmail, Outlook, iCloud, and Yahoo addresses — no newly created accounts, no fake farms, no automated tools
- Test send dispatched to seed panel — stagger sends over 2–4 hours to mimic natural behaviour; do not batch simultaneously
- Each seed-panel inbox checked manually within 24 hours:
- Gmail — inbox placement confirmed; authentication headers verified (SPF pass, DKIM pass, DMARC pass)
- Outlook — inbox placement confirmed
- iCloud / Apple Mail — inbox placement confirmed
- Yahoo — inbox placement confirmed
- Actions taken only where email genuinely landed in spam — mark Not Spam, add sender to contacts; do not manufacture signals in the primary inbox
- Actions on seed inboxes varied naturally and staggered: some open only, some reply, some add to contacts — consistent with how these inboxes are normally used
- Tracking pixel and click links resolve correctly
- Unsubscribe link tested and confirmed working
- Any issues logged and resolved before ramp launch
- Seed-panel actions confined to first 1–3 sends only — no ongoing cadence (dormant seed inboxes can trigger a dead-list penalty; AI warming-pattern detection exists)
- Seed-panel QA pass date recorded:
[DD Month YYYY]
Phase 5 — Step 0: Final IG Announcement & One-Off Transition SMS
Full guidance: Step 0: Prime From the Old Platform and SMS Transition Policy
Step 0 is mandatory. Intelligent Golf's infrastructure stays live through cutover. This phase uses IG's established reputation to prime members before the new subdomain sends anything — the single highest-leverage action in the migration.
Final IG broadcast:
- IG broadcast drafted: plain announcement from a named human at the club, using IG's normal sending identity (same From name, From address, and template the club normally uses)
- Broadcast announces the new sending address (
info@mail.[clubdomain.co.uk]) and go-live date; asks members to check their junk folder and mark as safe; add-to-contacts phrased as optional secondary nudge - Broadcast reviewed and approved by client decision-maker
- Broadcast sent from IG 5–7 days before Day 1 GHL Trust Bridge send
- Final IG broadcast date recorded:
[DD Month YYYY]
Member-portal login notice:
- Notice published on the IG member-portal login page: new address and go-live date; keep live from broadcast date through to Day 14 post-cutover
Clubhouse / pro-shop signage:
- A4 notice printed and placed at reception and pro-shop counter; staff briefed; remove after 2 weeks
- QR / vCard posters printed and placed at the pro shop, first tee, and bar — scanning saves the new sending address straight to the member's contacts
One-off transition SMS:
- SMS drafted: strictly neutral service message only — informs members of the new sending address and asks them to check inbox / junk and mark as safe
- SMS contains NO "reply STOP" line and NO promotional content — adding either reframes it as a marketing message and triggers PECR / DUAA 2025 obligations (fines up to £17.5m)
- SMS is a single one-off administrative send during migration — NOT a per-campaign automation and NEVER framed as "you didn't open our last email"
- PECR basis for the SMS confirmed and documented
- SMS approved by client decision-maker
- SMS scheduled / sent date:
[DD Month YYYY — or N/A]
IG rollback insurance:
- Intelligent Golf kept active for the first 1–2 GHL sends to Tier A — minimal overlap only, not a long dual-run; close the overlap once Day 2–3 metrics are clean (complaint < 0.10%, hard bounce < 0.5%)
Phase 6 — Ramp Launch
Full guidance: Ramp Schedule
The shared Mailgun IP is already warm. This phase builds domain and subdomain reputation — not IP reputation.
- GHL Manual Drip Mode configured — target send rate set to the stage-appropriate emails/hour from the ramp schedule; burst sending disabled
- Send times scheduled slightly off the hour (e.g. 09:13, 10:17) to avoid automated-congestion patterns
- Day 1 send: Tier A only, roughly 15% of the active base per ramp schedule (~105 emails for a 700-member club), Trust Bridge email
- Transition SMS fires in parallel with the Day 1 Trust Bridge send (if SMS is included)
- Google Postmaster Tools checked within 24 hours of first send — spam-rate signal recorded; "not enough data" is acceptable for the first 3–5 days
- Mailgun analytics dashboard open — diagnose delivery, bounces, and deferrals here; GHL's in-platform view on custom SMTP shows opens and clicks only
- Day 1 volume and result logged in daily log (Section 3)
- Phase advancement gates checked before any volume increase (see Section 2.7 below)
Phase 7 — Daily Monitoring
Full guidance: Monitoring & Stop Rules
- Named daily monitor confirmed:
[Name] - Monitoring cadence confirmed: daily during the 7–14 day ramp (minimum); weekly once at full volume
- GHL dashboard access confirmed for monitor
- Google Postmaster Tools access confirmed for monitor
- Mailgun analytics access confirmed for monitor
- Alert thresholds understood (see Section 2.8 — Thresholds Reference)
- Daily log format (Section 3) understood; committed to filling one row per sending day
Phase 7.1 — Phase Advancement Gates
Before increasing volume or moving to the next ramp stage, all of the following must be true for 2–3 consecutive clean send days at the current stage:
- Gmail spam complaint rate: < 0.10% — 0.10–0.20% = hold and investigate; > 0.20% = stop all promotional sends before any new volume
- Hard bounce rate: < 0.5% — 0.5–2% = amber / investigate; > 2% = pause new volume; > 3% = stop and re-validate the full list
- Unsubscribe rate: < 0.30% — 0.30–1.0% = watch; > 1.0% = review content and frequency before continuing
- Authentication pass rate: ~100% — any unexplained drop pauses scaling
- Google Postmaster spam-rate signal: Pass (no data = acceptable in first 3–5 days only; Low / Bad = reduce to Tier A and investigate)
- No active blocks or deferrals from major providers (Gmail, Outlook, Yahoo, Apple)
- No DMARC failures exceeding 1% of authenticated volume
If any gate criterion is not met, hold at current volume, log the reason in the daily log, and refer to Monitoring & Stop Rules for the pause and investigation protocol.
Advance on metrics, not the calendar. The default track completes in 7–14 days for a clean list. It takes longer only if a provider shows stress. The 30/60-day fallback is for genuinely messy or stale data — not a safer default.
Phase 7.2 — Thresholds Reference
| Metric | Green | Amber — Review / Hold | Red — Stop & Investigate |
|---|---|---|---|
| Gmail spam complaint rate | < 0.10% | 0.10–0.20% | > 0.20% pause · ≥ 0.30% hard failure — Google / Yahoo reject |
| Hard bounce rate | < 0.5% | 0.5–2.0% | > 2.0% pause new volume · > 3.0% stop + revalidate list |
| Unsubscribe rate | < 0.30% | 0.30–1.0% | > 1.0% review content / frequency |
| Authentication pass rate | ~100% | Any unexplained drop | Drop correlates with volume increase |
| Postmaster spam-rate signal | Pass | No data (days 1–5 only) | Fail / Low / Bad |
| Provider blocks / deferrals | None | Isolated / resolving | Sustained or multiple providers |
| DMARC failures | < 1% of auth volume | 1–3% | > 3% — investigate alignment |
Open rate is not in this table and is not a gate metric. Apple Mail Privacy Protection pre-fetches pixels regardless of whether a human reads the message (~49% of UK opens). Google does not verify third-party open rates, and Gmail's domain/IP reputation dashboard was retired on 30 September 2025. Judge health by spam complaint rate, bounces, blocks, clicks, replies, and real-club conversions.
Phase 8 — Ramp Complete Sign-Off
- Full mailable base reached: Tier A + Tier B + controlled Tier C (and Tier D if the 60-day fallback was used and metrics were consistently green)
- All phase advancement gates met at full volume for 7 consecutive days
- Google Postmaster spam-rate signal stable at Pass; Mailgun delivery rate stable
- DMARC policy reviewed — consider moving from
p=nonetowardp=quarantine; do not change without a test period and client sign-off at each stage - Client decision-maker informed: migration complete; new sending infrastructure fully operational
- Handover to ongoing campaign management schedule confirmed; campaign manager named
- Runbook archived with all daily logs completed
- Sign-off date:
[DD Month YYYY] - Signed off by (Albatross):
[Name] - Signed off by (client):
[Name]
3. Daily Monitoring Log
Fill one row per sending day during the ramp. Continue weekly once at full volume. Pull metrics from Google Postmaster Tools and Mailgun analytics — GHL's in-platform view on custom SMTP shows opens and clicks only; delivery, bounce, deferral, and complaint data must come from Postmaster and Mailgun.
Open rate is recorded for reference only — it is not a gate metric and should not influence advancement decisions. Apple MPP inflates Apple-domain opens significantly; Gmail retired its domain/IP reputation dashboard on 30 September 2025.
| Date | Volume sent | Cumulative total | Gmail spam % | Hard bounce % | Unsubscribe % | Auth pass % | Postmaster signal | Provider blocks / deferrals | Click rate | Reply rate | Decision | Notes / Actions |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause | |||||||||||
DD/MM | Advance / Hold / Pause |
Add rows as needed for 30/60-day fallback tracks or extended post-ramp monitoring.
Fleet log: every migration makes the next one smarter
After each club completes its ramp, record one row in the shared migrations log. The point: defaults stop being research-derived and become field-calibrated.
| Club | List size | Active base | Day-1 % and count | Days to full base | Peak spam % | Peak bounce % | Trust Bridge reply % | Value-capture PS used? | Provider issues | Deviations from SOP | One lesson |
|---|---|---|---|---|---|---|---|---|---|---|---|
[Club] |
- After five clubs, review whether the Day-1 ~15% start and the ~1.5x daily step still match the actuals — recalibrate the SOP if they do not.
- Feed the log into the quarterly re-research pass: field data outranks published guidance.
4. Pause Protocol — Quick Reference
If any amber or red threshold is hit, the same-day pause owner (named in the club facts block) can suspend all sends immediately without waiting for approval. No send continues while a threshold breach is open.
- Pause — suspend all scheduled sends in GHL immediately
- Log — record the trigger metric, date, volume, and time in the daily log
- Diagnose — refer to Monitoring & Stop Rules for investigation steps; check GHL bounce / complaint reports, Postmaster spam-rate signal, Mailgun analytics, and DMARC aggregate reports
- Root cause — identify whether the issue is list quality (bad addresses, cold segment mailed too early), content (spam-trigger language, broken links, missing unsubscribe), authentication failure, or a provider-specific block
- Fix — apply the relevant remedy: re-suppress affected addresses, fix authentication records, revise content, reduce volume tranche
- QA — seed-panel QA pass before resuming (see Seed Panel (Diagnostic))
- Resume — restart at a lower volume than the pre-pause level; advance only when gate criteria are met for 3 consecutive days
A pause and careful recovery is always the right call. A sustained period of bad sends can damage subdomain reputation at the inbox-provider level, triggering filtering or rejection that can take weeks to reverse. Do not restart under pressure to catch up on a campaign schedule.
5. Sign-Off Boxes
Pre-Launch Sign-Off (all phases 0–5 complete)
| Albatross operator | Name: ________________ Date: ________________ |
| Client decision-maker | Name: ________________ Date: ________________ |
| Compliance reviewed by | Name: ________________ Date: ________________ |
| All DNS records verified | - [ ] Confirmed — MXToolbox screenshots saved |
| Seed-panel QA passed | - [ ] Confirmed — inbox placement logged in Phase 4 above |
| Templates approved | - [ ] Confirmed — approval record saved |
| Step 0 IG broadcast sent | - [ ] Confirmed — date: ________________ |
| Portal notice live | - [ ] Confirmed |
| Clubhouse signage placed | - [ ] Confirmed |
Ramp Complete Sign-Off (Phase 8)
| Albatross operator | Name: ________________ Date: ________________ |
| Client decision-maker | Name: ________________ Date: ________________ |
| Final mailable base reached | [n] addresses |
| Ramp track completed | 7–14 day default / 30-day fallback / 60-day fallback |
| Postmaster spam-rate signal at close | Pass |
| DMARC policy at close | p=none / p=quarantine / p=reject |
| Handover to campaign schedule confirmed | - [ ] Yes — campaign manager: [Name] |
6. Page Reference Index
| Topic | Path |
|---|---|
| How the migration works and why it matters | How Warm-up Works |
| Compliance — UK GDPR & PECR, consent, DPA | Compliance |
| Step 0 — final IG broadcast and priming channels | Step 0: Prime From the Old Platform |
| Domain, DNS, SPF, DKIM, DMARC, Postmaster | Operator Runbook |
| Data export, hygiene, segmentation, Tier A–E | Data Prep & Segmentation |
| Template copy, format guidance, Trust Bridge | Email Templates |
| Seed panel — placement diagnostic and protocol | Seed Panel (Diagnostic) |
| Volume ramp, gating algorithm, manual throttling | Ramp Schedule |
| Daily metrics, Postmaster, Mailgun, stop rules | Monitoring & Stop Rules |
| One-off transition SMS and PECR basis | SMS Transition Policy |
UK GDPR & PECR Compliance
Legal framework for every Intelligent Golf to GHL migration — service vs marketing distinction, consent bases, the neutral transition SMS, controller/processor duties, suppression migration, and objection handling.
FAQ
Quick answers to the questions that come up most often during Intelligent Golf to GHL email migrations.