Measuring AI VisibilityPart 2 of 9

Why your AI traffic shows up as "Direct", and how to unmask it

A large share of the visitors AI sends you land in GA4 as 'Direct,' with no referrer to give them away. Here's why it happens, and a channel-grouping + regex recipe to pull AI referrals into their own channel.

Buffy Editorial2026-06-09 · 4 min read

Open GA4, look at your channels, and you'll likely see a healthy "Direct" bucket you assume is people typing your URL or using a bookmark. A growing slice of it isn't. It's people who asked ChatGPT, Perplexity, or Gemini about a problem, clicked through to your page from the answer, and arrived with no referrer attached, so analytics had nowhere to file them but "Direct."

This is the single biggest blind spot in measuring AI visibility. If you can't see the traffic, you can't prove the channel is working, and you'll under-invest in the thing that's quietly becoming a real source of demand.

Why the referrer disappears

GA4's logic is blunt: a visit with no referrer header becomes "Direct." Several common AI paths arrive exactly that way:

  • In-app clicks. When someone taps a link inside the ChatGPT or Perplexity desktop or mobile app, the browser that opens often carries no referring URL. The visit looks like it came from nowhere.
  • Redirect hops. Some engines route citations through a redirect or a link wrapper that drops the original source before it reaches you.
  • HTTPS quirks and privacy settings. Referrer headers get trimmed in transit; a stricter referrer policy on the engine's side strips it entirely.

The result: a genuine, high-intent AI visit is indistinguishable from a bookmark click. Industry estimates of how much AI traffic lands this way vary widely, but the consistent finding is that the visible AI referrals in your reports are only a fraction of the real total: the rest is hiding in "Direct."

Step one: capture the AI traffic that does carry a referrer

Not all of it is invisible. Web-based engines and some citation links do pass a source, and you can pull those into their own channel so they stop being lumped under "Organic" or "Referral." In GA4, build a custom channel group with a new channel. Call it AI / LLM referral. Defined by a regex condition on the source.

A starting pattern (extend it as new engines appear):

chatgpt\.com|chat\.openai\.com|openai\.com|perplexity\.ai|gemini\.google\.com|
bard\.google\.com|copilot\.microsoft\.com|bing\.com/chat|claude\.ai|
you\.com|poe\.com|phind\.com

Apply it as a "Source matches regex" rule in the channel group, ordered above Organic and Referral so AI hits get claimed first. From then on, every web-engine referral that carries a source rolls up into one line you can trend, compare, and tie to conversions.

Capturing the visible AI referrals is the easy 30-40%. The harder, more valuable work is estimating the "Direct" portion you can't see directly.

Step two: estimate the invisible portion

You can't reclaim a missing referrer, but you can infer AI-driven sessions inside "Direct" using signals a typed-URL visitor wouldn't have:

  • Deep landing pages. Someone typing your URL lands on the homepage. Someone arriving from an AI answer lands deep. A specific blog post, a comparison page, a PDP that answered their question. A spike in "Direct" sessions landing on deep, content-rich URLs is a strong AI fingerprint.
  • New-user share. AI-referred visitors skew toward first-time users, not returning bookmark-holders.
  • Query-shaped behaviour. Long, specific dwell on a single answer-style page, often without a prior site visit.
  • Timing correlation. "Direct"-to-deep-page sessions that rise in step with your tracked AI referrals and your answer-level visibility are very likely the same demand, split across two buckets.

Build an exploration that isolates "Direct" sessions to non-homepage landing pages by new users, and you have a defensible dark-traffic estimate: not exact, but directionally honest, and far better than pretending the channel is zero.

Why this is worth the afternoon

Two reasons. First, the traffic AI sends tends to be high-intent: the person already got a recommendation and clicked to verify or buy, so it often converts well above generic organic. Counting it as faceless "Direct" robs the channel of the credit that justifies investing in it. Second, you can't improve what you can't see: once AI referrals are a named line in your reporting, you can connect them to which pages get cited and act on it.

That second half, which prompts surface you, on which engines, and whether your own pages are the cited source. Is what happens upstream of the click, where GA4 can't reach. Pair this traffic view with answer-level metrics, and monitoring with Buffy Intel, to see the whole funnel: the answer that names you, and the visit it sends.

Frequently asked

Why does traffic from ChatGPT or Gemini show up as Direct in GA4?

Because the referrer is often stripped before the visit reaches your site. Links opened from inside an app (ChatGPT's desktop and mobile apps), clicks that pass through a redirect, and HTTPS-to-HTTPS hops that drop the referrer header all arrive with no source attached, and GA4 files anything with no referrer under 'Direct.' So a real AI-driven visit looks identical to someone typing your URL.

How do I track AI traffic in GA4?

Build a custom channel group with a new 'AI / LLM referral' channel defined by a regex that matches known AI hostnames (chatgpt.com, perplexity.ai, gemini.google.com, copilot.microsoft.com, and others) in the source/medium. That captures the referrals that *do* carry a source. The portion that arrives as 'Direct' can't be reclaimed by referrer alone. You estimate it using behavioural signals and landing-page patterns.