AIO Erosion (Suspected)
A per-query heuristic for AI Overviews impact. Google Search Console
does not let us combine its searchAppearance dimension with the
query dimension, so we cannot prove per-query AIO presence from GSC alone.
Instead, we surface queries with the classic AIO fingerprint and only fire the report when
site-level AIO impressions actually rose in the window.
When the report fires
Two conditions must both be true:
- Site-level AIO ramp. The window is split in half; the second half must either start from zero AIO impressions or grow by ≥25% versus the first half. Otherwise we don't have enough signal to attribute per-query CTR changes to AIO, so the report shows a notice instead of rows.
- Per-query pattern match. The query must show: impressions ±30% (held steady), and CTR drop ≥30% (relative) vs the immediately preceding equal-length window.
How we compute it
- Aggregate every query in the current and prior equal-length windows from
gsc_query_day. - Inner-join on query; keep rows where impressions ≥ 50 in both windows.
- Keep rows where impressions held (within ±30%) but CTR fell by ≥30% relative.
- Compute estimated clicks lost as
max(0, prior_ctr − current_ctr) × current_impressions. - Sort by estimated clicks lost, descending.
How to read each row
- Query — the search term whose CTR collapsed.
- Impressions — current-window total. Stable vs prior is the whole point.
- Prior CTR / Current CTR — the before-and-after that triggered the row.
- CTR Drop — relative drop, negative because CTR fell.
- Estimated Clicks Lost — the upper bound on impact for this query in this window. Sort by this column to triage by upside.
- Avg Position — your impression-weighted position. If you're still ranking the same, a snippet rewrite has the best shot of clawing back clicks.
What to do with it
- Open the top 5 queries in a private browser session and check the SERP — verify AIO is actually present.
- Find the page ranking for each query. Rewrite the title and meta description with a differentiating angle that AIO summaries don't capture: a fresh date, a contrarian take, a specific number, a guarantee, a brand voice.
- Add structured FAQ or HowTo schema where the intent matches — that's how some publishers earn placement inside the AIO and convert it back into clicks.
- Re-check after 2–3 weeks. Rows that drop off the list are wins.
Caveats & limits
- Heuristic, not proof. A query can fit the fingerprint for other reasons — a new competitor, a SERP layout change, seasonal intent shift. Treat rows as strong candidates that need a human SERP check.
- Queries with very low impressions are filtered out (≥50 in both windows). For sites where your top queries sit below this threshold, widen the date range.
- The 30% CTR-drop threshold is conservative. Real-world AIO erosion can be subtler; you'll catch the worst offenders here, not every affected query.
Related reports
- AI Overviews Overview — site-level scorecard and trend.
- AIO-Resistant Pages — pages that held CTR through the same AIO ramp; useful for finding what to copy.
- CTR Underperformers — the broader CTR triage list that doesn't require an AIO ramp.