You’ve started seeing referrals from perplexity.ai and chatgpt.com in GA4. The question that follows is reasonable: should this traffic get its own channel, the way Paid Search or Organic Social does?
It already does, and Google built it. GA4 ships a native AI Assistants default channel that fills itself from the referrer. There is no setup, no tagging, and no admin work — and, importantly, there is one thing you should actively avoid doing.
The rule, verbatim
Google’s own channel-group documentation defines AI Assistants like this:
The medium exactly matches
ai-assistant. The medium is set toai-assistantand the campaign is set to(ai-assistant)if the referrer matches a list of AI Assistants.
Two sentences that do two different jobs, and the order matters:
- GA4 inspects the referrer. If it matches an assistant Google recognizes, GA4 writes
medium = ai-assistantandcampaign = (ai-assistant)onto the session itself. - The channel rule then reads that medium and files the session under AI Assistants.
So ai-assistant is GA4’s own output — a value it stamps on your data after it has already identified the source. The channel rule is Google reading its own handwriting. Google describes the channel as covering arrivals “from sources like ChatGPT, Gemini, Deepseek, Copilot, or Grok,” and explicitly excludes AI Overviews and AI Mode.
None of that requires anything from you. A visitor clicks a citation in ChatGPT, the referrer arrives, GA4 classifies it. Done.
Don’t set utm_medium=ai-assistant yourself
Every guide that tells you to “tag your links with utm_medium=ai-assistant” has the mechanism backwards, and following it does real damage.
Think about which link you’d be tagging. You can’t reach into ChatGPT’s answer — the model cites your canonical URL, the address it read off your own page. The only way to get a UTM onto that citation is to publish your canonical URL with the parameters already attached. Which means:
- Every visitor on that URL reports as an AI assistant. Someone arriving from organic search, your newsletter, a partner’s link, or a bookmark hits the same tagged address and gets stamped
ai-assistant. Your AI channel now contains traffic from everywhere. - You overwrite a correct answer with a wrong one. UTM parameters on the URL take precedence over referrer detection. GA4 had already identified the source correctly; your hand-typed medium replaces it.
- You’re forging the classifier’s output.
ai-assistantis a value GA4 assigns to mean “I recognized an assistant referrer.” Writing it manually makes that claim on GA4’s behalf for sessions where it isn’t true.
The old advice to avoid the bare utm_medium=ai was right about one thing — ai isn’t a recognized medium and lands in Unassigned. But the conclusion drawn from it was wrong. The answer isn’t to use a different medium value. It’s to not set a medium for organic AI traffic at all, because GA4 sets it for you and does it correctly.
What the native channel catches, and what it misses
The channel does a lot for free. Go in clear-eyed about the edges.
- Auto-detection is a referrer list. Google names ChatGPT, Gemini, Deepseek, Copilot, and Grok, and doesn’t publish the list in full. Perplexity and Claude aren’t among the named sources — those referrals land in Referral under
perplexity.aiandclaude.ai. Still visible, still correctly sourced, just one bucket over. - No referrer means no detection. A click that arrives with the
Refererheader stripped lands in Direct. Referrer auto-detection can’t fire on a signal that never arrived, and no tag fixes it — you didn’t author the link the model wrote. - AI Overviews and AI Mode are excluded by design. They render inside
google.com, so those clicks are ordinary organic search. Google says so explicitly. There’s no separate referrer, and nothing to configure. - It isn’t retroactive. Sessions that arrived before the channel existed stay classified the way they were at the time.
| Traffic | Where it lands | What you’d do |
|---|---|---|
| ChatGPT, Gemini, Copilot, Grok, Deepseek (with referrer) | AI Assistants | Nothing |
| Perplexity, Claude (with referrer) | Referral, under their hostname | Nothing, or a custom channel group |
| Any assistant, referrer stripped | Direct | Nothing recovers it |
| Google AI Overviews / AI Mode | Organic Search | Nothing — that’s what it is |
Your own URL tagged utm_medium=ai-assistant | AI Assistants, wrongly, for all its visitors | Remove the tag |
When a custom channel group is worth it
One legitimate use remains: pulling Perplexity and Claude in alongside the assistants Google detects, so a single row answers “how much traffic came from AI?”
This is an admin-level change, and it matches on source, not on a tag you invented:
- In Admin → data stream reporting settings, create a custom channel group (you get a limited number — plan the whole thing at once).
- Add a channel named AI Assistants (or your own label).
- Give it a condition that catches both halves: session medium exactly matches
ai-assistant— which picks up everything GA4 already detected — OR session source matchesperplexity.aiorclaude.ai. - Order it above Referral and Direct. Rules evaluate top-down and first match wins.
That’s the supported way to widen the definition. It reads referrer data GA4 already collected; it doesn’t ask you to falsify a medium on your own pages.
Custom groups apply going forward, and they still can’t recover Direct sessions — GA4 has nothing to match on there.
So — what should you do?
For organic AI traffic: nothing. Open Traffic acquisition, look at the AI Assistants row, and check Referral for perplexity.ai and claude.ai. The data is already correct because Google classified it from a signal you don’t control and don’t need to.
Build a custom channel group only if you want Perplexity and Claude counted in the same row. Audit your existing links for a stray utm_medium=ai-assistant or utm_medium=ai and strip it — that’s mislabeled traffic sitting in your reports right now.
Save the UTM discipline for links you genuinely author. When an assistant sells you an ad placement, you’ll set that destination URL yourself and tag it per that platform’s own documented template — the same way you tag Google or Meta. Until then, the referrer has it covered. The utm_id mechanics that make GA4’s cost reporting work are worth understanding for the campaigns you do author.
More in this series
- How to track ChatGPT, Perplexity, and Gemini traffic
- Why your AI traffic shows up as Direct / None — and how to fix it
- There is no UTM convention for AI search — and that’s the right answer
- Use AI to generate and govern your UTM taxonomy
- Agentic traffic: what AI shopping agents do to your attribution
- Tracking AI-generated ad campaigns without breaking your UTMs
- llms.txt and UTMs: why you shouldn’t tag the links AI assistants read