utm.new
Claude logo
Claude
ai

Claude UTM parameters

Claude is Anthropic's assistant at claude.ai. When it browses the web or cites sources, it links out — and those outbound links are the only place tracking enters. You can't configure UTMs inside Claude: there's no ad-style URL template and no click-ID macro. What you can tag is the links you control that Claude may surface. Tag them utm_source=claude, utm_medium=ai-assistant so the clicks land in GA4's native AI Assistants channel instead of (direct)/(none) or a generic referral.

Published
Recommended UTM template
Open in builder →
utm_sourceclaude
utm_mediumai-assistant
utm_campaign(set per campaign)
utm_id(set per campaign)
utm_term(set per campaign)
utm_content(set per campaign)

Claude is Anthropic’s assistant, used mainly at claude.ai (and in apps built on Anthropic’s API, though those don’t refer web traffic the way the chat surface does). When Claude browses the web or answers from sources, it can cite them with outbound links — and those outbound links are the only place tracking enters the picture. Claude is somewhere people read answers, not a console where you build campaigns.

That’s the key difference from every “sender” you tag in an ad account. Meta Ads, Google Ads, and the rest hand you a field for a UTM template and a click ID they append automatically. Claude hands you neither: no URL-parameters field, no gclid/fbclid equivalent, no macro substitution. So the honest framing is this — you can’t tag traffic inside Claude. You tag the links you control — your own pages, the canonical URLs you publish — that Claude may surface in an answer. Everything below follows from that.

How Claude traffic appears in analytics

When Claude links out and the browser preserves the referrer, the click usually arrives as claude.ai. But as with all AI assistants, a large share of Claude clicks carry no usable referrer at all — they land as (direct)/(none) in GA4, or merge into a generic referral bucket.

This is the dark-traffic problem in miniature. Client-side analytics reads the referrer to assign a source; when the referrer is stripped, the source disappears, and the click silently folds into your direct or unassigned traffic. You can’t change Claude’s referrer behavior. What you can do is make the link itself carry the source, so attribution doesn’t hinge on a header that may never arrive.

The UTM convention to apply

Tag the links you publish that Claude is likely to cite — documentation, comparison pages, anything written to be AI-readable — with a deliberate, consistent pair:

ParameterValueWhy
utm_sourceclaudeNames the assistant people actually used. Keep anthropic for the company brand if you ever need it.
utm_mediumai-assistantThe value GA4’s native AI Assistants channel recognizes, and the shared medium across every assistant in this catalog. Lets you group Claude, ChatGPT, Perplexity, Gemini, and Copilot in one channel.
utm_campaign(your call)Optional. Use it for the content theme or initiative the link belongs to.

Values are lowercase and hyphen-separated, always. Claude, claude, and CLAUDE create three separate rows in GA4 and split your reporting for no reason.

Limitations and gotchas

  • No click ID, no per-conversation token. Claude exposes nothing like gclid. You can confirm that a click came from Claude, never which conversation or prompt produced it.
  • You can only tag links you control. If Claude writes a bare citation to your homepage, that link carries whatever you put on your canonical URL — and nothing if you put nothing. You can’t reach into the model’s output and append a UTM.
  • Don’t UTM-tag internal links. A UTM on a link between your own pages overwrites the original source on the next pageview. Tag external-facing canonical URLs only.
  • API traffic isn’t web referral traffic. Apps built on the Claude API don’t send claude.ai referrals; this page is about the chat surface where people click citations.

Verification

  1. Visit your tagged URL in a normal browser and confirm the UTMs land in the address bar and register in GA4 real-time as claude / ai-assistant.
  2. Ask Claude a question it should answer with your page, click the citation, and inspect the landing URL and the referrer your analytics records — that shows how Claude’s referrer behaves for your domain specifically.
  3. Check the AI Assistants channel. Confirm your utm_medium=ai-assistant traffic is landing in GA4’s native AI Assistants channel instead of Unassigned. For the receiver-side mechanics, see Google Analytics .

For the bigger picture — building a convention across all five assistants and getting the most out of GA4’s native AI Assistants channel — see the related guides below.

Frequently asked questions

Last reviewed
Can I set UTM parameters inside Claude?

No. Claude has no advertiser URL-parameters field and no click-ID macro like gclid or fbclid. It's an assistant, not an ad platform. The only links you can tag are the ones you control — your own pages, the URLs you publish that Claude may cite when it browses. Tag those with utm_source=claude&utm_medium=ai-assistant so referred clicks land in GA4's native AI Assistants channel.

What referrer does Claude send?

When Claude links out and the referrer is preserved, it typically arrives as claude.ai. But like every AI assistant, a meaningful share of clicks pass no usable referrer at all and land as (direct)/(none) in GA4. The UTM on the link is what survives when the referrer doesn't.

Should utm_source be 'claude' or 'anthropic'?

Use claude. The source string should name the surface a person actually used, and people say they got the answer from Claude. Reserve anthropic for the company-level brand if you ever need it. Pair claude with utm_medium=ai-assistant across every assistant so they group together in GA4's native AI Assistants channel.

Why does my Claude traffic show up as Direct / None in GA4?

AI assistants frequently strip or omit the HTTP referrer, so the click arrives with no source and GA4 files it under (direct)/(none). The fix is on your side: put utm_source=claude&utm_medium=ai-assistant on the links you publish that Claude is likely to cite. The UTM survives even when the referrer is gone, and ai-assistant is the value GA4's native AI Assistants channel recognizes. See the GA4 channel guide.

Does utm_medium=ai-assistant work in GA4 out of the box?

Yes. GA4 now ships a native AI Assistants default channel that classifies any session whose medium is exactly ai-assistant — no custom channel group required. So utm_medium=ai-assistant links from Claude land there automatically, alongside Claude, ChatGPT, Perplexity, Gemini, and Copilot. Note the literal value ai is not recognized and would still fall into Unassigned, which is exactly why the value to use is ai-assistant. GA4 also auto-detects ChatGPT, Gemini, and Copilot by referrer, but Claude isn't on that auto-detect list — so tagging your links is what classifies Claude traffic into the channel.

Can I track which Claude conversation linked to me?

No. Claude exposes no click ID and no per-citation token, and you can't tag a link the model writes itself — only the canonical URLs you publish. You'll see that Claude referred a click (via the referrer or your utm_source=claude tag), not which conversation or prompt produced it.