GA4 GUIDE 7 min read

How to See ChatGPT, Gemini and Perplexity Traffic in GA4

LastClarity

The short answer

GA4 has no built-in AI channel, so assistant referrals land in Referral. To separate them, build a Free Form exploration with Session source as the dimension and apply a regex filter matching chatgpt|openai|perplexity|gemini|claude|anthropic|copilot. That returns AI assistant sessions as their own group.

GA4 does not have an AI channel. Every visit from ChatGPT, Gemini, Claude, Perplexity or Copilot arrives as Referral and gets shuffled in with newsletter links, forum posts and everyone else who mentioned you. If you have been wondering whether AI assistants send you anything, the honest answer is that your Analytics has been hiding it in plain sight.

Here is how to get it back.

The 30-second version

Open Explore → Free form, set the dimension to Session source, add Sessions as the metric, then apply this filter:

Session source  matches regex
chatgpt|openai|perplexity|gemini|claude|anthropic|copilot

That single regex covers every mainstream assistant currently sending referral traffic. Everything below is the detail — why those specific strings, what the numbers mean, and where they lie to you.

Which hostnames actually arrive

Assistants do not send a tidy ai_assistant parameter. They send an ordinary HTTP referrer, and the hostname varies by product and by surface:

AssistantHostnames seen in sessionSourceMatch on
ChatGPTchatgpt.com, chat.openai.comchatgpt, openai
Geminigemini.google.comgemini
Claudeclaude.aiclaude, anthropic
Perplexityperplexity.ai, www.perplexity.aiperplexity
Copilotcopilot.microsoft.com, bing.com/chatcopilot

Two things worth noticing. ChatGPT migrated from chat.openai.com to chatgpt.com, so a filter written before the move silently under-counts — matching both substrings is not belt-and-braces, it is required for any lookback window that spans the change. And Copilot traffic can arrive as a bing.com path rather than a distinct host, which is why a naive Source = copilot.microsoft.com exact match misses a chunk of it.

Making it permanent: a custom channel group

An exploration answers the question once. A channel group answers it every time you open a report.

  1. Admin → Data display → Channel groups
  2. Open the default group and choose Copy
  3. Add a new channel — call it AI assistants — and drag it above Referral
  4. Condition: Source matches regex chatgpt|openai|perplexity|gemini|claude|anthropic|copilot
  5. Save

Order matters. Channel groups evaluate top-down and stop at the first match, so a rule placed below Referral will never fire.

A custom channel group changes how sessions are grouped in reports, not how they were collected. It will not repair rows already exported to BigQuery under the old grouping, and it does not apply to the Realtime report.

The number is a floor, not a total

This is the part most write-ups skip, and it is the part that will make you distrust your own dashboard if nobody tells you.

Three separate leaks sit between “an assistant cited you” and “GA4 recorded a session”:

  • Citations that never get clicked. The assistant answers the question in the chat. You were the source, you got no session. This is the largest gap and it is invisible from inside Analytics.
  • Stripped referrers. Some assistant surfaces and in-app browsers do not pass a referrer at all. Those sessions land in Direct, indistinguishable from someone typing your URL.
  • The first-hop problem. A user who opens a link, then navigates before the tag fires, can be attributed to the internal page rather than the assistant.

So when the number comes back smaller than you hoped, the correct reading is not “AI sends no traffic”. It is “AI sends at least this much traffic, plus an unknown amount that is unmeasurable from here.”

An AI Search Traffic panel listing ChatGPT at 1,106 sessions, Gemini 209, Claude 179, Perplexity 108 and Copilot 3, totalling 1,605 visits, beside a Smart Insights panel.
The same regex, run for you, on the Insights tab. Sample figures — but note how lopsided the split is, which is typical.

What to do with the number

Once you can see it, the useful move is to cross it with your landing pages. AI assistants cite specific pages, not domains. If three of your forty pages account for most assistant referrals, those three pages are the ones models find quotable — clear structure, direct answers, real numbers — and the other thirty-seven are the ones to rewrite.

That is the whole loop: see which pages get cited, work out what those pages do differently, do more of it.

We got tired of rebuilding this exploration

Every time we wanted this number, it was the same four minutes: new exploration, remember the regex, apply it, read it, close it, lose it. So we built it into a tab.

GA4 Simple View does the same regex match against sessionSource, normalises the hostname variants into one name per assistant (chatgpt.com and chat.openai.com both become ChatGPT), and puts the breakdown on the Insights tab next to everything else. Same data, same API, no exploration to rebuild.

The manual method above works perfectly well and costs nothing. Use it. If you find yourself running it weekly, that is when a shortcut starts paying for itself.

Questions people also ask

Each answer stands on its own, so it still makes sense quoted somewhere else.

Does GA4 have a built-in AI traffic channel?

No. As of September 2026 Google Analytics 4 has no default channel group for AI assistants. Referrals from ChatGPT, Gemini, Claude, Perplexity and Copilot are classified as Referral, mixed in with every other site that links to you. You have to separate them yourself with a regex filter on session source, or create a custom channel group.

What referrer hostnames do AI assistants actually send?

The common ones are chatgpt.com and chat.openai.com for ChatGPT, gemini.google.com for Gemini, claude.ai for Claude, perplexity.ai and www.perplexity.ai for Perplexity, and copilot.microsoft.com plus bing.com/chat for Copilot. Matching on the substrings chatgpt, openai, gemini, claude, anthropic, perplexity and copilot covers the current set.

Why is my AI traffic lower than I expected?

Three reasons. Assistants answer many questions without the user ever clicking through, so an citation produces no session at all. Some assistant surfaces strip the referrer, which sends the visit to Direct. And in-app browsers sometimes drop the referrer on the first hop. Treat the number as a floor, not a total.

Can I build a custom channel group for AI traffic in GA4?

Yes. In Admin, under Data display, open Channel groups, copy the default group, and add a new channel above Referral with the condition Source matches regex chatgpt|openai|perplexity|gemini|claude|anthropic|copilot. Channel groups apply to reports going forward and retroactively in most standard reports, but not to already-exported BigQuery rows.

Does the referrer tell me which answer cited me?

No. GA4 receives the hostname, not the conversation. You get the assistant name and the landing page, which is usually enough to infer the topic being asked about, but never the prompt itself. Pairing the landing page with your own content inventory is the closest you can get.

#AI Search#GA4#Attribution#ChatGPT#Referral Traffic

This is what we built instead

GA4 Simple View puts the numbers in this post on one screen, in one click, without building a report first.

Get the extension