Generative Engine Optimisation · Tutorial
Your AI traffic is hiding in Direct: how to see it in GA4
The answer
GA4 shows almost no AI traffic because many AI-referred visits arrive without a referrer and get filed under Direct. You can recover the measurable share in about an hour: build a custom channel group with a regex for known AI domains, learn to read Direct entrances on deep pages as the tell they are, and add a “how did you hear about us” field at checkout. What you recover is a floor, not a total — and the trend of that floor is the number worth watching.
A founder told me last month, with complete confidence, that AI search “isn’t a channel” for her brand — GA4 showed eleven ChatGPT sessions in ninety days. The checkout survey on the same store said one in nine customers found them through an AI assistant.
Both numbers were real. One of them was measuring the channel; the other was measuring GA4’s ability to see it. This post is the setup I walk every client through so that gap stops being invisible — every step doable in a single afternoon, no paid tooling required.
Why AI traffic hides
GA4 attributes a session by its referrer — the header that says which page the visitor came from. No referrer, no attribution: the session lands in Direct, the bucket analytics people politely call “unknown.”
AI referrals lose their referrer constantly, for boring technical reasons. Visits from native apps — the ChatGPT desktop and mobile apps chief among them — often carry none. Links copied out of a conversation and pasted into a browser carry none. Privacy layers strip others. So the channel leaks into Direct not occasionally but structurally.
And the second half of the problem is worse: most AI “visits” never happen at all. An engine can recommend your brand in a thousand answers that get read, trusted and acted on without a single click — someone asks ChatGPT for the best option, gets your name, and searches for you directly or walks into the store. Analytics registers that as brand search or Direct, and the AI answer that caused it registers as nothing.
GA4 isn’t lying to you. It’s answering a narrower question than the one you’re asking.
Step one: build the AI channel group
First, capture the visits that do carry a referrer. GA4 buries these inside Referral alongside every blog that ever linked you; a custom channel group pulls them into their own line.
- 01In GA4: Admin → Data display → Channel groups. Duplicate the default group — never edit the original, you’ll want the comparison.
- 02Create a new channel called AI / LLM and drag it to the top of the evaluation order, so it claims its sessions before Referral does.
- 03Set the condition to Source matches regex and paste the pattern below.
- 04Save, then apply the new channel group in your Traffic acquisition report. Note: it classifies data from creation onward in the default report — check a longer window via Explorations.
Review the pattern quarterly. Engines rename domains, new ones appear, and referrer behaviour changes with app updates — the maintenance is five minutes, the decay if you skip it is silent.
One channel this will never catch: Google AI Overviews. Those clicks arrive with a plain google.com referrer and dissolve into Organic Search, indistinguishable from classic blue-link clicks. There’s no GA4 fix for that today — hold that thought for the last section.
Step two: learn the landing-page tells
Now go looking for the leak itself. The referrerless AI visits filed under Direct aren’t randomly distributed — they betray themselves by where they land.
Classic Direct traffic goes to your homepage, because Direct used to mean “typed your URL.” Nobody hand-types a 60-character path to a comparison page. So when Direct sessions start entering on deep content URLs — a buying guide, a product comparison, a specific FAQ — someone gave those visitors the exact link, and in 2026 that someone is very often an AI engine.
The five-minute check
Open Reports → Engagement → Landing page, add a filter for the Direct channel, and sort by sessions. Homepage and a few campaign URLs: normal. Deep content pages climbing month over month — especially ones that answer the kind of question you’d ask a chatbot: that’s your shadow AI channel. Annotate the date you started GEO work and watch the before/after.
It’s circumstantial evidence, not proof, and that’s fine — you’re building a picture from three imperfect sources, and this is the middle one.
Step three: ask the only witness — the customer
The highest-signal move is also the least technical: put a required “How did you hear about us?” field at checkout or on your lead form, with an explicit option like “ChatGPT or another AI assistant.”
Self-reported attribution catches what no referrer ever will — the zero-click recommendation. The customer who was told about you by Perplexity on Tuesday and Googled your brand name on Friday shows up in analytics as brand search; in the survey, they tell you the truth.
Is it precise? No. People misremember, and some click the first option to get through the form. But its errors are different errors from the referrer method’s, which is the point: run both, and the two floors triangulate a range you can actually plan against. On stores we work with, the survey consistently reports AI discovery at a multiple of what the channel group shows — the gap between the two is a decent proxy for your zero-click influence.
The referrer tells you how they arrived. Only the customer tells you why.
Reading the numbers honestly
Once the setup runs, three rules keep the interpretation defensible.
Treat every number as a floor. Referrer capture misses the app traffic; the survey misses the customers who forgot. Undercounting is systematic, so absolute size arguments (“it’s only 2%”) are exactly the mistake — trend and conversion rate are the honest metrics, and AI-referred visitors typically convert at a multiple of organic because they arrive pre-recommended. The wider evidence on that is in our AI search statistics review.
Don’t let analytics measure what it can’t see. Your presence inside AI answers — who gets named, who gets cited, on which prompts — never touches your website. That’s measured by running real buyer prompts across engines on a schedule, which is a separate discipline with its own method; ours is public as the GEO Measurement Protocol.
Connect the two. The strongest signal isn’t either dataset alone — it’s when your share of voice in answers moves and, weeks later, your floor metrics follow. That lag is the channel working. If you’d rather someone ran the whole loop for you, that’s literally the job of our GEO programme, and the audit that starts it is free. And if the deeper question is why the engines aren’t naming you yet — that’s the one this post can’t answer, but this one can.
FAQ
Why doesn’t GA4 show my ChatGPT traffic?
Because many AI-referred visits arrive without a referrer header — from apps, copied links, or privacy-stripped browsers — GA4 has nothing to attribute and files the session under Direct. The visits are there; the label is missing.
What regex should I use to capture AI referrals in GA4?
A solid 2026 starting point for a source-matches-regex condition: chatgpt.com|chat.openai.com|openai.com|perplexity.ai|gemini.google.com|copilot.microsoft.com|claude.ai|you.com|poe.com|meta.ai|mistral.ai|deepseek.com — review it quarterly, because engines and their referrer behaviour change.
Can GA4 track whether I appear in AI answers?
No. Analytics only sees visits that reach your site. Most AI answers are consumed without a click, so presence in answers has to be measured directly — by running real buyer prompts across engines on a schedule and logging which brands get named.
Does Google AI Overviews traffic show up as its own channel?
No — clicks from AI Overviews arrive with a google.com referrer and blend into Organic Search. There’s currently no reliable way to separate them in GA4, which is another reason to measure answer presence directly rather than through analytics alone.
How accurate is self-reported attribution?
Imprecise but directionally honest — people misremember, and some pick the first option. It consistently surfaces AI discovery that referrer data misses entirely, which is exactly the blind spot you’re trying to cover. Use both methods and treat the truth as somewhere in between.