How to Track Traffic From AI Overviews (Step-by-Step Guide for GA4 & GTM)

How to Track Traffic From AI Overviews and AI Assistants

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

  1. 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.
  2. Set the range to 16 months and export the generative AI report by page. That is your AI impressions baseline.
  3. Export the main Performance report for the same period, filtered to Web search type, by page.
  4. Join the two on URL in a spreadsheet: AI impressions, total impressions, clicks and CTR per page.
  5. Calculate AI impression share per page, then sort descending with a floor of 100 total clicks.
  6. Pages with high AI impression share and low CTR are where AI answers are absorbing your visibility.
  7. 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.

  1. Admin, then Data display, then Channel groups, then Create new channel group.
  2. Name it “AI and assistants”.
  3. Add a channel called “AI assistant”, with the condition: Session source matches regex.
  4. 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
  5. Drag that channel above Referral and Organic Search so it takes priority.
  6. 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

  1. Explore, then Free form.
  2. Dimensions: Session source, Landing page plus query string, and your new custom channel group.
  3. Metrics: Sessions, Engaged sessions, Average engagement time, Key events, Total revenue.
  4. Rows: Session source. Filter: Session source matches regex, same pattern as above.
  5. 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.

Share it :
Author
Picture of Jasmine Le

Jasmine Le

SEO Specialist
SEO strategist specialising in technical SEO, content optimisation, and organic growth.

Approver
Picture of Gerald Ho

Gerald Ho

Head of Digital Marketing & AI Innovation
Reviews SEO and digital marketing content for strategic accuracy and practical value.

Is Your Brand Invisible to AI? Find Out Now.

Grab your free AI Visibility Audit to see if AI engines are recommending your services. 100% free, zero obligations.