For SEO, GEO and analytics teams

Estimate your hidden AI traffic

Each assistant leaves different traces on the visits it sends: a referrer, a UTM tag, both or neither. So count them one assistant at a time. Start with what you can see, then add what we know is hidden. These steps reflect our tests as of October 2026; the scorecard shows the current state.

ChatGPT
= tag − Google + referrers − ad clicks
Gemini
= referrer × 2.1–2.5
Claude
≥ referrer
Copilot
≥ referrer + tag
Perplexity
= referrer + tag
Set up your reports

ChatGPT: start with the tag

How to count
No hidden share
+
Tag
utm_source=chatgpt.com
↳ −
Referrer is a Google domain
came from search
+
Referrer, no tag
chatgpt.com android-app://com.openai.chatgpt/
−
Click ID
oppref olref
if you advertise in ChatGPT; count them with your other ads
=
Count each visit once

ChatGPT adds utm_source=chatgpt.com to the links it sends, and OpenAI documents that value. On most surfaces it sends no referrer, so the tag is your main signal. Since mid-October 2026, some links from the Android app arrive with android-app://com.openai.chatgpt/ as the referrer instead, usually with no ChatGPT tag. They are a small share of ChatGPT's visits, but only the referrer identifies them.

  1. Count visits with utm_source=chatgpt.com.
  2. Remove the ones whose referrer is a Google domain. Google lists some pages with ChatGPT's tag still in the URL, so those visits came from search, not from ChatGPT.
  3. Add visits with a chatgpt.com or android-app://com.openai.chatgpt/ referrer and no tag. There are few, but they are ChatGPT's.
  4. If you advertise in ChatGPT, remove your ad clicks. They carry oppref or olref in the landing page URL. Count them with your other ads.

Count a visit with both the tag and the referrer once.

Why the click ID and not the tag: ad clicks carry the UTMs the advertiser set. On sites measured by AEM Operational Telemetry, August 27 to October 21, 2026, nearly three in four ChatGPT ad clicks were tagged utm_source=chatgpt, one in twenty chatgpt.com, and one in eight had no paid utm_medium. On sites that advertise, ad clicks were a median of about a third of their ChatGPT-tagged visits.

Why the tag first: over the past year, tagged ChatGPT visits more than quadrupled on sites measured by AEM Operational Telemetry, while visits with a chatgpt.com referrer fell by 95%. By October 2026, only 0.7% of tagged visits still carried the referrer.

/widgets/chatgpt-utm/chatgpt-utm.html

Count the tag and both referrers, and expect little of ChatGPT's traffic in Direct. OpenAI tags most of the links ChatGPT generates, so unlike Gemini, there is no hidden share to add on top. The Android referrer matters here: those visits mostly carry no ChatGPT tag, so without it they would land in Direct.

All assistants

Gemini: the referrer, then the hidden share

How to count
Estimate: × 2.1–2.5
+
Referrer
gemini.google.com
×
Factor

2.1 measured

2.5 best estimate

=
Your estimate of Gemini's visits

Gemini on the web sends https://gemini.google.com/ as the referrer, and no tag. Its apps send neither, so those visits land in Direct.

  1. Count visits with a gemini.google.com referrer.
  2. Multiply by 2.1 to 2.5.
    • 2.1 is measured. From Sep 18 to 28, 2026, Gemini tagged its links: for every 100 visits with the referrer, 108 more arrived with only the tag. The chart below shows that window.
    • 2.5 adds an estimate for the links that weren't tagged and arrived with no referrer either.

/widgets/gemini-utm/gemini-utm.html

Use 2.1 when you need a number nobody can dispute, and 2.5 as your best estimate. Workspace accounts tagged links utm_source=geminiforbusiness in the same window.

All assistants

Claude: the referrer, as a floor

How to count
Floor
+
Referrer
claude.ai
≥
Treat it as a floor
no measured hidden share yet

Links in Claude's answers on claude.ai send https://claude.ai/ as the referrer. Its citation chips and its apps send no referrer, and Claude adds no tag.

  1. Count visits with a claude.ai referrer.
  2. Treat that number as a floor. Claude has never tagged its links, so we have no measured share for its hidden visits yet. We'll add one here when we can measure it.

