Quick answer: As of September 2026 you have four measurement layers, and only one of them sees Google’s AI features. Search Console is it. Its generative AI performance report, announced on 3 June 2026 and rolled out to every site worldwide on 31 August 2026, shows impressions only from AI Overviews and AI Mode, broken down by page, country, device and date. No clicks, no CTR, no queries, and no split between AI Overviews and AI Mode.
Google Analytics 4 cannot see AI Overview clicks at all. Google’s own documentation places them inside Organic Search, and the new AI Assistant channel, live since May 2026, explicitly excludes them. What GA4 does see well is referral traffic from ChatGPT, Gemini, Copilot and similar assistants, once you fix the gaps in the default list.
Server logs are the most reliable layer for the crawler side. Anyone selling you a single number for “AI Overview traffic” is guessing. A large part of AI influence cannot be measured, and this guide extracts everything that can.
What changed in 2026, with dates
Most guides on this topic predate the two changes that matter.
|
Date |
What changed |
Source |
|
16 June 2025 |
AI Mode data starts counting towards Search Console Performance totals |
Search Central update log |
|
13 May 2025 to 27 April 2026 |
A logging error stopped Search Console reporting impressions accurately. Impressions, CTR and average position were affected, clicks were not |
Data anomalies page |
|
13 May 2026 |
GA4 adds an AI Assistant channel, “a dedicated way to measure and analyze traffic originating from popular AI assistants” |
Analytics What’s new |
|
3 June 2026 |
Google announces the Search generative AI performance reports |
Search Central blog |
|
13 to 17 August 2026 |
A logging error reduces impressions in the generative AI report |
Data anomalies page |
|
31 August 2026 |
The generative AI reports roll out to all websites worldwide |
Note on the 3 June post |
The impressions bug deserves a second read. If you built a chart showing impressions or CTR collapsing after AI Overviews launched, and the range crosses April 2026, part of that shape is a Google logging fault rather than user behaviour. Clicks were unaffected, one more reason to lead reporting with clicks.
What each method can and cannot tell you
|
Method |
Sees AI Overview impressions |
Sees AI Overview clicks |
Sees assistant referrals |
Sees AI crawlers |
Main blind spot |
|
Search Console generative AI report |
Yes, AI Overviews and AI Mode combined |
No |
No |
No |
Impressions only, no queries, no split by feature |
|
Search Console Performance report |
Inside Web search type totals |
Counted, not separable |
No |
No |
No AI filter or search appearance type exists |
|
GA4 default reports |
No |
No, they sit in Organic Search |
Partially |
No |
Misses Perplexity, Claude, and anything with no referrer |
|
GA4 custom channel group |
No |
No |
Yes, if you write the rules |
No |
Only as good as your hostname list |
|
Server logs |
No |
No |
Yes, every referrer that arrives |
Yes, the only method that does |
Needs raw log access and parsing |
|
Third party AI visibility tools |
Modelled, not measured |
No |
No |
Some |
Synthetic prompts, not your real users |
Only the first row is Google measuring your real presence in an AI answer, and it stops at impressions. The optimisation side sits in our guides to AI Overview citations and answer engine optimisation.
Search Console: the only source of real Google AI data
What the generative AI performance report actually contains
From the report’s help page, read on 20 September 2026:
- Impressions only: “how many times links to your site were shown to a user in a generative AI feature on Google Search”. No clicks, no CTR, no average position.
- Two features, one bucket. AI Overviews and AI Mode cannot be separated.
- Four dimensions: Pages, Countries, Dates, Devices. No query dimension exists.
- Pages means the final URL after redirects, assigned to the canonical.
- Same limits as the main report: 1,000 rows, preliminary recent data, no Search Labs experiments.
- It draws on the Web search type, so these impressions were always in your totals. This is a new view, not new traffic.
If the report is empty, Google names too few impressions, or having excluded your own site through snippet controls. The chart aggregates by property and the table by page, so the two totals will not always match.
How AI clicks are counted in the main Performance report
Google’s “What are impressions, position, and clicks?” page covers both:
- AI Overviews: “Clicking a link to an external page in the AI Overview counts as a click.” Standard impression rules apply. “An AI Overview occupies a single position in search results, and all links in the AI Overview are assigned that same position.”
- AI Mode: clicks to an external page count, standard impression rules apply, and position “follows the same methodology as a Google Search results page.” A follow-up question counts as a new query with its own metrics.
Two consequences most reports miss. Because an AI Overview is one position shared by every link in it, a citation there can register near position 1 while sending almost no clicks, dragging CTR down with no ranking loss. And there is still no AI Overviews or AI Mode value in the Search appearance dimension, so the main report cannot be filtered to AI traffic.
The step by step setup
- In Search Console, open Performance and confirm the generative AI report is in the left menu. If it is missing, check you have not blocked snippets sitewide.
- Set the range to 16 months and export the generative AI report by page. That is your AI impressions baseline.
- Export the main Performance report for the same period, filtered to Web search type, by page.
- Join the two on URL in a spreadsheet: AI impressions, total impressions, clicks and CTR per page.
- Calculate AI impression share per page, then sort descending with a floor of 100 total clicks.
- Pages with high AI impression share and low CTR are where AI answers are absorbing your visibility.
- Rebuild monthly. Exclude 13 to 17 August 2026 from any AI trend line, and flag the impressions bug if your range reaches before 27 April 2026.
That join takes about an hour and is the most useful thing you can build this quarter. ## GA4: good at assistants, blind to AI Overviews
The AI Assistant channel, and the gap in it
GA4’s default channel group now includes an AI Assistant channel. Analytics Help defines it as the channel “by which users arrive at your site from sources like ChatGPT, Gemini, Deepseek, Copilot, or Grok”, and adds the line that settles the whole AI Overviews question: “It excludes Google’s AI Overviews and AI Mode.” The Organic Search definition confirms it from the other side, describing organic as non-ad links in search results, “including Google’s AI Overviews and AI Mode”.
The rule is mechanical: GA4 sets medium to ai-assistant and campaign to (ai-assistant) when the referrer matches an internal list. You cannot edit default channel definitions, and Google does not publish that list.
That is where the gap sits. The named examples are ChatGPT, Gemini, Deepseek, Copilot and Grok. Perplexity and Claude are not named, so traffic from them falls into Referral. Report from the default channel alone and you under-count, in the two assistants whose share has risen fastest.
Two quirks make the under-count worse. OpenAI appends utm_source=chatgpt.com to citation links without a utm_medium, and a UTM hit with no medium lands in Unassigned, the bucket nobody opens. Assistant mobile and desktop apps hand links to the system browser, which strips the referrer, so those visits arrive as Direct. As Semrush wrote on 2 September 2025, “you’re likely getting more AI traffic than your reports show.”
Build a custom channel group that catches the rest
Custom channel groups apply retroactively, which matters if you want to compare against periods before May 2026.
- Admin, then Data display, then Channel groups, then Create new channel group.
- Name it “AI and assistants”.
- Add a channel called “AI assistant”, with the condition: Session source matches regex.
- Paste a starting pattern: chatgpt\.com|openai\.com|perplexity\.ai|copilot\.microsoft\.com|gemini\.google\.com|claude\.ai|you\.com|grok\.com|deepseek\.com|mistral\.ai|meta\.ai|duckduckgo\.com
- Drag that channel above Referral and Organic Search so it takes priority.
- Save. Standard properties allow 2 custom channel groups plus the default, 360 properties allow 5.
Leave duckduckgo.com out if you get real DuckDuckGo search traffic, since it mixes DuckAssist answers with ordinary search.
The exploration that actually answers the question
- Explore, then Free form.
- Dimensions: Session source, Landing page plus query string, and your new custom channel group.
- Metrics: Sessions, Engaged sessions, Average engagement time, Key events, Total revenue.
- Rows: Session source. Filter: Session source matches regex, same pattern as above.
- Add Segment comparison with two segments, the assistant regex and Organic Search, so the client sees AI sessions beside organic rather than alone.
Use Session source, not Page referrer: the latter is event-scoped, records the referrer of individual page views, and will not reconcile with session counts. Watch the (other) row, which swallows low-volume values in high-cardinality dimensions, and assistant hostnames are exactly that.
In Looker Studio, connect the GA4 property and add a calculated field that buckets Session source with CASE WHEN REGEXP_MATCH(…) THEN “ChatGPT” … ELSE “Other” END. Escape dots with a double backslash. Build the field at chart level if you plan to blend GA4 with log or Search Console data, because data source fields cannot be used with blended data.
The text fragment method no longer works
Older guides, including the previous version of this page, said to capture AI Overview clicks by reading the #:~:text= text fragment with a Tag Manager custom JavaScript variable and a History Change trigger. That advice fails at every step.
The fragment directive is hidden from scripts by design. The Text Fragments specification says it “is stripped from script-accessible APIs to prevent interaction with author script”, and gives the behaviour: a location of https://example.com#page1:~:hello makes window.location.hash return #page1. MDN, updated 22 June 2026, agrees. document.fragmentDirective does not help either: the interface is empty and exists for feature detection.
The trigger does not fire. Google’s Tag Manager documentation describes History Change as firing “when the URL fragment changes or when a site uses the HTML5 pushstate API”. Landing on a URL that already contains a fragment is not a change. The specification adds that hashchange does not fire when a navigation changes only the fragment directive.
GA4 would drop it anyway. Google’s measurement documentation for page_location, updated 18 September 2026, notes that “the default value excludes the fragment portion of the URL”. Fragments never reach the server either, so server-side tagging and logs cannot see them.
The fourth problem is the biggest: Google has never documented that AI Overview links use text fragments at all. The method rested on an assumption.
Server logs: the most reliable layer
Logs cannot show AI Overview clicks, because nothing can. They show every request that reached your server, unfiltered by consent banners, ad blockers or JavaScript. That splits into two very different things.
Crawlers and fetchers
|
Vendor |
Agent |
What it means |
|
OpenAI |
GPTBot |
Training crawl for foundation models |
|
OpenAI |
OAI-SearchBot |
Builds the index behind ChatGPT search |
|
OpenAI |
ChatGPT-User |
A person asked ChatGPT something and it fetched your page live |
|
Perplexity |
PerplexityBot |
Search index, not model training |
|
Perplexity |
Perplexity-User |
Live fetch triggered by a user’s question |
|
Anthropic |
ClaudeBot, Claude-SearchBot |
Training crawl, and search index |
|
Anthropic |
Claude-User |
Live fetch triggered by a user’s question |
|
Apple |
Applebot |
Powers Siri, Spotlight and Safari suggestions |
|
Meta |
meta-externalagent |
Training and indexing |
|
Common Crawl |
CCBot |
Archive corpus that feeds many models |
Two things are absent for good reason. Google-Extended is a robots.txt token, not a user agent, so it never appears in a log. And there is no AI Overviews or AI Mode crawler, because both are served from the ordinary Search index built by Googlebot.
The distinction that ruins most log reports
A ChatGPT-User, Perplexity-User or Claude-User line is not a visit. OpenAI says ChatGPT-User handles “certain user actions in ChatGPT and Custom GPTs” and is “not used for crawling the web in an automatic fashion”; Perplexity and Anthropic describe their own user agents the same way.
A machine fetched your page on a person’s behalf. That person never loaded your page, never ran your analytics tag and never saw your design, so counting those lines as traffic inflates a report badly. The human visit, if it happens, is a separate line: a normal browser user agent with a Referer header of chatgpt.com, perplexity.ai or claude.ai. That is the only line representing a person.
What to measure
Copy Cloudflare’s published method. Divide requests from an operator’s user agents where the response was HTML by requests for HTML whose Referer header contains that operator’s hostname. The result is a crawl to refer ratio: what an AI system takes against what it sends back. Cloudflare’s figures for the week of 19 to 26 June 2025 put Anthropic at roughly 70,900 crawls per referral, and its 2026 report says 52% of crawler requests were for AI training as of June 2026, up from 22% in spring 2025.
Cloudflare flags the limitation that runs through this whole article: traffic referred by Claude’s native app carries no Referer header, so “these calculations may overstate the respective ratios, but it is unclear by how much.”
Verify the user agent before you trust it. OpenAI, Anthropic, Perplexity, Google, Bing, Apple and Amazon publish machine readable IP lists, and Google, Bing and Apple support reverse DNS checks.
What robots.txt and Cloudflare rules do to all of this
Blocking changes your data and your visibility at once, so decide deliberately.
- Blocking GPTBot removes you from model training only. OpenAI treats search separately: “Sites that are opted out of OAI-SearchBot will not be shown in ChatGPT search answers.” Block the wrong one and you vanish from ChatGPT search.
- User fetchers largely ignore robots.txt. OpenAI, Perplexity, Anthropic, Meta and Google all say so, because a person requested the fetch. Blocking them at the edge removes you from the answer that user is waiting for.
- Google-Extended does not control AI Overviews. Google says it governs Gemini Apps and Vertex AI, and that it “does not impact a site’s inclusion in Google Search nor is it used as a ranking signal in Google Search”. The only controls Google names for AI features in Search are nosnippet, data-nosnippet, max-snippet and noindex, all of which also cost you ordinary search visibility. There is no way to be in Google Search but not in AI Overviews.
- Cloudflare’s managed robots.txt prepends Disallow rules for Amazonbot, Applebot-Extended, Bytespider, CCBot, ClaudeBot, Google-Extended, GPTBot and meta-externalagent, while noting that “robots.txt compliance is voluntary”.
- Cloudflare’s 2026 default matters. On 1 July 2026 Cloudflare split AI bots into Search, Agent and Training behaviours on all plans. From 15 September 2026, Training and Agent are blocked by default on pages showing ads, while Search stays allowed. Agent maps onto ChatGPT-User, Perplexity-User and Claude-User, so that default removes those pages from live assistant answers. Check the setting before concluding your content is not being cited.
Our note on the Cloudflare AI crawler update covers the trade-off in more detail.
Third party tools, and what they cannot see
Two product categories get sold under one label, and mixing them up is how teams double count.
Prompt monitoring tools run synthetic prompts against ChatGPT, Gemini, Perplexity and others and record whether you were mentioned or cited. Ahrefs Brand Radar, Semrush’s AI visibility toolkit, Profound, Peec AI and Otterly.AI work this way. None sees a real user: the prompts are the vendor’s, not your customers’, and model output is non-deterministic, so two runs disagree. Read the metric definitions. Ahrefs defines Brand Radar impressions as the sum of Google search volumes for prompts where your brand appears, a proxy weight rather than a count of AI impressions.
Bot and log tools measure requests that hit your server. Ahrefs Bot Analytics, launched in the February to March 2026 release cycle and free during beta, groups AI crawlers but needs a Cloudflare integration. Semrush Enterprise added log file analysis on 2 February 2026, covering 30 bots of which 10 are AI. Screaming Frog’s Log File Analyser 7.0, released 29 April 2026, added AI bot verification.
Neither sees AI Overview clicks. Our roundup of AI Overviews tracking tools compares the prompt monitoring options.
What to report to a client or your boss
Report four numbers and one honest sentence.
|
What to show |
Where it comes from |
How to phrase it |
|
AI impressions and the trend |
Generative AI report |
“Google showed our pages in an AI answer X times this month” |
|
AI impression share of top pages |
Generative AI report joined to the Performance report |
“AI answers are now X% of all impressions on these five pages” |
|
Assistant sessions and what they did |
GA4 AI Assistant channel plus your custom group |
“X sessions arrived from assistants, with Y key events” |
|
Crawl to refer ratio by operator |
Server logs, or Cloudflare AI Crawl Control |
“ChatGPT fetched us X times per visitor it sent” |
The sentence: Google does not report AI Overview clicks separately, so nobody can give you a clean AI Overview traffic number, and any tool offering one is modelling it.
Three habits keep reports defensible. Lead with clicks, since the impressions logging error that ran to 27 April 2026 did not touch them. Never add crawler hits to session counts. Always show AI sessions beside organic sessions. Semrush’s study of more than 50,000 sites, published 27 April 2026, put AI traffic at 0.14% of all traffic in 2025, growing 66% year on year, and Ahrefs’ 3,000-site study from February 2025 found 0.12%. Shown alone, a number that small looks either trivial or miraculous.
Frequently asked questions
Can Google Analytics 4 show me AI Overview traffic?
No. Google’s own channel documentation places AI Overview and AI Mode clicks inside Organic Search and states that the AI Assistant channel excludes them. GA4 cannot tell an AI Overview click from any other Google click.
Does Search Console show clicks from AI Overviews?
They are counted inside your Web search type totals, but they are not separable. The generative AI performance report, live for all sites since 31 August 2026, shows impressions only.
Why did average position improve while clicks fell?
An AI Overview occupies one position, shared by every link inside it. A citation there can register near position 1 and send very few clicks.
Is there a referral hostname for AI Overview clicks?
No. Google sends an origin only referrer, so your site sees something like https://www.google.com/ with no path and no query string. The udm parameter people mention is in the searcher’s address bar, not in the referrer.
Why is my generative AI report empty?
Either you have too few AI impressions, or you have restricted snippets. Google requires a page to be indexed and snippet-eligible before it can appear as a supporting link in AI Overviews or AI Mode.
Should I block AI crawlers?
Only with your eyes open. Blocking a training crawler such as GPTBot is a different decision from blocking a search crawler such as OAI-SearchBot, and the second removes you from ChatGPT search answers.
Does ChatGPT traffic convert better than organic?
Often, per session. Adobe Analytics reported on 17 June 2026 that AI-referred traffic to US retail sites converted 54% better than non-AI traffic and grew 138% year on year. Volume is another matter: it stays a small share of total visits.
How often should I rebuild this?
Monthly for reporting, quarterly for the setup. Any guide written before June 2026 describes a Search Console that no longer exists.
The bottom line
Measuring AI search in 2026 means assembling four partial views and being straight about the seams. Search Console gives you real impressions from Google’s AI features and nothing else. GA4 gives you assistant referrals, with Perplexity and Claude missing from the default channel until you fix it. Server logs give the crawler side and the only honest referral count. Third party tools give a model of where you appear, not a count of who came. Fixing what those numbers show is a separate job, covered in how to get cited by AI and GEO vs SEO.
The part nobody can measure is the part that matters most: the reader who saw your brand named in an answer, did not click, and came back a week later as a direct visit or a branded search. SparkToro’s 2026 analysis found that 68% of US Google searches now end without a click, up from 45% in 2016, so the unmeasured share is growing. Watch branded search volume and direct sessions alongside your AI numbers, and say plainly that the link is inferred.
If you want this built and maintained rather than explained, our GEO services in Malaysia cover AI visibility measurement and the content work that follows it, and our SEO services in Malaysia cover the search foundation that AI answers are drawn from. Request a quote, or ask us for the free website and search health check worth RM300.





