Skip to content
AI for theMarketer
analytics

Measuring AI Referral Traffic: GA4 Setup & Attribution

The 30-minute GA4 setup that pulls ChatGPT, Perplexity and Copilot visits out of the referral haystack - and what those numbers can and cannot tell you.

Rob Vail8 min readUpdated

Visitors from ChatGPT, Perplexity and Copilot are already in your analytics. GA4 just files them where you’ll never notice: scattered through the Referral channel between blog mentions and partner links, a few sessions per source, invisible unless you go looking. This guide is the going-looking, done once, properly - a custom channel that collects every AI assistant into one line you can put in a monthly report. The whole setup happens in the GA4 interface. No code, no developer, about 30 minutes.

I’d do it this quarter rather than someday, because the line is growing while you’re not measuring it. Semrush’s analysis of ChatGPT traffic found outbound referrals from ChatGPT to the web grew 206% between January 2025 and January 2026, and Similarweb measures 9.5 billion monthly visits across generative AI platforms, up 70% year over year. Small channel, steep slope. The month you start collecting it cleanly is the month your trend line begins, and you can’t backfill a trend.

Where AI visits land by default

Update, September 2026: Google has since added a dedicated channel for this. GA4’s default channel group now defines an AI Assistant channel covering “sources like ChatGPT, Gemini, Deepseek, Copilot, or Grok,” so the headline number arrives in standard reports with no setup - the wider walkthrough of that channel and GA4’s other AI features is in my GA4 + AI setup guide. The custom channel group below is still what I run, because it splits the assistants from each other, which the single default channel can’t. Note one rule in Google’s definitions: clicks from Google’s own AI Overviews and AI Mode are filed under Organic Search, not AI Assistant.

Before that change, a click from an AI assistant arrived with medium=referral and landed in the generic Referral channel - and on properties where the new grouping hasn’t reached your reports yet, it still does. Nothing is lost - the sessions are recorded with their sources - but nothing is collected either. chatgpt.com, perplexity.ai, copilot.microsoft.com and gemini.google.com each sit as their own small row in the referral report, none big enough to catch the eye.

One vendor makes it slightly easier: OpenAI documents in its publishers FAQ that links in ChatGPT’s answers carry utm_source=chatgpt.com, added automatically since mid-2025. I find that tagging helpful and also mildly annoying, because it means ChatGPT traffic can show up under two different source values depending on how the click happened. The regex below catches both.

Two honest caveats before the setup. Clicks from some assistant mobile apps and in-app browsers arrive without a referrer at all, and those sessions land in Direct, where no channel rule can reclaim them - so treat your AI channel as a floor, not a total. And a session is only a session: the assistant recommending you to someone who never clicks leaves no trace here at all. More on that gap at the end, because it changes how you report this number.

The setup: one custom channel group

GA4 lets you create custom channel groups - two per standard property, up to 50 channels inside each, with regex matching, and Google’s documentation now uses AI assistant traffic as its worked example, which tells you how mainstream this ask has become. Applied changes work retroactively in reports, which is the feature that makes this worth doing even late: your existing history gets reclassified too.

The clicks, in the GA4 interface:

  1. Admin → Data display → Channel groups.
  2. Create new channel group (or edit a copy of the default - I prefer a new one named “Channels + AI”).
  3. Add new channel, name it AI assistants.
  4. Set the condition: Source → matches regex → paste the pattern below.
  5. Drag the new channel above Referral and Organic Search in the channel order, save, and set the group as a report filter wherever you read channels.

The regex I use, covering the assistants that send measurable traffic today:

.*chatgpt\.com.*|.*openai\.com.*|.*perplexity\.ai.*|.*copilot\.microsoft\.com.*|.*gemini\.google\.com.*|.*claude\.ai.*|.*meta\.ai.*|.*grok\.com.*

Three notes from setting this up more than once. Channel order matters - rules run top to bottom and the first match wins, so if your AI channel sits below Referral it never fires. The openai.com entry catches both the legacy chat.openai.com referrer and the UTM-tagged variants. And revisit the list twice a year, because assistants launch, rename and change domains - the pattern is a living thing, which is also why I keep it in a doc next to the report it powers.

If you’d rather hand this off, the entire request to whoever owns your analytics is one sentence: “create a custom channel group that collects AI assistant referrers into one channel, per Google’s own example in the custom channel groups documentation.”

Reading the numbers without fooling yourself

The session counts will be small, and if you judge this channel on volume you’ll conclude it doesn’t matter and stop looking. Judge it on what the visitors do. In Adobe’s analysis of AI-referred traffic, visitors arriving from AI assistants bounced 23% less, viewed 12% more pages and stayed 41% longer than other traffic. That matches the mechanism: someone who clicks out of an AI answer has already had the summary and wants more, which is a warmer visitor than most channels deliver.

So the monthly read I actually do, in a saved exploration with the custom channel group as the dimension:

  • Sessions and their trend. The direction is the story, not the level.
  • Engagement rate and conversions against the site average. This is the row that earns the channel its budget conversation - my experience matches Adobe’s data, and yours is the version your boss will believe.
  • Landing pages, split by AI source. This is the diagnostic gold: it tells you which pages the assistants are actually citing with links, which is evidence you can feed straight back into the citation work. A page that draws Perplexity clicks but no ChatGPT clicks is a prompt to go check how ChatGPT’s answers treat that topic.

What this setup cannot see

I put this section in every measurement piece I write, because a clean dashboard invites overconfidence. Your AI assistants channel counts clicks, and clicks are the minority of the influence. The assistant answering with your product’s name and no link, the user who reads the answer and Googles your brand ten minutes later, the recommendation inside an app that strips the referrer - all real, all invisible here, all landing in Branded Search or Direct if they land anywhere. That’s the zero-click attribution problem, and the two instruments that partially cover it are the ones from that guide: branded search volume as the leading indicator, and a free-text “how did you hear about us” field, which is the only place “ChatGPT told me” gets recorded verbatim.

The paired discipline is running monthly prompt tests - asking the assistants your ten money questions and logging who gets cited - so you have a record of visibility that doesn’t depend on the click. Between that log, this channel and the branded-search trend, you can honestly tell a stakeholder what AI search is doing for you. Any one of the three alone will mislead you in a different direction.

Where this fits

This is the measurement half of a loop whose other half is earning the citations in the first place - the passage discipline in the citation playbook, the platform mechanics across the AI SEO guides, and the crawler plumbing in the Perplexity and ChatGPT guides. Optimize without this channel and you’re flying blind. Set up the channel without the content work and you get what I’d describe as a beautifully instrumented flat line. The wider measurement stack, including what to do when the click never comes, lives in the complete guide to AI marketing.

FAQ

Do I need a developer for any of this? No. Channel groups are pure GA4 interface work, and Google’s docs walk the same example. The only version that needs engineering is if you want AI traffic pushed into a data warehouse or joined with CRM data, and that’s a later problem than most teams think.

Should I build this as a segment or audience instead of a channel group? Channel group first, because it changes how standard reports read with zero maintenance. I add an audience later only if I want to remarket to AI-referred visitors or watch them in real time. Segments in explorations work too, but they don’t follow you into the reports other people read.

Why did my AI channel suddenly jump or crater? Usually the platforms, not you. Assistants change their link formats, referrer policies and UI regularly, and each change moves the measured number without moving the underlying reality much. Before celebrating or panicking, check whether the shift lines up with a product change announcement, and whether engagement rate held - a real gain keeps its quality.