How to track AI referral traffic in your analytics

The short answer: Most of it sits in three places, not one. GA4 now routes clicks from assistants it recognises into a channel called AI Assistant, with the medium set to ai-assistant. Clicks out of AI Mode and AI Overviews are deliberately kept out of that channel and arrive as ordinary organic search. Clicks arriving with no referrer, including taps inside mobile assistant apps, land in Direct. Read only the first bucket and you undercount.
That split is the whole problem, so it is worth being precise about each part before anyone builds a dashboard on top of it.
The method, in five steps
Everything after this section is the reasoning. This is the procedure, and it takes an afternoon.
One. Read the AI Assistant channel in GA4. Open Reports, Acquisition, Traffic acquisition, and group by session default channel group. Google's channel definition sets the channel when the session medium is exactly ai-assistant, which GA4 writes onto the session when the referrer matches its own list of AI assistants. The documentation names ChatGPT, Gemini, Deepseek, Copilot and Grok as the sort of source it means.
Two. Read the referrer hostnames yourself, because that list is not published. Switch the dimension to session source and filter to the assistant hosts you care about. The hosts we resolved on 15 October 2026 are chatgpt.com, the host OpenAI uses for ChatGPT in its own bot documentation. Then gemini.google.com for Gemini, copilot.microsoft.com for Copilot, perplexity.ai for Perplexity, grok.com for Grok. Hosts GA4 has not matched stay in Referral under their own name, so this second view catches what the channel misses. Keep both views side by side and do not add them up.
Three. Separate Google's two AI surfaces from assistant clicks. AI Overviews and AI Mode are excluded from the AI Assistant channel by definition, and their clicks arrive as Organic Search from google.com, so GA4 will not split them out for you. Search Console will, for impressions: its Generative AI performance report covers AI Overviews and AI Mode and breaks them down by page, country, device and date.
Four. Probe Direct rather than trusting it. Filter Direct to new users on mobile landing on deep article URLs, and watch that cohort weekly. It is a proxy for referrer-stripped assistant visits, never a count of them.
Five. Label every number with what it is. The channel figure is a floor. The host filter is a wider floor. The Search Console figure is impressions, not clicks. The Direct cohort is a proxy. None of the four is an attribution, because the prompt never reaches you.
What GA4 does now, in its own words
Google's channel-group documentation defines the AI Assistant channel as traffic arriving from sources such as ChatGPT, Gemini, Deepseek, Copilot or Grok. The matching rule is mechanical: if the referrer matches Google's maintained list of AI assistants, the medium is rewritten to ai-assistant and the campaign to (ai-assistant).
Two things follow from that one sentence, and both bite.
First, it is a referrer match against a list you neither control nor can read. Google's page names five examples and does not publish the full list, so you cannot check whether an assistant that launched last month, a browser extension wrapping a model, or an enterprise copilot on a company subdomain is matched. Anything unmatched keeps landing in Referral under whatever host it came from, which makes your AI Assistant number a floor rather than a count.
Second, the same documentation carves out two surfaces by name, AI Mode and AI Overviews, and keeps them out of this channel. Those clicks come from google.com and remain Organic Search, which is consistent with Google Search Central, where sites appearing in AI features are described as included in overall search traffic and reported inside the Web search type. So a surface that can carry a large share of AI-mediated clicks is one your AI channel cannot see at all. Search Console does report it, in the separate Generative AI performance report Google launched in June 2026 and extended to all sites worldwide on 31 August 2026, but that report gives impressions rather than clicks.
The step change that will fake a trend for you
Here is a failure mode worth catching before someone presents it. When a platform moves traffic from one channel into a new one, the old channel falls and the new channel appears, on a single date, for zero behavioural reason.
Pull a daily series of sessions by default channel group across the last eighteen months and look at Referral. If there is a cliff on one day and a matching AI Assistant line starting that same day, you are looking at a reclassification, not a change in buyer behaviour. Anyone who reports that cliff as a drop in partner referrals, or that new line as growth, is reading a reporting change as a result. Annotate the date in your property and move on. This is the same discipline described in how to measure AI visibility without fooling yourself: know which part of the movement is the instrument.
Why so much of it hides in Direct
The referrer policy specification was revised in November 2020 to make strict-origin-when-cross-origin the default when a page sets no policy of its own, and MDN documents it as the default today. On a cross-origin navigation that policy sends the origin only, so you can learn that someone came from chatgpt.com and never which conversation, which prompt or which citation position. A page can set a different policy, so check the header rather than assuming, but under the default the path and query are stripped before the request leaves the device.
Native apps are a harder case. A link opened from inside a mobile assistant app, or from an in-app browser, often arrives with no Referer header at all. GA4's Direct channel is defined as source exactly (direct) with medium (none) or (not set), which is simply the bucket for traffic that identified itself with nothing. An absent header is not evidence of a bookmark. It is evidence of silence.
The practical consequence: if assistant usage on your site shifts from desktop web to phone apps, a real increase in AI-driven visits can show up as flat AI Assistant sessions and a slowly swelling Direct line. Two opposite stories, one underlying trend. We have no figure for how often that shift happens, only the mechanism that would hide it.
Three checks you can run this week
Check one, the tag-loss gap. For a seven-day window, count sessions in GA4 where session source is chatgpt.com or perplexity.ai. Then grep your access log for requests whose referer contains the same hosts over the same window, excluding assets and known bots. The log sees every request that reached your origin, barring anything served from a cache in front of it; GA4 sees the ones where the tag fired and consent allowed it. The ratio between them is your measurement loss on this channel. Expect it to be worse than your site-wide average, since these visitors are often first time and on mobile, but we have no published figure for how much worse. Reading your server logs for AI bot traffic has the parsing details.
Check two, the Direct probe. Build a GA4 exploration of Direct sessions filtered to new users, mobile device category, and landing pages that are neither the homepage nor any page you run paid traffic to. Deep article URLs are the signal, on the reasoning that few people retype a long slug on a phone keyboard. Track that cohort weekly. A rising line here is a proxy for referrer-stripped assistant traffic, not a measurement of it. Label it as a proxy in the deck.
Check three, fetch before click. OpenAI's published bot documentation separates OAI-SearchBot, which surfaces sites in ChatGPT's search features, from ChatGPT-User, which is described as not crawling automatically because the action is initiated by a user. On OpenAI's description, then, a ChatGPT-User hit on your URL was initiated by a person rather than by a crawler. Line those timestamps up against sessions arriving in the following minutes. When fetches climb and sessions do not, one reading is that answers are being written from your page without anyone clicking, and tag loss is another, so treat it as a question to investigate rather than a finding. It is the same gap that makes share of voice in AI answers, and its limits worth reading before you set a target on clicks alone.
Keep agents out of the human numbers
One more contamination source. Some requests now come from software acting for a person: a browsing agent completing a task, a research tool fetching a batch of pages, a shopping agent checking a price. Any of these that execute JavaScript can fire your analytics tag, and they tend to surface as sessions with a very short duration and a single page view. We have not measured what share of traffic this accounts for, and it will differ by site.
If those land in your Direct or Referral counts, every engagement metric you compute on top degrades quietly. Segment them out by user agent before you report anything, and keep them in their own view rather than deleting them, because their volume is itself a signal. Agent traffic is not bot traffic covers the distinction and why the usual bot filters miss it.
What this can and cannot tell you
It tells you direction and order of magnitude. It does not tell you attribution.
The prompt, the competing brands named in the same answer, and whether the visitor read your page or the engine's summary of it are not in the referrer and not in the hit, so no analytics configuration can recover them from this data. Campaign parameters appended by an assistant help when they exist, but you receive them at the assistant's discretion and they can change without notice.
Treat the three buckets as a lower bound, a blind spot and a proxy, in that order. If you want the shape a proper write-up of this takes, our sample audit report shows how findings get evidence attached rather than a score attached.
Honest limits
This post publishes no measurement of our own, and that is deliberate: we hold no sample we could describe with a method, a size and a date, so we give you the mechanisms and the checks instead of a percentage. We cannot measure the ratio between AI Assistant sessions and referrer-stripped Direct sessions for your site without instrumenting it, and the published ratios we have seen are vendor estimates on vendor traffic mixes. Google does not publish the AI assistant referrer list, so the size of the gap in that channel is not knowable from the outside, only bounded below. The Direct probe and the fetch-to-click comparison are both inferences from absence, and absence of a referrer is not proof of an assistant. Anyone quoting a single percentage for "how much AI traffic shows as Direct" is extrapolating from a sample you cannot inspect.
FAQ
How do I track AI referral traffic in GA4? Read two views, not one. The built-in AI Assistant channel, which GA4 sets when the session medium is exactly ai-assistant, and a session-source filter on the assistant hostnames you care about, which catches the assistants Google's unpublished list does not match. Add Search Console's Generative AI performance report for AI Overviews and AI Mode, remembering that it reports impressions rather than clicks, and treat a rising Direct cohort of new mobile users on deep URLs as a proxy for the rest.
Does the AI Assistant channel include Google AI Overviews? No. Google's channel documentation explicitly excludes AI Overviews and AI Mode from that channel. Those clicks remain Organic Search from google.com in GA4. Search Console still counts them inside the Web search type in the overall Performance report, and since June 2026 also reports them in a separate generative AI performance view.
Why do I see the host but never the page or prompt? Because the default referrer policy, strict-origin-when-cross-origin, sends the origin only on cross-origin navigation. Unless the linking page sets a different policy, the path and query string are removed before the request is sent, so there is nothing to recover downstream.
Should I create a custom channel group instead? Yes, if you want assistants that are not on Google's list counted. Define a regex channel on session source covering the hosts you care about, keep the built-in channel alongside it, and never compare one against the other as though they measure the same thing.
Is rising Direct traffic proof of AI referrals? It is a hint, not proof. Mis-tagged emails, QR codes, pasted links and app opens land in Direct too, and nothing in the Direct bucket says which it was. Narrow to new users, mobile, and deep landing pages before you read anything into the trend.
Sources
The first six were opened and checked against the sentences that cite them on 12 October
- The seventh was opened on 15 October 2026, the same day we resolved each assistant
hostname named above and confirmed it served that product's own web client.
- Google Analytics Help, default channel group definitions including the AI Assistant channel: support.google.com/analytics/answer/9756891
- Google Search Central, AI features and your website: developers.google.com/search/docs/appearance/ai-features
- MDN Web Docs, Referrer-Policy, default
strict-origin-when-cross-originsince November 2020: developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Referrer-Policy - OpenAI, bots and crawler user agents: developers.openai.com/api/docs/bots
- Google Search Console Help, Performance report search types: support.google.com/webmasters/answer/7576553
- Google Search Central blog, Introducing Search Generative AI performance reports in Search Console, 3 June 2026, with the worldwide rollout note dated 31 August 2026: developers.google.com/search/blog/2026/06/gen-ai-performance-reports
- Google Search Console Help, Generative AI performance report (Search), source for the impressions-only metric, the AI Overviews and AI Mode coverage, the page, country, device and date breakdowns, and the 31 August 2026 worldwide rollout: support.google.com/webmasters/answer/16984139