Google AI Overviews and CTR: How to Measure & Respond (2026)
Are Google AI Overviews stealing your clicks? What Pew's 68,879-search study found, how to spot CTR loss in your own Search Console data, and what to change.
Quick answer: Yes, AI Overviews reduce clicks on many queries. Pew Research Center found that people clicked a traditional result in 8% of visits when an AI summary appeared, versus 15% when it didn't, and clicked a link inside the summary in just 1%. The effect is concentrated on informational queries. Measure it in your own Search Console data by finding queries whose CTR fell while their position held, then shift effort toward being cited and toward queries where people still click.
"AI Overviews are stealing my traffic" is a common complaint, but the size of the effect varies a lot by query type. Before changing your strategy, measure what's actually happening on your own queries. This guide summarises the best independent data, gives you a script to analyse your Search Console exports, and lists responses grounded in Google's own documentation.
What the Independent Data Shows
The most transparent study so far is from Pew Research Center, which tracked the real browsing of 900 U.S. adults across 68,879 Google searches in March 2025 (Pew Research Center, July 2025):
| Behaviour | With an AI summary | Without |
|---|---|---|
| Clicked a traditional search result | 8% of visits | 15% of visits |
| Clicked a link inside the AI summary | 1% of visits | — |
| Ended the browsing session after the results page | 26% | 16% |
So clicks roughly halved on pages with a summary, and the summary's own source links captured very little. Pew's panel is U.S.-only and Google's features keep changing, so treat the numbers as direction, not a constant.
Google's position is different in emphasis. Its AI features documentation says that "when people click from search results pages with AI Overviews, these clicks are higher quality (meaning, users are more likely to spend more time on the site)". Both can be true: fewer clicks, more engaged ones.
Measure It on Your Own Site
Search Console doesn't label which impressions had an AI Overview; AI feature traffic is reported inside the normal Performance report under the "Web" search type. You can still spot the pattern: impressions steady, position steady, CTR down. A ranking loss explains a CTR drop; a stable ranking doesn't.
Export Performance → Queries for two comparable periods (for example the same three months a year apart), then run:
"""Find queries whose CTR fell while rankings held: the AI Overview / SERP-feature pattern.
Export Performance > Queries from Google Search Console twice (e.g. the same
3 months this year and last year, or two consecutive periods) and compare:
python3 ctr_erosion.py before/Queries.csv after/Queries.csv [min_impressions]
Flags queries with enough impressions in both periods, a position that didn't
get worse by more than 1.0, and CTR that fell by 30% or more.
"""
import csv, sys
def load(path):
rows = {}
with open(path, newline="", encoding="utf-8-sig") as f:
for r in csv.DictReader(f):
q = (r.get("Top queries") or r.get("Query") or "").strip()
if not q:
continue
rows[q] = {
"clicks": int(r["Clicks"]),
"impr": int(r["Impressions"]),
"ctr": float(r["CTR"].rstrip("%") or 0) / 100,
"pos": float(r["Position"]),
}
return rows
def main(before_path, after_path, min_impr=100):
before, after = load(before_path), load(after_path)
flagged = []
for q, a in after.items():
b = before.get(q)
if not b or b["impr"] < min_impr or a["impr"] < min_impr or b["ctr"] == 0:
continue
held = a["pos"] <= b["pos"] + 1.0
drop = (b["ctr"] - a["ctr"]) / b["ctr"]
if held and drop >= 0.30:
lost = round(a["impr"] * (b["ctr"] - a["ctr"]))
flagged.append((lost, q, b, a, drop))
flagged.sort(reverse=True)
print(f"{len(flagged)} queries lost CTR without losing rank (sorted by clicks lost):\n")
print(f"{'query':<40} {'pos':>11} {'CTR':>15} {'~clicks lost':>13}")
for lost, q, b, a, drop in flagged[:25]:
print(f"{q[:40]:<40} {b['pos']:>5.1f}->{a['pos']:<5.1f} {b['ctr']:>6.1%}->{a['ctr']:<6.1%} {lost:>13}")
if __name__ == "__main__":
main(sys.argv[1], sys.argv[2], int(sys.argv[3]) if len(sys.argv) > 3 else 100)Example output (illustrative export):
2 queries lost CTR without losing rank (sorted by clicks lost):
query pos CTR ~clicks lost
what is ttfb 1.8->1.6 28.0%->11.4% 348
website audit 9.0->9.2 2.0%->0.8% 6Then search the flagged queries yourself (signed out, in the target country). If an AI Overview appears and answers the question, you've found the cause. A query whose position fell more than a place is excluded, because a ranking loss already explains its CTR drop.
How to Respond
1. Be eligible to be cited
Google says that to appear as a supporting link, "a page must be indexed and eligible to be shown in Google Search with a snippet", and that "there are no additional requirements … nor other special optimizations necessary" — no special schema or AI text files. So the basics decide eligibility: indexable, crawlable, not blocked from snippets.
2. Lead with the answer
Put a direct, self-contained answer of 40–60 words under the main heading and under key H2s. It's easy to quote and still gives readers a reason to continue to the detail. See how AI answer engines pick sources.
3. Publish what a summary can't replace
Original data, tools, calculators, templates and step-by-step code survive summarisation because the reader needs the artefact, not just the fact. This blog's own data studies follow that rule.
4. Rebalance toward queries that still click
Comparisons, product and pricing research, tutorials with code and "near me" intent tend to need a click. Shift content investment away from one-line definitions toward those.
5. Decide what you're willing to show
If a page's value is the answer itself, Google's nosnippet, data-nosnippet and max-snippet controls limit what appears in AI features. The trade-off: limiting snippets also limits how you appear in regular results.
6. Measure what matters
With fewer but more engaged clicks, track conversions and engaged sessions from organic search, not clicks alone.
How BugViso Checks AI Search Eligibility
A BugViso AI readiness audit checks the things that decide whether a page can be cited at all: noindex and X-Robots-Tag, robots.txt rules for Googlebot and AI crawlers, raw-HTML content parity, and content extractability (answer-first passages, question-style headings, lists and tables). It doesn't track AI Overview appearances or your Search Console clicks; use the script above for that.
For the full list of what BugViso tests here, see the AI search readiness checker.
FAQ
Do Google AI Overviews reduce website traffic?
For many informational queries, yes. Pew found clicks on traditional results fell from 15% to 8% of visits when an AI summary appeared. The effect varies by query type.
How can I tell if AI Overviews affect my site?
Compare two Search Console query exports and look for queries with stable position and impressions but falling CTR, then check those queries for an AI Overview.
Does AI Overview traffic show in Search Console?
Yes. Google says it's included in the Performance report under the "Web" search type, but not broken out separately.
Do I need special markup or an llms.txt file to appear in AI Overviews?
No. Google says there are no additional requirements or special optimizations; the page must be indexed and eligible for a snippet.
Can I opt out of AI Overviews?
You can limit what's shown with nosnippet, data-nosnippet or max-snippet, or remove a page with noindex. Each also affects how the page appears in regular search results.
The Takeaway
Measure the CTR loss on your own queries before reacting, keep every important page eligible to be cited, and use a BugViso AI readiness audit to confirm nothing technical is holding you back.
See where your site stands
Run a free BugViso audit for SEO, speed, accessibility and AI search readiness — with fixes you can ship today.