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: start with the tag
utm_source=chatgpt.comchatgpt.com android-app://com.openai.chatgpt/oppref olrefChatGPT 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.
- Count visits with
utm_source=chatgpt.com. - 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.
- Add visits with a
chatgpt.comorandroid-app://com.openai.chatgpt/referrer and no tag. There are few, but they are ChatGPT's. - If you advertise in ChatGPT, remove your ad clicks. They carry
oppreforolrefin 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.
Gemini: the referrer, then the hidden share
gemini.google.com2.1 measured
2.5 best estimate
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.
- Count visits with a
gemini.google.comreferrer. - 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.
Claude: the referrer, as a floor
claude.aiLinks 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.
- Count visits with a
claude.aireferrer. - 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.
Copilot: the referrer, now the tag is fading
copilot.com copilot.microsoft.com copilot.cloud.microsoft m365copilotapp.svc.cloud.microsoftcopilot.comMicrosoft 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.
- Count visits with a referrer from any of the four Copilot sites.
- Add visits tagged
utm_source=copilot.comthat arrived with no referrer. Match values that start withcopilot.com: some links arrive asutm_source=copilot.com?form=MG0AUO. - 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.
Perplexity: the referrer plus the tag
perplexity.aiutm_source=perplexityPerplexity 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.
- Count visits with a
perplexity.aireferrer. - 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.
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
utm_sourcechatgpt.com
android-app://com.openai.chatgpt/
chatgpt.comGoogle referrer: Organic Search.
oppref or olref: Paid.
gemini.google.comclaude.aicopilot.com
copilot.microsoft.com
copilot.cloud.microsoft
m365copilotapp.svc.cloud.microsoft
copilot.comperplexity.aiperplexity- 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.
- Create one channel for AI assistants and put it below your paid channels and above Referral and Organic Search, so it wins.
- Match a visit on the referrers and
utm_sourcevalues from the steps above, whichever of the two it carries. - Keep the Google exception from the ChatGPT steps: a
utm_source=chatgpt.comvisit with a Google referrer stays in Organic Search. - Send ChatGPT ad clicks to Paid: match
oppreforolrefin 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. - 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.