Track AI Traffic in GA4: Native Channel, Custom Group, Regex Test
To track AI traffic in GA4, read the native AI Assistant channel for new sessions, build a custom channel group for history and missed sources, and treat the total as a minimum.
By Harjot Chopra, Co-Founder ยท Updated 14 Oct 2026

Key takeaways
- Use both tools: the native AI Assistant channel for sources Google maintains, and a custom channel group for history and for any assistant the native channel leaves out. Report the result as a minimum.
Broad keyword patterns count unrelated sites. In a constructed example below, one matched
platform.openai.com,gemini.com,copilot.github.comandmycopilotrealty.comas AI traffic. Test any pattern on your own source list.- Clicks from Google's AI Overviews and AI Mode stay in Organic Search, and visits with no referrer land in Direct. Neither can be separated in GA4.
- GA4 records visits, not appearances. Whether assistants name or cite your brand without a click needs separate measurement.
In this article
- 1How do you track AI traffic in GA4 with the native AI Assistant channel?
- 2Should you use the native channel, a custom channel group, or both?
- 3How do you build a custom channel group for AI traffic in GA4?
- 4Why do broad AI traffic regex patterns report the wrong number?
- 5How do you estimate the AI visits that GA4 files under Direct?
- 6How big is AI traffic in GA4 data, and which assistant sends most of it?
- 7What can GA4 not tell you about AI visibility?
- 8Frequently asked questions
Traffic to US retail sites from generative AI tools rose 693.4% during the 2025 holiday season compared with the year before, according to Adobe Analytics. Retail is one sector, but the direction explains why marketing and finance leaders now want an AI line in their reports.
Google Analytics 4 (GA4) recognizes an AI visit mainly by its referrer, the address of the page the visit came from. A link copied into a new tab arrives with none, and GA4 files the visit under Direct.
Google now provides a native AI Assistant channel for this, but its list of assistants is Google's to maintain, and it excludes Google's own AI Overviews and AI Mode.
Below are the native setup, a custom channel group with a regular expression (regex) pattern and a published test of it, and a method for calculating a floor and an upper estimate for AI visits, so the number you report holds up when someone checks it.
How do you track AI traffic in GA4 with the native AI Assistant channel?
Open Reports, then Acquisition, then Traffic acquisition, and find AI Assistant in the Session default channel group column. Google announced the channel on May 13, 2026, and it appears without setup.
Google's channel definition reads: "The medium exactly matches 'ai-assistant'. The medium is set to 'ai-assistant' and the campaign is set to '(ai-assistant)' if the referrer matches a list of AI Assistants." It describes the channel as covering "sources like ChatGPT, Gemini, Deepseek, Copilot, or Grok" and says "It excludes Google's AI Overviews and AI Mode." Those clicks stay in Organic Search, so a report built only on the AI Assistant row undercounts Google's AI surfaces and cannot be corrected inside GA4. The launch notice also mentions Claude.
Run two checks before you trust the row:
- Source check.Add Session source (the site or app that sent the visit) as a secondary dimension. Pass: every assistant you expect appears inside the AI Assistant row. Fail: an assistant you see sending visits sits in Referral instead. Cover it with the custom group below.
- History check.Set the date range to April 2026. Pass: the row shows sessions. Zero rows means older AI visits still sit in Referral or Direct.
Should you use the native channel, a custom channel group, or both?
Use both. The native channel is maintained by Google and needs no upkeep. A custom channel group is a set of rules you write, and it covers history and any source Google's list leaves out. This is our recommendation.
| Aspect | Native AI Assistant channel | Custom channel group |
|---|---|---|
| Setup | None | A few steps in Admin |
| Sources covered | Google's list of assistants | Whatever your regex matches |
| History | Check with the April 2026 test | Applies to the date range you report on |
| Upkeep | You, when new assistants appear | |
| Main risk | A source you rely on is missing | A pattern that matches the wrong sites |
Keep the two side by side. If the custom group's total for a month is much larger than the native row's, read the difference source by source.
How do you build a custom channel group for AI traffic in GA4?
In Admin, go to Data display, then Channel groups, and create a new channel group. Add a channel named "AI traffic" with the condition Session source matches regex, paste the pattern below, then reorder the channel above Referral and save.

