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 clicks generally arrive with a claude.ai referrer that your analytics reads on its own. Like Perplexity, Claude isn't among the assistants Google names for its native AI Assistants channel, so in GA4 those sessions land in Referral under claude.ai — correctly sourced, just filed one bucket over. Group them with the other assistants using a custom channel group that matches the hostname by source. Never publish a canonical URL carrying utm_source=claude.

Updated

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 clicks generally carry a referrer your analytics reads without any help from you.

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 — and needs to hand you neither, because the referrer already does the job.

How Claude traffic appears in analytics

When Claude links out and the browser preserves the referrer, the click arrives as claude.ai. Where it lands depends on the tool:

  • In GA4: under Referral, source claude.ai. Google’s native AI Assistants channel fills from a list of assistant referrers, and Google names ChatGPT, Gemini, Deepseek, Copilot, and Grok. Claude isn’t among them, and Google doesn’t publish the list exhaustively. The traffic is correctly sourced — just filed with other referring sites.
  • In AnyTrack: the Campaign Report assigns every session a channel from the referrer and URL parameters, with conversions attached.

A share of Claude clicks carry no usable referrer at all and land as (direct)/(none). That’s the dark-traffic problem in miniature, and it’s the one part nothing fixes.

Getting Claude into an AI channel — the right way

If you want one row covering all AI assistants, widen the definition in GA4’s admin:

  1. In Admin → data stream reporting settings, create a custom channel group (you get a limited number, so plan the whole thing at once).
  2. Add a channel named AI Assistants.
  3. Condition: session medium exactly matches ai-assistant — catching everything GA4 already detected — OR session source matches claude.ai (and perplexity.ai, which sits in the same position).
  4. Order it above Referral and Direct. Rules evaluate top-down and first match wins.

This reads referrer data GA4 already collected. It doesn’t ask you to publish a falsified medium on your own pages.

For the receiver-side mechanics, see Google Analytics .

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’t tag a link the model writes. If Claude cites your homepage, that link carries whatever is on your canonical URL. There’s no way to reach into the model’s output and append a parameter — this is structural, not a config gap.
  • Referrer-less clicks are a hard floor. They land in Direct and nothing recovers them. Report the AI channel as a known undercount.
  • 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.
  • Server-side capture is the durability fix. It preserves sessions that did carry a referrer but would otherwise be lost to ad blockers, consent gates, and fast bounces.

Verification

  1. Find the referral row. In GA4, open Traffic acquisition and switch the dimension to Session source. claude.ai should appear under Referral with no setup on your part.
  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. Confirm your canonical URLs are bare. Check the pages Claude is most likely to cite for stray utm_ parameters.

For the bigger picture — reading AI traffic across all five assistants without inventing a convention for it — see the related guides below.

Frequently asked questions

Last reviewed
Where does Claude traffic show up in GA4?

Under Referral, with claude.ai as the source. GA4's native AI Assistants channel fills from a list of assistant referrers, and Google names ChatGPT, Gemini, Deepseek, Copilot, and Grok — Claude is not among them. The traffic is correctly sourced and fully visible, just filed alongside other referring sites rather than in the AI Assistants row.

Should I tag links with utm_source=claude to get them into the AI Assistants channel?

No. The link Claude cites is your canonical URL — the address it read off your own page. Tagging it means publishing that URL with parameters permanently attached, so every visitor from organic search, email, referrals, and bookmarks lands on it and reports as Claude traffic. UTMs also take precedence over referrer detection in GA4, so you'd overwrite classifications that were already right. Use a custom channel group matching claude.ai by source instead.

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. And you don't need one: the claude.ai referrer already identifies the source for both GA4 and AnyTrack.

Should the source be 'claude' or 'anthropic' in my reports?

You aren't setting a source for this traffic — GA4 records claude.ai from the referrer. The naming question only matters for links you genuinely author and place yourself, and in that case name the surface a person actually used. Reserve anthropic for the company-level brand if you ever need it.

Why does some Claude traffic show as Direct / None?

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

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. You'll see that Claude referred a click, via the claude.ai referrer — never which conversation or prompt produced it.