The problem
Brand-term organic clicks down nearly half year over year while reported average position went up. Two stories were already running: SEO is failing, and AI is eating search. Each came with an expensive fix. Organic search was a third of traffic and two-thirds of attributed ecommerce revenue, an eight-figure exposure, so guessing was not an option.
The complication nobody had priced in: the same query now returns five different page layouts depending on intent, and the first organic result lands anywhere from 200 to 1,100 pixels down the phone screen. Rank 1 on one layout is below the fold on another.
The method
- Sessions are ground truth. Search console, the keyword rank panel, and ads auction data are evidence weighed against them, not the other way around.
- Seven reasons, one pool. Every lost session is assigned to exactly one reason and the seven add back to the total. Each reason has its own instrument: category search volume for demand, keyword-level AI Overview exposure, blue-link rank, store-listing clicks with the Directions button as a control, page position of the best result of any type, an exact per-keyword remainder for lost clicks, and the count of pages still earning a click.
- Index decomposition, not regression. A regression's intercept eats anything that hits every keyword at once, which is exactly what a layout change does. On the same variable the index recovered the full effect; the regression saw 10 to 40% of it.
- Try to kill the answer. A named algorithm update refuted on timing. A difference-in-differences result computed, found confounded, withdrawn. Google Trends rejected as a demand instrument because it read the opposite sign of every other count. The lost-clicks band checked against an outside zero-click series: same shape, r of about 0.8, and our band reads about 0.6 times the outside level, so it is conservative, not inflated.
What it showed
- Local pack to store pages, about 30%. Directions clicks from the map listing rose 11% year over year while sessions arriving through the listing's Website button fell 51%. The routes changed, not demand: the Website button disappeared from the pack, then came back third of five.
- Search demand, about 24%. A basket of category terms with none of our own brand in it. Fewer people searched for mattresses.
- AI Overview exposure, about 20%. On roughly 35% of non-brand impressions now versus 2% at baseline, with about a 50% click-through penalty where it shows. Two instruments agree on the exposure figure within 1.3 points.
- Lost clicks excluding AI Overviews, about 14%. Answers on the page that are not an AI Overview. The outside zero-click rate for our query mix went from 42% to 51%.
- Reduction in pages, about 7%. Pages earning at least one click went from 1,166 to 84 over four years. What went was the tail.
- Blue-link position, about 4%. Our real rank among blue links moved 6.19 to 6.23, flat. The best result of any type above us moved 4.04 to 5.21. Same rank, more stacked above it.
- Blue-link rank, 0.7%. The head brand term, one-fifth of all web clicks, held rank 1 for 17 consecutive periods while its clicks fell 46%.
| Module | Aug–Oct 2024 | Aug–Oct 2025 | May–Jul 2026 | |||
|---|---|---|---|---|---|---|
| appeared | we appeared | appeared | we appeared | appeared | we appeared | |
| Blue links (web results) | 100% | 88% | 100% | 89% | 100% | 79% |
| Local pack (store listings) | 25% | 12% | 20% | 4% | 36% | 10% |
| Free product listings | 69% | <1% | 68% | 3% | 68% | <1% |
| AI Overview | 2% | 1% | 17% | 6% | 35% | 10% |
| People Also Ask | 95% | 7% | 92% | 8% | 30% | 2% |
| Video | 30% | 0% | 25% | 0% | 28% | 0% |
| Image | 31% | 2% | 30% | 2% | 28% | 1% |
| Carousel | 8% | <1% | 19% | 1% | 16% | <1% |
| Answer box | 11% | <1% | 8% | <1% | 2% | <1% |
The AI story failed the same test on the brand side. AI Overviews never rendered on the head brand term in either year. AI-assistant referrals were 0.02% of brand organic. Paid cannibalization failed too: ad depth above organic was flat, and when spend was cut, organic did not move.
What changed
- Rank demoted from the headline KPI. Click-through tracked on its own.
- Recovery money pointed at store listings, the shopping feed, and owned demand, not at chasing AI-search optimization.
- Two dashboards built on the wrong cut of the data retired. One by-surface view replaced them and refreshes monthly.
- A leader asked to see it as an ordered, rule-by-rule waterfall, the way channel-processing rules work. That view shipped two days later as a second dashboard.
- The exec Q&A shipped with every claim tagged measured, inferred, or not established. That tagging, more than any number, is why the answer survived the room.
- Revenue exposure booked gross, not incremental, so nobody planned against an inflated recovery.
Technical notes, for the people who will ask
Decomposition. Log-mean Divisia (LMDI-I) with base-year weights, decomposing sessions against a period-matched prior-year baseline over 22 fiscal periods. Reasons are all-negative slices of the loss pool, each bounded by the size of its own surface; any remainder is proportioned across the seven by magnitude (median factor 1.01). The chart build asserts that baseline, sessions, and change reproduce the pool exactly, and fails otherwise.
Instruments. Demand: a basket of category terms, chained across a rank-tool baseline change, weighted to the non-brand share of the pool. AI Overviews: keyword-level exposure times a click-through penalty fitted inside the same keywords (~400 keyword-months). Rank: elasticity fitted on the same keywords and confirmed by a 48-configuration grid landing on the same value. Local pack: the Website button's yield measured against Directions, the one action present in all 29 observed pack layouts. Lost clicks: the exact per-keyword remainder after demand, rank, and position.
Validation. Two independent counts of web traffic agree within 4% in each of three years. Two instruments agree on AI Overview exposure (36.6% vs 35.3%). An outside zero-click series matches the lost-clicks band in shape (r about 0.8) and reads above it, not below. Folding the whole remainder into lost clicks would overshoot that series 1.6 times and drop the correlation to 0.4, which is why it is not done.
Why brand and non-brand are not split. The split is a landing-page rule wearing an intent name: a third of brand searches land on non-brand pages, and up to 37% of clicks on brand-labelled pages come from commercial searches. The model works by surface instead.
Next in this portfolio: the semantic layer this analysis stood on, the dashboard suite, and the brand-search budget question. Or back to all work.