ChatGPT is no longer just a chatbot — it’s a discovery surface. It browses the web, cites sources, and sends real people to real pages. The good news is that measuring it takes no work at all: your analytics already identifies it from the referrer. This page covers where that traffic appears, the one thing you should actively avoid doing, and where UTMs genuinely re-enter the picture.
ChatGPT as a traffic source
When ChatGPT answers a question that benefits from current information, it can browse and surface links — citations, recommended reading, the page it pulled a fact from. A user who clicks one becomes a visitor on your site.
The critical thing to internalize: the link ChatGPT shows is your link. ChatGPT doesn’t mint a tracking URL or wrap it in a redirect you configure. It surfaces the canonical URL it found. That single fact drives everything below — both why you can’t tag it, and why you shouldn’t try.
How its traffic appears in analytics
Mostly, correctly and automatically.
GA4 ships a native AI Assistants default channel. Google’s documented rule is that the medium “is set to ai-assistant and the campaign is set to (ai-assistant) if the referrer matches a list of AI Assistants” — and ChatGPT is one of the sources Google names, alongside Gemini, Copilot, Grok, and Deepseek. So ai-assistant is a value GA4 writes once it recognizes the referrer. It’s an output, not something you supply.
AnyTrack does the equivalent on its side, assigning every session a channel from the referrer and URL parameters, so AI assistants appear as their own channel in the Campaign Report with conversions attached.
The gap is referrer-less clicks. Some arrive with the Referer header stripped and land in (direct)/(none). That slice is unrecoverable — see the limitations below.
Why you shouldn’t apply a UTM convention here
Plenty of guides recommend tagging “the links you control that ChatGPT may cite” with utm_source=chatgpt&utm_medium=ai-assistant. Trace it through and it collapses.
Which link would you tag? ChatGPT cites your canonical URL. The only way to get parameters onto it is to publish your canonical URL with them already attached — https://yoursite.com/guide?utm_source=chatgpt as the address you expose to the world. Then:
- Every visitor reports as ChatGPT. Organic search, your newsletter, a partner link, a bookmark — all land on the tagged URL, all get stamped
chatgpt. You’ve inflated the AI channel with your whole audience. - You overwrite a correct answer. UTMs on the URL take precedence over referrer detection in GA4. The sessions that were already classified right now carry your manual label instead.
- You forge the classifier’s output.
ai-assistantis the value GA4 assigns to mean “I matched an assistant referrer.” Writing it by hand asserts a match GA4 never made. - You fragment your canonical URLs. A parameterized address in circulation is a second version of the page, cited and linked as though it were real.
For how the receiving end classifies all this, see Google Analytics .
Where UTMs do belong: ChatGPT ads
OpenAI opened self-serve advertising in ChatGPT during 2026, and that changes the picture completely — for paid placements only.
An ad is a link you author. You set the destination URL, you control the query string, and the platform provides its own macros and click-ID parameter. At that point you tag it exactly the way you tag Google Ads or Meta: Ads Manager’s Landing page query parameters field, its {campaign_id} / {ad_group_id} / {ad_id} macros, and utm_source=chatgpt with utm_medium=cpc. OpenAI appends its own click reference, oppref, on every click. The full template, the level-precedence rule, and the Pixel/Conversions API setup are on ChatGPT Ads .
Two rules:
- Verify against OpenAI’s own advertiser docs when you set it up. Ads Manager is in beta and the macro list can change. The ChatGPT Ads page tracks it; OpenAI’s Measure results article is the primary source.
- Keep paid separate from organic. An ad placement inside ChatGPT and a citation in a ChatGPT answer are different channels that share a brand name. Tagged ad clicks report as
chatgpt / cpc; organic citations stay in GA4’s AI Assistants channel.
Limitations and gotchas
- No click ID for organic citations. There’s no
gclid/fbclidequivalent and no click-time substitution for the links ChatGPT cites in answers. - You can’t tag a link the model writes. There is no file, header, or convention that injects parameters into a URL generated inside someone else’s product. This is structural, not a configuration gap.
- Referrer-less clicks are a hard floor. They land in Direct and nothing recovers them. Report the AI channel as a known undercount rather than inflating it.
- Server-side capture is the durability fix. It won’t conjure a referrer that never arrived, but it stops you losing sessions that did carry one to ad blockers, consent gates, and fast bounces.
Verification
- Check the AI Assistants channel. In GA4, open Reports → Acquisition → Traffic acquisition by default channel group. AI Assistants should be a row, with no configuration on your part. Switch the dimension to Session source for the breakdown by assistant.
- Confirm your canonical URLs are bare. Open the pages ChatGPT is most likely to cite and check the address has no
utm_parameters baked in. - Size the Direct floor. Compare your AI Assistants sessions against the trend in
(direct)/(none). You can’t split them apart, but you’ll know roughly how much is unattributable.
ChatGPT won’t hand you a tracking parameter for its citations, and it doesn’t need to — the referrer already does the job. For the bigger picture, read how to track ChatGPT, Perplexity, and Gemini traffic, why AI search needs no convention of its own, and how GA4’s native AI Assistants channel works.
