Every agency owner has had this email. It lands on a Tuesday, usually from the client who was thrilled four months ago: "Can we get on a call? I'm not sure SEO is working for us."
The instinct is to fire back a deck full of impression graphs. Don't. The "SEO isn't working" client conversation is not a data problem — it's an expectation problem wearing a data costume. Handled badly, you lose a retainer. Handled well, it's often the call where the relationship gets stronger and the scope gets bigger.
Here's the process I've used to save roughly four out of five of these conversations.
First: figure out what actually triggered the email
Clients almost never send that email because they studied a rankings report. Something happened in their world. Before you prepare anything, find out what.
In my experience the trigger is one of five things:
- A bad sales month. Pipeline dropped, the CEO asked where leads come from, and marketing spend got audited. SEO is the line item with the fuzziest attribution.
- A competitor got visible. Someone on the sales team said "we keep seeing [Competitor] everywhere" and the client googled one term, saw them ranking, and panicked.
- A new stakeholder. A new CMO, head of growth, or agency-shopping consultant entered the picture and needs to justify their existence.
- Contract renewal is near. Month 11 of a 12-month agreement produces more skepticism than month 5.
- They genuinely read a report they didn't understand. You sent 14 charts and no narrative.
Your reply to that email should be short and non-defensive: "Absolutely — let's book 45 minutes. So I come prepared, what's changed on your end recently? Are leads down, or is this about a specific competitor or keyword?"
That one question does more work than any dashboard. If the real issue is a bad sales month, a traffic-growth slide will make you look tone-deaf.
Don't take the call blind — run a 90-minute diagnostic
Before the meeting, do an honest audit of your own account. Not a client-facing audit. A "would I keep paying us?" audit.
1. Check your own delivery record
Pull the last 6 months of work. How many hours did you actually bill versus the retainer? Did the content calendar slip? How many briefs shipped versus planned? This is where agencies get caught out — about a third of the time I've looked at a struggling account, the real problem was that we quietly delivered 60% of the scope because a senior strategist got pulled onto a bigger client.
If you can't answer that question in ten minutes, that's a separate problem. Agencies running retainers need time and deliverable tracking tied to the client, not scattered across a generic task board — it's the main reason teams move off tools like Asana or ClickUp once retainer volume grows.
2. Segment the traffic properly
"Traffic is flat" is almost never true at the segment level. Split it:
- Branded vs. non-branded queries (GSC regex filter)
- Pages you've worked on vs. legacy pages
- Commercial-intent pages vs. blog
- Mobile vs. desktop
A typical finding: branded search fell 18% because the client cut paid brand spend, while the 22 pages you optimised grew non-branded clicks 61%. Same flat line at the top. Completely different story underneath.
3. Find the honest blockers
List what's genuinely holding results back, including the things that are the client's fault. Common ones: dev tickets sitting unmerged for 11 weeks, legal rewriting every piece of content into mush, no internal linking because the CMS doesn't allow it, product pages that haven't changed since 2019.
Also check whether you have self-inflicted problems — keyword cannibalization from publishing three overlapping posts, or content decay on older pages you stopped maintaining. Better you find those than the client's new consultant does.
The structure for the actual call
Run it in four parts. Resist the urge to open with your slides.
Part 1: Let them talk (10 minutes)
Open with: "Before I show you anything, tell me what 'working' would look like for you right now. Be specific — what number, by when?"
Then shut up and take notes. Half the time the answer reveals a mismatch you can fix on the spot: they wanted 30 qualified demos a month and you've been optimising for blog traffic because that's what the original brief said.
Part 2: Show the honest picture, bad news first
Lead with what hasn't worked. "Three things aren't where I want them. Our product category pages haven't moved — I think the competition there is out of reach without link acquisition we're not funded for. Second, we lost two months on the site migration. Third, our blog traffic is up but converting at 0.4%, which is too low."
This is counterintuitive and it works. Clients already suspect something is wrong. If you name it first, your good news becomes credible. If they name it first, your good news sounds like spin.
Part 3: Show leading indicators and segmented wins
Now bring the data — but tie every metric to money.
Instead of "average position improved from 14.2 to 8.6," say: "These 11 commercial pages moved from page two to positions 5-9. At your current close rate and £3,400 average deal, that's roughly £41k in pipeline we can attribute to organic over the last quarter, up from £12k."
If you need a framework for assembling this, the before/after approach to proving SEO results covers the exact comparisons to build — page-level, query-level, and conversion-level, with matched date ranges.
Part 4: Propose a changed plan, not a defence
End with a decision, not a plea. Give them a 90-day plan with three to five specific commitments, dates, and who owns what — including their side.
Example: "Next 90 days: we kill the top-of-funnel blog entirely, rebuild 8 bottom-funnel service pages, and run a digital PR push for 15 links to the category page. You need to get us dev time for the schema fixes by the 20th and approve copy within 5 working days. If organic demo requests aren't up 40% by [date], we restructure or you walk with no penalty."
That last sentence is scary to say and it closes renewals. Confidence reads as competence.
Reframes that actually land
"SEO is a compounding asset, PPC is a rental." Show them cost-per-acquisition from organic versus their Google Ads CPA. If organic is £140 and paid is £620, that's the whole argument.
"Rankings aren't the product. Qualified demand is." Move the conversation to demos, calls, and revenue early and keep it there permanently.
"Here's what stopping looks like." Pull a real example — a previous client who paused and lost 55% of organic sessions in seven months. Not a threat, just the physics of the channel.
When "SEO isn't working" is actually true
Sometimes it is. Be able to recognise it:
- The market has 40 searches a month and you're already ranking #1 for all of them.
- Their product has no search demand — a genuinely new category.
- Domain authority gap is insurmountable at the current budget and they won't fund links.
- The site is a JS nightmare and dev will never fix it.
In these cases, say so and propose something else: paid social, partnerships, a smaller maintenance retainer. Agencies that tell clients to stop spending on SEO get referrals. Agencies that milk a dead channel get bad reviews.
Prevent the conversation entirely
Most of these calls trace back to onboarding. If you set a realistic timeline in writing in week one, define success as a specific business metric, and send a monthly narrative (not just charts), the panic email mostly stops arriving. A solid client onboarding checklist is the cheapest retention tool you own.
The other half is visibility. Clients who can see work moving — phases, hours logged, deliverables shipped — ask "is this working?" far less than clients who get silence for 30 days and then a PDF. Whether that's PeakKR or something else, the client-facing view matters more than the internal one.
Your checklist for the next one
- Reply within 4 hours, non-defensively, and ask what specifically changed
- Book 45 minutes — never handle this over email
- Audit your own delivery: hours billed vs. scope, deliverables shipped vs. planned
- Segment traffic: branded/non-branded, worked/legacy, commercial/informational
- List honest blockers including client-

Nick Quirk

