GA4 AI Traffic Channel Builder

GA4 got a native AI Assistant channel in May 2026 — and it doesn't include Perplexity. Default channel groups can't be edited, so complete AI coverage means building your own. Tick the assistants you care about and this generates the source regex, the Looker Studio filter, and the BigQuery clause, plus the ordering step that decides whether your channel reports anything at all.

11 of 11 sources · 6 the native channel misses

Sources to include

GA4 custom channel group — source regex

Admin → Data display → Channel groups → Create new. Add a channel named "AI Assistants" with the condition: Source · matches regex · this value.

chatgpt\.com|chat\.openai\.com|gemini\.google\.com|bard\.google\.com|copilot\.microsoft\.com|chat\.deepseek\.com|deepseek\.com|grok\.com|grok\.x\.com|claude\.ai|perplexity\.ai|meta\.ai|you\.com|chat\.mistral\.ai|poe\.com

Looker Studio / GA4 explore filter

Use as a RegExp match filter on Session source to isolate AI traffic in a report.

Session source  Matches regexp  ^(chatgpt\.com|chat\.openai\.com|gemini\.google\.com|bard\.google\.com|copilot\.microsoft\.com|chat\.deepseek\.com|deepseek\.com|grok\.com|grok\.x\.com|claude\.ai|perplexity\.ai|meta\.ai|you\.com|chat\.mistral\.ai|poe\.com)$

BigQuery (GA4 export)

Session-scoped filter against the collected traffic source in the events export.

WHERE REGEXP_CONTAINS(
  COALESCE(collected_traffic_source.manual_source, traffic_source.source, ''),
  r'^(chatgpt\.com|chat\.openai\.com|gemini\.google\.com|bard\.google\.com|copilot\.microsoft\.com|chat\.deepseek\.com|deepseek\.com|grok\.com|grok\.x\.com|claude\.ai|perplexity\.ai|meta\.ai|you\.com|chat\.mistral\.ai|poe\.com)$'
)

Two things that break this if you skip them

  1. 1. Order the channel above Referral. GA4 evaluates channel rules top to bottom and stops at the first match. Left below Referral, every AI session matches Referral first and your new channel stays empty — the most common reason this setup “doesn't work”.
  2. 2. Custom channel groups are not retroactive in every surface. Create it before the reporting window you care about, and keep the default AI Assistant channel in mind when comparing numbers — the two definitions will not agree while Google's native list differs from yours.

Runs entirely in your browser — no property access, no data sent. Host lists shift as assistants launch and rename; re-generate this periodically and diff it against your live channel group.

Why the native channel isn't enough

Google's AI Assistant channel works by rewriting the medium of a recognised session to ai-assistant, with the campaign set to the reserved value (ai-assistant). That is genuinely useful — it finally splits chatbot traffic out of the Referral bucket without any configuration.

The catch is the list. Recognition is Google's, not yours: the launch announcement named ChatGPT, Gemini and Claude, the live channel reference lists ChatGPT, Gemini, DeepSeek, Copilot and Grok, and Perplexity — one of the most-used answer engines — appears in neither. Sessions from anything unrecognised keep landing in Referral, and because the default channel group is read-only you cannot patch the gap where it happened.

A custom channel group fixes it in the only place you control, and has a second advantage: the definition is yours, so it stops drifting every time Google extends its list. The cost is that you own the maintenance — which is why this tool exists as a generator rather than a one-time copy-paste.

Frequently asked questions

Does GA4 track ChatGPT and Perplexity traffic automatically?

Partly. On 13 May 2026 Google added a native AI Assistant default channel that classifies sessions with medium = ai-assistant and campaign = (ai-assistant). Its published list covers ChatGPT, Gemini, DeepSeek, Copilot and Grok — but not Perplexity, and Claude's status has shifted between the launch announcement and the current channel reference. Anything outside Google's list falls into Referral, so a custom channel group is the only way to get complete coverage.

Why can't I just edit the AI Assistant channel?

GA4's default channel group is read-only — you cannot add or remove sources from it. The supported path is Admin → Data display → Channel groups → Create new, which clones the default set and lets you add your own channel with a Source matches regex condition.

My AI channel shows zero sessions. What's wrong?

Almost always channel ordering. GA4 evaluates channel rules top to bottom and assigns a session to the first rule it matches. If your AI channel sits below Referral, every AI session matches Referral first and your channel stays empty. Drag the AI channel above Referral and the sessions appear.

How often should I update the regex?

Quarterly is a reasonable cadence. New assistants launch, hostnames change (Grok has used both grok.com and grok.x.com), and Google keeps extending its native list. Re-generate the pattern and diff it against your live channel group rather than assuming last quarter's list still holds.

Is AI referral traffic actually worth a channel?

It is small but growing fast and converts unusually well — published 2026 analyses put AI referrals near 1% of all visits while reporting materially higher signup rates than average referral traffic. The practical argument is that you cannot report on a trend you never separated from Referral, and the setup cost is one channel group.

Does this tool need access to my GA4 property?

No. It generates configuration strings in your browser from the sources you tick. Nothing is transmitted, nothing is stored, and no property access is requested at any point.

Measuring AI search properly

A channel group tells you AI traffic arrived. Turning that into something you can act on — key events, assisted conversions, and a defensible view of what answer engines are worth — is a measurement plan, not a filter.