utm.new
ChatGPT logo
ChatGPT
ai

ChatGPT UTM parameters

ChatGPT is a real discovery surface: it browses, cites sources, and sends genuine referral clicks. You do not need to tag that traffic — GA4 recognizes the ChatGPT referrer and files it under its native AI Assistants channel on its own, and AnyTrack assigns an AI assistants channel the same way. There is no advertiser console and no click-ID macro for organic citations, and the link ChatGPT shows is your own canonical URL, so tagging it with utm_source=chatgpt would mislabel every visitor who lands on that link from any source. UTMs come back into play when you buy ChatGPT ads, where you author the destination URL.

Updated

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-assistant is 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:

  1. 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.
  2. 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/fbclid equivalent 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

  1. 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.
  2. 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.
  3. 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.

Frequently asked questions

Last reviewed
Do I need to tag links for ChatGPT traffic?

No. GA4 recognizes the ChatGPT referrer and files those sessions under its native AI Assistants channel automatically — Google's rule is that the medium "is set to ai-assistant … if the referrer matches a list of AI Assistants," and ChatGPT is one of the sources Google names. AnyTrack assigns an AI assistants channel from the referrer too. Organic ChatGPT traffic is classified with zero configuration.

Should I use utm_source=chatgpt and utm_medium=ai-assistant?

No — this is the most common mistake on this topic. The link ChatGPT cites is your canonical URL, the address it read off your page. To get a UTM onto it you would have to publish your canonical URL with ?utm_source=chatgpt permanently attached, which means every visitor from organic search, email, referrals, and bookmarks lands on that tagged link and reports as ChatGPT traffic. You would also overwrite GA4's correct referrer-based classification, because UTMs take precedence. Leave your canonical URLs bare.

Can I set UTM parameters inside ChatGPT?

Not for organic citations. ChatGPT has no advertiser console for the links it cites in answers, and no place to attach tracking parameters to them. Paid placements are different: OpenAI opened self-serve ChatGPT advertising in 2026, and an ad is a link you author, with a destination URL and a Landing page query parameters field for your UTMs. Tag those — see the ChatGPT Ads page for the template — and leave organic citations alone.

Why does some of my ChatGPT traffic still show as Direct / None?

Because that click arrived with no referrer at all. Referrer-based classification cannot fire on a signal that never came, and no UTM recovers it either — the tag would have to be on a link the model wrote. Treat your AI number as a floor with a known undercount, and capture visits server-side so you keep everything that did arrive.

What referrer hostname does ChatGPT traffic come from?

When a referrer is present it's commonly chatgpt.com (and historically chat.openai.com). You don't need to match on it yourself for GA4 reporting — GA4 already recognizes ChatGPT and files it under AI Assistants.

Does ChatGPT give me a click ID like gclid or fbclid?

Not for organic citations — there is no ChatGPT equivalent and no macro substitution at click time. Paid placements do have one: OpenAI appends oppref to every ad click's landing URL, and Ads Manager substitutes {campaign_id}, {ad_group_id}, {ad_id}, and {ad_account_id} macros. The ChatGPT Ads page covers the template.