Order matters because GA4 assigns each session to the first channel whose rule it meets, reading top to bottom. If Referral sits above your AI channel, a visit from chatgpt.com is claimed by Referral and your channel shows nothing. "Matches regex" requires the whole source value to match, so the pattern needs no start or end markers.
(www\.)?(chatgpt\.com|chat\.openai\.com|perplexity(\.ai)?|gemini\.google\.com|copilot\.microsoft\.com|claude\.ai|grok\.com|chat\.deepseek\.com)|edgeservices\.bing\.com
The pattern accepts Perplexity with or without .ai and www.. Review it every quarter, because assistants and domains change. A Free form Exploration with Session source as rows and Sessions as values lists what the pattern is matching.
Why do broad AI traffic regex patterns report the wrong number?
A broad keyword pattern matches unrelated sites, and a strict domain list misses spelling variants. To show it, we ran three patterns against 25 session source values we wrote: 12 AI assistant hosts and 13 ordinary sources, including lookalikes. These are constructed examples, not live GA4 data, and a different list would give different counts.

The patterns, each applied as a full match:
- Broad:
.*chatgpt.*|.*openai.*|.*perplexity.*|.*claude.*|.*gemini.*|.*copilot.*|.*edgeservices.* - Simple list:
chatgpt\.com|chat\.openai\.com|perplexity\.ai|gemini\.google\.com|copilot\.microsoft\.com|claude\.ai - Final: the pattern in the previous section.
| # | Source value | Type | Broad | Simple list | Final |
|---|---|---|---|---|---|
| 1 |
| AI | match | match | match |
| 2 |
| AI | match | no | match |
| 3 |
| AI | match | match | match |
| 4 |
| AI | match | match | match |
| 5 |
| AI | match | no | match |
| 6 |
| AI | match | no | match |
| 7 |
| AI | match | match | match |
| 8 |
| AI | match | match | match |
| 9 |
| AI | match | match | match |
| 10 |
| AI | no | no | match |
| 11 |
| AI | no | no | match |
| 12 |
| AI | match | no | match |
| 13 |
| Ordinary | no | no | no |
| 14 |
| Ordinary | no | no | no |
| 15 |
| Ordinary | no | no | no |
| 16 |
| Ordinary | no | no | no |
| 17 |
| Ordinary | no | no | no |
| 18 |
| Ordinary | match | no | no |
| 19 |
| Ordinary | match | no | no |
| 20 |
| Ordinary | match | no | no |
| 21 |
| Ordinary | match | no | no |
| 22 |
| Ordinary | match | no | no |
| 23 |
| Ordinary | no | no | no |
| 24 |
| Ordinary | match | no | no |
| 25 |
| Ordinary | match | no | no |
Counted from the table: the broad pattern wrongly matched 7 of the 13 ordinary values (rows 18 to 22, 24 and 25) and missed 2 of the 12 AI values (rows 10 and 11). The simple list wrongly matched none and missed 6 of 12 (rows 2, 5, 6, 10, 11 and 12). The final pattern was written to cover these values, so use the test below on your own source list instead.
- Export Session source for the last 90 days, sorted by sessions.
- Read every source your pattern matches. Pass: each one is an AI assistant. Fail: any unrelated site, which you exclude or anchor more tightly.
- Read the top 50 unmatched sources. Pass: no AI assistant among them. Fail: add its domain to the pattern.
How do you estimate the AI visits that GA4 files under Direct?
Report a floor and an upper estimate. The floor is countable; the upper estimate is a bounded guess. Both are our model, not an official GA4 method.
- Floor = total sessions in your custom AI channel group for the period. First confirm that every Session source inside the native AI Assistant row also matches your pattern, and add any that does not, so the floor includes everything the native channel counts.
- Upper estimate = floor + excess Direct sessions on pages AI answers cite. For each cited page, excess = Direct sessions to that page in the period minus Direct sessions to the same page in a same-length earlier period, before AI answers sent you visits, if your data goes back that far. Count a page's excess only when it is above zero.
Call the second figure an upper estimate, not a ceiling. It leaves out AI visits to pages you did not identify as cited, and some Direct visits to cited pages are not from AI.
Add a capture check. Links that ChatGPT sends carry the UTM tag utm_source=chatgpt.com, as OpenAI describes in its Publishers and Developers FAQ. A UTM (Urchin Tracking Module) tag is a parameter added to a link's address that names the sender. Search Landing page + query string for utm_source=chatgpt.com. Pass: those sessions all sit in your floor. Fail: any sit outside it, which means the pattern or the channel order needs fixing.
The cited-pages list comes from outside GA4: test prompts by hand, or use a citation tracker such as ours (see the last section).
How big is AI traffic in GA4 data, and which assistant sends most of it?
ChatGPT sends most of it, but the share depends on the sample, and every sample here is a snapshot. SE Ranking, an SEO and AI visibility vendor, analyzed 101,574 websites in May 2026 and found ChatGPT referrals were 0.32% of traffic, up from 0.23% in April. ChatGPT held 75.96% of AI-platform referrals worldwide in 2026 (79.74% in 2025) and 72.41% in the US (75.78% in 2025).
Previsible, an SEO agency, analyzed 6.77 million AI-driven sessions across 166 GA4 properties from November 2024 to May 2026. Over that whole period ChatGPT was 92.4% of trackable LLM referral traffic. In May 2026 alone, out of 644,478 sessions, Gemini sent 18,119 (about 2.8%), Claude 8,528 (about 1.3%) and Perplexity 6,788 (about 1.1%); the percentages are our division of Previsible's counts. Perplexity peaked at 17,507 sessions in March 2025, a fall of 61% by May 2026, and Claude passed it in March 2026.
The two studies use different sites and methods, so treat them as a range, not a fact about your site. Adobe's retail data above points in the same direction as both: AI referrals are growing. Our inference: ChatGPT is likely to be the largest source in your AI row. Because the smaller sources shift quickly, re-read your source list every quarter.
What can GA4 not tell you about AI visibility?
GA4 cannot tell you whether an AI answer named or cited your brand, because it records only visits that reach your site. An answer that mentions you and sends no click leaves no trace in any channel, and Google's AI Overviews and AI Mode clicks are filed under Organic Search.
That blind spot matters when you plan content. If AI sessions rise on one page, GA4 cannot show whether competitors are cited for the prompts around it. PageLens.ai measures that side. We track up to seven engines (ChatGPT, Claude, Gemini, Perplexity, Google AI Mode, Grok and Copilot); the engine list and frequency depend on the plan. We report visibility, share of voice (the share of tracked AI answers that mention your brand compared with competitors), sentiment (the tone in which answers describe your brand) and the sources answers cite. Our traffic view shows sessions and GPTBot and ClaudeBot crawler activity by page, with Search Console, in one view.
As of October 2026, our prices in US dollars are:
- Launch, $299 a month: 100 tracked prompts, weekly, on ChatGPT, Google AI Mode and Perplexity.
- Growth, $699 a month: 100 tracked prompts, daily, adding Gemini and Grok.
- Enterprise, $1,499 a month: 200 tracked prompts, daily, on all seven engines.
- Agency: custom pricing.
Details are on our pricing page. To combine the two sources, compare the pages our citation data names with the landing pages in your AI row. Pages cited but missing from your AI sessions are the candidates for the upper estimate above. For method detail, see our guides to tracking AI citations over time, the metrics marketing teams should measure in AI search and running an AI visibility audit.
Book a demo and we will show you your brand's citations next to your own traffic.
See your brand's AI citations next to your traffic
Frequently asked questions
Sources
- 1.Google Analytics Help: What's new in Google Analytics (May 13, 2026 entry)
- 2.Google Analytics Help: Default channel group definitions, AI Assistant channel
- 3.Adobe: Holiday shopping season, generative AI traffic to US retail sites
- 4.OpenAI Help Center: Publishers and Developers FAQ
- 5.SE Ranking: Referral Traffic from ChatGPT Hit an All-Time High in May 2026
- 6.Previsible: 2026 AI Traffic Report
- 7.PageLens.ai pricing
- 8.PageLens.ai home page



