Client Success
Client Communication Rhythm
SOP: Client Communication Rhythm
Section titled “SOP: Client Communication Rhythm”Last Updated: May 2026 Version: 1.1 Owner: CSM
Purpose
Section titled “Purpose”The monthly report and monthly strategy call are not enough. In Q1 2026 we delivered exactly 0 monthly Loom reports across the active book despite promising the cadence in writing. Several active clients went 8-12 weeks with only operational paperwork emails (LSA forms, GBP nudges, payment chases). One paying client wrote: “We have not received any updates or communication regarding our services in several months … we are reconsidering our use of your services.” Another switched agencies the same week we sent his first Loom.
This SOP exists to make sure no active retainer client goes more than ~30 days without a relational, non-transactional touch from the CSM, on top of the monthly reporting flow.
Every active retainer client (paying month-to-month for ongoing services) is on this cadence. There is no tiered split. The only exclusions are:
- Courtesy / friend / favor relationships that aren’t on a paid retainer. These are inbound-driven only and do not appear in the active retainer list.
- Clients in a paused or cancelled state in clients.json. The monthly task generator skips them.
If you cannot tell whether a client is on the active retainer list, ask the CSM lead before starting cadence work. Do not assume from the GHL active client tag alone — it has been unreliable historically.
The Cadence (per active retainer client per month)
Section titled “The Cadence (per active retainer client per month)”Four touches per month, plus quarterly and per-event additions. Every touch is created as a P5 task in TaskTracker by the monthly generator on the 1st.
| Touch | Day | SOP |
|---|---|---|
| Monthly Loom rank report | by 5th | Monthly Reporting |
| Monthly strategy call | between 10th and 20th | Monthly Reporting |
| Mid-month relational check-in call | between 15th and 22nd | this SOP |
| Wins broadcast (min 2) | throughout month | Monthly Reporting “Monthly Proactive Communications” |
| Quarterly strategy Zoom | months 3, 6, 9, 12 of engagement | this SOP |
The monthly Loom, monthly strategy call, and wins broadcasts are documented in Monthly Reporting. The pieces unique to this SOP are the mid-month relational check-in call and the quarterly strategy Zoom.
The Mid-Month Relational Check-In Call
Section titled “The Mid-Month Relational Check-In Call”This is the touch that was missing in Q1 2026. Above and beyond the reporting cadence.
What this is NOT
Section titled “What this is NOT”- Not a status update on a deliverable
- Not a paperwork chase (LSA form, GBP add-as-manager, license docs)
- Not “checking in to make sure you got my last email”
- Not a retention save call
- Not the monthly strategy Zoom
What this IS
Section titled “What this IS”A 3-5 minute phone call where the CSM asks the client how their business is doing this month, listens, takes a note, and gets off the phone. The point is to be present in the relationship, not to extract anything.
Trigger
Section titled “Trigger”Day 15 of the month. The strategy call has happened (or been scheduled), the report is delivered, and we are now mid-cycle. This is the gap that used to be silent.
CSM. Not delegated to specialists.
Format
Section titled “Format”Default: phone call, voicemail OK.
A real voicemail counts as a completed touch as long as the message is personal (uses the client’s first name, references something specific about their business). A generic “checking in” voicemail does not count. Re-do it.
If the client has SMS DnD off and answers texts faster than calls, fall back to a personal SMS after leaving the voicemail. Email is the last resort and only when SMS or voice would be inappropriate.
Most clients won’t pick up. That’s expected. The voicemail is the point.
-
Pull context (2 min)
- Open the client’s TaskTracker project. Note the most recent thing we delivered or talked about (a rank win, a new page, a question they asked).
- Open their GHL conversation. Note the last inbound from them and any unanswered ask.
- Check the most recent Local Dominator scan. Note one number you can reference (a rank, a heatmap point, a new keyword in top 20).
-
Place the call
- “Hey [first name], it’s [Kyle] over at Tekton. Just calling to check in mid-month, see how things are going on your end. The season’s [ramping / busy / wrapping up] for you guys, right? No agenda, just wanted to touch base. Give me a call back when you have a minute or shoot me a text.”
- If they pick up: ask one question about THEIR business (jobs, pipeline, weather, equipment, hires). Listen. End with “anything you want me to look at on our side?” Do not pivot into upsell or status. Get off the phone in under 5 minutes.
- If you reach voicemail: leave a 20-second message that names them, names something specific, and invites a callback. Do not read a script. Do not use the word “circle back.”
-
Log the touch (within 1 hour)
- Mark the P5 mid-month check-in task complete in TaskTracker.
- Required subtask: “Log call note in GHL” — leave a 1-line note in the client’s GHL conversation timeline so the QA agent can verify the touch.
- Required subtask: “1-line outcome on TT task” — what you said, what they said back if they answered, or “voicemail left.”
-
Follow up if connected
- If they raised something on the call (a complaint, a new business line, a question), open a TaskTracker task for it within 24 hours. Mention them by name. Reply to them in writing same-day so they know it’s on the radar.
Banned moves
Section titled “Banned moves”- Do NOT batch-template these. The May 4 2026 “Heat Maps” email blast that went out to 9 clients (including 2 we thought were cancelled) is the cautionary example. Generic boilerplate reads as automation and is worse than silence.
- Do NOT use this slot to deliver bad news, ask for documents, or chase payment. Those are operational touches and they don’t substitute for the relational one.
- Do NOT skip a client because “they always ghost.” A silent client is the signal we missed. The call is what catches it.
- Do NOT call a client by the wrong name. Verify in TaskTracker / GHL before dialing. (Ref: Feb 11 2026, “Hi Jason” sent to Joel Post.)
Quarterly Strategy Zoom
Section titled “Quarterly Strategy Zoom”The monthly strategy call covers the past month’s report. The quarterly Zoom is bigger: business direction, scope changes, new opportunities. 60-minute slot.
Trigger
Section titled “Trigger”Months 3, 6, 9, 12 of the engagement (rolling per-client, not calendar quarters). CSM schedules during the monthly strategy call of the prior month.
Agenda (CSM prepares 1-pager in advance)
Section titled “Agenda (CSM prepares 1-pager in advance)”- Where we were 90 days ago (rank snapshot, heatmap snapshot, lead volume baseline)
- What we shipped (pages, citations, GBP changes, LSA tuning, content)
- Where we are now (rank delta, heatmap delta, lead delta)
- What we’re seeing in the data (geographic patterns, keyword opportunities, competitor moves)
- What we recommend next 90 days (priorities, new scope considerations, tier-up conversations)
- Open questions to client (only legitimate business-context questions per the Loom Ranking Review Script rules: new service areas, new services, anything winding down)
CSM hosts. SEO Specialist attends. Nick attends for clients > $2k/mo or where strategic scope changes are likely.
Definition of done
Section titled “Definition of done”- Zoom held, recorded in Fathom
- Recording shared with client + posted to TaskTracker
- Action items captured in TaskTracker with owners + dates
- Next quarterly scheduled before the call ends
Silent-Client Handling
Section titled “Silent-Client Handling”If a client stops responding, do not skip them. Do not paper-over with bulk emails. Follow Unresponsive Client Playbook for the full escalation ladder, including when to pause work, when to escalate to Ops Lead or Nick, and when to consider offboarding.
The mid-month check-in call still goes out during silent stretches. A voicemail to a silent client is what often catches the disengagement before it becomes churn.
QA Verification (Automated)
Section titled “QA Verification (Automated)”Every CSM cadence task that gets marked complete is audited by the desk:csm-qa agent before the green check sticks.
How it works
Section titled “How it works”- Kyle marks a P5 task complete in TaskTracker.
- The QA agent triggers and queries GHL for any outbound call or SMS to that client’s phone number in the past 7 days.
- Three outcomes:
- Connected call with recording: agent transcribes, checks for relational tone (not a paperwork chase), posts an audit note on the task.
- Voicemail-only call (short outbound, ~20-40s, no recording): agent verifies a call attempt is logged, posts confirmation.
- No call or SMS found: agent leaves the task in
needs-verificationstate and pushes a Telegram alert to Nick: “Kyle marked [client] mid-month check-in complete but no GHL call/SMS found in past 7 days.”
The May 4 2026 catch-up batch was marked complete on the dashboard but had zero proof of relational touch. The QA agent prevents that pattern: a green check is only valid if GHL shows the touch actually happened.
The same pattern audits monthly Loom report tasks (verifying a loom.com URL was actually sent) and quarterly Zoom tasks (verifying a Fathom recording exists).
Logging Tags
Section titled “Logging Tags”Every cadence task carries a tag matching its type so the audit script can verify coverage without trusting memory.
| Touch | TaskTracker tag |
|---|---|
| Mid-month check-in call | csm-checkin-[YYYY-MM] |
| Quarterly Zoom | csm-quarterly-[YYYY-MM] |
| Monthly Loom rank report | csm-loom-[YYYY-MM] |
| Monthly strategy call | csm-strategy-[YYYY-MM] |
| Wins broadcast | csm-win-[YYYY-MM] |
Audit query (Postgres, run weekly by CSM lead):
-- Active retainer clients with no csm-checkin tag for the current month, after day 22SELECT p.name AS clientFROM projects pWHERE p.status = 'active-retainer' AND p.id NOT IN ( SELECT DISTINCT project_id FROM tasks WHERE tags @> ARRAY[CONCAT('csm-checkin-', TO_CHAR(NOW(), 'YYYY-MM'))] AND status = 'completed' ) AND EXTRACT(DAY FROM NOW()) > 22;If a client shows up in this query after day 22, the CSM has missed the cadence and must complete the touch before EOD on day 25.
Track monthly. The CSM lead reviews these in the weekly 1-on-1.
| KPI | Target | Owner |
|---|---|---|
| Mid-month check-in coverage | 100% by day 22 | CSM |
| QA-verified completion rate | 100% (no needs-verification tasks at month-end) | CSM |
| Quarterly Zoom coverage | 100% of clients due | CSM |
| Mis-named client incidents | 0 | CSM |
| Generic boilerplate touches | 0 | CSM |
For wins broadcasts, satisfaction tracking, and report-cycle KPIs see Monthly Reporting KPIs.
Related SOPs
Section titled “Related SOPs”- Monthly Reporting — Loom rank report, monthly strategy call, wins broadcast cadence
- Monthly Loom Ranking Review Script — banned phrases and tone rules
- Unresponsive Client Playbook — silent-client escalation ladder
- Onboarding — P0 onboarding sequence including 30/60/90 post-go-live beats
- Offboarding — graceful exit when escalation fails
Version Control:
- v1.0 (2026-05): Created after Q1 cadence audit revealed 0 monthly Looms shipped despite the cadence being promised in writing Jan 6 2026, plus 1 explicit pre-cancel email and 1 confirmed agency switch. Initial draft included 4-tier service segmentation and a parallel silent-client escalation ladder.
- v1.1 (2026-05): Stripped service-tier table after Nick confirmed the cadence is universal across active retainer clients. Removed duplicate silent-client escalation (replaced with link to Unresponsive Client Playbook). Moved 30/60/90 post-go-live beats into Onboarding as the post-P0 tail. Cross-referenced wins broadcast and monthly cadence pieces to Monthly Reporting. Added QA Verification section describing the
desk:csm-qaagent audit pattern.