A client called last week. Their complaint was specific: the named experts on their team had been losing search visibility on Google — they listed eleven names, all branded entities the business defended for years. Traffic was down too. Could I look at it?
An hour into the data, I had the first answer: every one of those eleven names had been ranking #1 in organic Google search for the past nine months. Stable. Not one had slipped. The position tracking was uncontested.
So what were they seeing?
Three days later I had the full picture. The complaint was real, the diagnosis was wrong. It wasn’t a ranking loss. It was three different problems wearing one mask — three layered failures, each requiring a different remedy. If their previous agency had taken the complaint at face value, they would have spent three months fixing the wrong thing.
Here are the eight lessons I took from the investigation. After them, the toolkit argument: why this kind of work is impossible without both a data aggregator and a competitive-intelligence platform — and why running with only one of the two is the most common, most expensive mistake I see in mid-market marketing operations.
1. The client’s complaint is data, not a conclusion
Anyone who says “we’ve lost our SEO position” is reporting something real. They’re not making it up. But the cause they assign to that experience — that’s their hypothesis, not yours.
Human perception works at the visual level. Google’s results page over the last eighteen months has been gutted of organic real estate above the fold. Sponsored ads, AI Overview, Map Pack, “People also ask,” knowledge panels — all of it now sits above the first organic result. A user who once saw their own brand at the top of the page now scrolls three screens to find it. Their experience: “we’ve lost #1.” The measurement: #1 is intact.
Both are true. They describe different things.
Take the complaint seriously as a signal. Take it lightly as a diagnosis. Your job is to surface the actual mechanism behind the symptom — not to inherit the client’s interpretation.
2. If a position-tracking project exists, use it first
If the client (or you) already runs a Semrush Position Tracking campaign, those keywords are what the business actually monitors. Ad-hoc keyword pulls or domain-level audits are two notches lower in evidentiary value.
In this case, the project tracked 100 keywords over nine months: weekly history, plus daily for the last sixty days. It included all eleven branded entity names plus the brand keyword variants. There was no better dataset I was going to find.
The verdict from that single report: 95 of 100 keywords stable or improved. Five marginally worse than baseline. None of the five were branded entities.
The diagnosis was effectively decided by that one report. Everything after was confirmation, not investigation.
3. Position, visibility, and traffic are three different things
The market uses these words as synonyms. Client complaints, press articles, junior-consultant slide decks — all conflate them. They are not the same metric, and the distinction is the most important diagnostic step you’ll do in this kind of work.
Position = where you rank in the organic list (1, 2, 3...)
Visibility = the probability the user actually notices your result, weighted by SERP features and CTR curves
Traffic = how many clicks land on the page
In 2026, the typical pattern is: position stable at #1, visibility down 20-25% (because ads and AI Overview push the result below the fold), traffic down 40% (because AI Overview consumes the click before it leaves Google).
When a client says “we lost our SEO position,” they almost certainly mean traffic or visibility — not position. Your first ten minutes of investigation should split the three. They each have different fixes.
4. Industry context is mandatory
Before you tell anyone “your SEO got worse,” pull at least three competitors’ traffic curves over the same window. The story can flip entirely.
In this case the picture was:
Client: -40%
Competitor A: -54%
Competitor B: -67%
Competitor C: -2% (held)
Three of four peers lost more than the client. The fourth held — because their content footprint was service-page driven, not symptom-blog driven, and the AI Overview rollout doesn’t eat service pages the way it eats blog explainers.
So the story isn’t “your SEO is broken.” It’s “your industry’s content model is in transition, you’re losing slightly less than average, and the survivor in the category is doing X.” That’s a fundamentally different conversation, with a fundamentally different recommendation.
If you only look at the client’s own data, you’ll either flagellate them unfairly or reassure them unfoundedly. Neither helps.
5. Backlink IP/TLD clustering is a spam signature
When the backlink count crashes, look at the surviving referring domains’ IP addresses and TLDs. If you find twenty or thirty subdomains pointing to a single IP, or a cluster of .top, .party, .mom, .cfd, .sbs, .monster TLDs, you’re not looking at organic link decay. You’re looking at the residue of a previous private blog network.
In this case the backlink profile had collapsed -94% from peak (some 6,300 links → 376). The 376 survivors were dominated by:
~30 blogspot subdomains from a single IP, with auto-generated names matching a
*-like.blogspot.compatternA Moldovan cluster on a single IP across a dozen spam TLDs
A French cluster doing the same with different TLDs
About 15 actually legitimate domains in the client’s home market
The implication is unambiguous: a previous SEO engagement built (or bought) a PBN. Google has been quietly devaluing it for eighteen months. The traffic decay you see now is the lagging consequence of authority that was never real.
This finding changes the remedy. Filing a disavow file is necessary but insufficient — disavowing fake links doesn’t restore real ones. The recovery requires a separate, longer-horizon link-building program.
6. LLM extraction hallucinates verifiable values — verify with raw grep
I learned this one the expensive way during this investigation. I asked an LLM-powered scraping tool to extract the canonical URL from a key page using its jsonOptions schema-extraction feature. The LLM returned a URL with a typo — an extra letter in one of the slug words — that simply does not exist on the live site.
If I’d trusted that output, I would have told the client “your canonical is broken, fix it” — and looked foolish when their developer pulled up the actual page source.
The lesson generalizes: when you need a verbatim, verifiable value — a canonical URL, a schema field’s exact contents, a meta tag’s literal text — don’t extract with an LLM. Pull the raw HTML and grep. Regex doesn’t hallucinate.
LLM extraction is excellent at categorization, summarization, and fuzzy pattern-recognition across messy text. It is unreliable at returning specific values you’ll later be held to. Match the tool to the task.
7. Discovery, not pronouncement — when new data arrives, append a delta
On day one I wrote an executive summary in five sections. On day two, new data — the position-tracking report — refuted one of my own framing claims from day one.
The temptation: rewrite yesterday’s summary, hide the contradiction, present a clean story.
The discipline: don’t. Write a delta document. Mine became 05_DELTA_position_tracking_evidence.md. The earlier section stays. The new finding sits next to it, dated, with its own evidence. The reader (and you) can see how the thinking evolved.
Two reasons for this. First: clients trust the practitioner who corrects themselves visibly more than the one who pretends to be infallible. The correction is the credibility. Second, and more important to your own future work: if you erase the original claim, you lose the metadata about why you believed it at the time. Your future self will look back at a similar case and want to know what made you initially get it wrong. That information is only preserved if the original framing remains in the record.
The map is not the conclusion. The map is the trace of the thinking. Keep the trace.
8. The deliverable layer needs two passes
The output of an investigation is only as good as the language carrying it. If you write client-facing material in the modern hybrid of consultant-speak and AI-generated stock phrasing — the world recognizes it instantly. The reader doesn’t think “this is a professional”; they think “this is a template.”
Two passes:
Voice rewrite by an explicit style rubric. For me, this means: no “at the end of the day,” no “differentiation that compounds,” no “leverage the framework,” no “actionable takeaways.” Active verbs over nominalizations. One thought per sentence. Native idioms over logical connectors.
Grammar/voice verification by a second pass — ideally a human reviewer or, in my case, a specialized grammar-checker agent that flags the patterns I missed. The first pass moves the prose; the second pass catches what slipped through.
This matters more than its description suggests. The deliverable is the product. If the language is generic, the diagnosis reads as generic — even when it’s not.
The toolkit argument: why one platform isn’t enough
I want to spend some time on this, because it’s the part of the playbook most agencies and in-house teams get wrong.
The investigation above was impossible to do with only one data source. It required two distinct planes of data, and any practitioner who tries to operate on only one plane will misdiagnose the same kind of case I just walked through. Here’s why.
Plane one — first-party data, aggregated
This is what happened on your properties. Sessions, clicks, impressions, conversions, ad spend, revenue. Sourced from GA4, Google Search Console, Google Ads, Meta Ads, Shopify, your CRM. In a serious operation, all of it lands in a data aggregator like Databox so you can see twenty metrics in one dashboard instead of opening five tabs and exporting CSVs.
What this plane tells you:
Did the traffic actually decline? (GA4 organic sessions, week-over-week)
Did rankings move, or did clicks move? (GSC impressions stable + clicks dropping = CTR collapse, not rank loss)
Did a paid campaign get paused? (Ads spend zero on dates the traffic dipped — you’d be surprised)
Did the loss show up in revenue? (Shopify / CRM dollar figures)
Are conversion-quality clicks down, or just impression-quality clicks? (assisted conversions vs first-touch)
Without an aggregator, you can answer all of these — but it takes you four hours instead of fifteen minutes, and you’ll skip the questions that need a side-by-side view across data sources to even ask. The aggregator is not a luxury. It’s the difference between “we have a hypothesis in one sitting” and “we’ll get back to you with the data next week.”
Plane two — third-party data, the SERP and the competitor set
This is what your customer experienced on Google, and what your competitors did during the same window. Sourced from a competitive-intelligence and CX platform — Semrush in our case, but Ahrefs or SimilarWeb fill similar roles.
What this plane tells you:
What did the customer see when they searched your name? (SERP-feature presence, ad density, AI Overview, Map Pack)
Did your rank actually move? (position tracking, weekly history)
Did your peers lose, hold, or grow? (competitor traffic curves)
Is your authority foundation intact? (backlink profile, referring domains, anchor distribution)
Who is bidding on your branded queries? (paid SERP intelligence)
What keyword universe do you rank for, and how is it changing? (organic keyword counts over time)
The customer’s experience of search is third-party data. GA4 will tell you that 1,000 sessions disappeared. It will not tell you why. The SERP screenshot tells you why — but you can’t get the SERP from your own analytics. You need a tool that goes to Google as a user and brings back what the user saw.
Why one alone fails
If you only have first-party data: you see the symptom (traffic down 40%) but you cannot see the mechanism (paid hijack of branded names, AI Overview eating click-through, competitor displacement). Your recommendation will be vague — “improve content quality” — because you can’t see the actual cause.
If you only have third-party data: you see the SERP changes but you don’t know whether they hurt you, helped you, or had no impact at all. Your recommendation will be over-confident — “AI Overview is killing you” — even if your traffic actually held because half the lost clicks went to a longer-tail page that’s now converting better.
The diagnostic moves the agency runs in this kind of investigation — segmenting CTR decay from rank loss, linking traffic timing to algorithmic events, distinguishing structural decline from temporary noise — none of them work without both planes. Trying to run a serious investigation with only one is like trying to diagnose a fever without taking either the temperature or the medical history. You can guess. You can’t know.
The cost argument that keeps mid-market teams on a single platform — “we already pay for X, why also pay for Y” — is the wrong frame. The right frame: an investigation done with one plane will be wrong about 30-40% of the time, and the cost of being wrong on a six-figure marketing decision dwarfs the second subscription.
The pattern that emerged
Stepping back, the meta-finding from this engagement is simple: the client’s complaint hid three orthogonal problems, all real, each with a different remedy.
If the agency had heard “we lost rankings” and proposed a generalized SEO project, they would have spent six figures on the wrong fix. The complaint was a single sentence. The actual diagnosis required three distinct workstreams — at three different time horizons, with three different price tags.
The honest part
For most of my career I assumed that when a client raised a complaint, the complaint was the problem. Years of experience taught me otherwise. The complaint is the client’s perception of the problem — valuable signal, sensitive, worth taking seriously. The diagnosis is mine, and isn’t transferable to the person describing the symptoms. A doctor doesn’t write the chart in the patient’s words.
A colleague last year spent two weeks on an “SEO rebuild” the client requested. By the end of week two it turned out the traffic decline was from an unrelated paused paid campaign — the client hadn’t mentioned it. Two weeks of work, a five-figure invoice, and the actual problem stood exactly where it had started.
Take the complaint seriously. Don’t outsource the diagnosis.
Next week I’ll write about the visibility-space metric — what to track instead of pure rank in 2026, and how it changes the way you compute customer-acquisition cost when AI Overview consumes the click before it leaves the SERP.