Visits with a claude.ai referrer fell by about two thirds between June and September 2026. We can't tell yet whether Claude sent fewer visits or sent more of them without a referrer, through its citation chips or its apps.

/widgets/ai-traffic/ai-traffic.html?assistant=claude

All assistants

Copilot: the referrer, now the tag is fading

How to count
Floor
+
Referrer
copilot.com copilot.microsoft.com copilot.cloud.microsoft m365copilotapp.svc.cloud.microsoft
+
Tag, no referrer
copilot.com
match values that start with it
≥
Treat the total as a floor
especially on mobile

Microsoft Copilot sends a referrer from each of its sites: copilot.com and copilot.microsoft.com for consumers, copilot.cloud.microsoft and m365copilotapp.svc.cloud.microsoft for Microsoft 365. Links from copilot.microsoft.com also carried utm_source=copilot.com, but Copilot is moving its users to copilot.com, whose links carry no tag.

  1. Count visits with a referrer from any of the four Copilot sites.
  2. Add visits tagged utm_source=copilot.com that arrived with no referrer. Match values that start with copilot.com: some links arrive as utm_source=copilot.com?form=MG0AUO.
  3. Treat the total as a floor, especially on mobile. On sites measured by AEM Operational Telemetry in the 8 weeks to October 18, 2026, 93% of tagged mobile visits came with no referrer, so as the tag fades, those visits move to Direct.

The tag is fading fast: 85% of Copilot visits carried it in late April 2026, 17% by mid-October, as copilot.com (from mid-August) and Microsoft 365 Copilot took over from copilot.microsoft.com.

/widgets/ai-traffic/ai-traffic.html?assistant=copilot

All assistants

Perplexity: the referrer plus the tag

How to count
Referrer + tag
+
Referrer
perplexity.ai
+
Tag
utm_source=perplexity
the apps
=
Count both
no visit carried both, August 24 to October 18, 2026

Perplexity on the web sends https://www.perplexity.ai/ as the referrer, and no tag. Its apps do the opposite: they tag links utm_source=perplexity and send no referrer. On sites measured by AEM Operational Telemetry, August 24 to October 18, 2026, no visit carried both.

  1. Count visits with a perplexity.ai referrer.
  2. Add visits tagged utm_source=perplexity.

Skip the second step and you miss more than a third of Perplexity's visits, nearly all of them on mobile. That share has held steady since April 2026.

/widgets/ai-traffic/ai-traffic.html?assistant=perplexity

All assistants

Set up your reports so they keep counting

The same steps work in any analytics tool. For the exact settings, see our guides for Google Analytics 4, Adobe Analytics and Customer Journey Analytics.

Match these

Assistant
Referrer
utm_source
Leave out
ChatGPT

chatgpt.com

android-app://com.openai.chatgpt/

chatgpt.com

Google referrer: Organic Search.

oppref or olref: Paid.

Gemini
gemini.google.com
none now
–
Claude
claude.ai
none
–
Copilot

copilot.com

copilot.microsoft.com

copilot.cloud.microsoft

m365copilotapp.svc.cloud.microsoft

starts with copilot.com
–
Perplexity
perplexity.ai
perplexity
–
Channel order, first match wins
Paid
AI assistants
Referral and Organic Search
  1. Keep the UTM tag on the landing URL. Many app visits carry a tag and no referrer, so if a redirect or your tag setup drops the query string, they land in Direct.
  2. Create one channel for AI assistants and put it below your paid channels and above Referral and Organic Search, so it wins.
  3. Match a visit on the referrers and utm_source values from the steps above, whichever of the two it carries.
  4. Keep the Google exception from the ChatGPT steps: a utm_source=chatgpt.com visit with a Google referrer stays in Organic Search.
  5. Send ChatGPT ad clicks to Paid: match oppref or olref in the landing page URL, not the UTM tags. To report everything ChatGPT sends you, show ad clicks as their own line next to the AI channel, not inside it.
  6. Check a link yourself now and then: ask an assistant to link to attribution.now/t/check and see what arrives. Assistants change their links without notice.

All assistants