AI traffic analytics means measuring the visits that AI assistants such as ChatGPT, Perplexity, Gemini, Claude and Copilot send to your website. In Google Analytics 4 you have two ways to do it: the built-in AI Assistant channel that Google now ships in the default channel group, and a custom channel group with your own regex when you want full control over which sources count.
This guide walks through both, gives you a copy-ready regex, shows how to check the setup and build a report, and explains the AI traffic that GA4 cannot see at all.
Three kinds of AI traffic, and which ones GA4 sees
"AI traffic" covers three different things. Only the first one is a clean, separate number in GA4.
| Type | Example | Where it shows up | How to measure it |
|---|---|---|---|
| Assistant referrals | A person clicks a link in a ChatGPT, Perplexity, Gemini, Claude or Copilot answer | GA4: the AI Assistant channel, or Referral if the source is not recognised | Default channel group or a custom channel group (below) |
| Google AI features | A click from an AI Overview or from AI Mode | GA4: Organic Search. Search Console: the "Web" search type | Not separable. Google counts these clicks inside overall search traffic |
| AI crawlers and fetchers | GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, PerplexityBot | Not in GA4. Google Analytics automatically excludes known bots and spiders | Server or CDN logs |
Google's AI features documentation confirms the second row: pages shown in AI Overviews and AI Mode "are included in the overall search traffic in Search Console", reported under the "Web" search type. GA4's own channel definitions say the AI Assistant channel excludes AI Overviews and AI Mode.
Option 1: use GA4's built-in AI Assistant channel
GA4's default channel group now has an AI Assistant channel. Google defines it as "the channel by which users arrive at your site from sources like ChatGPT, Gemini, Deepseek, Copilot, or Grok", and states that it excludes Google's AI Overviews and AI Mode.
The rule behind it is simple. When the referrer matches Google's list of AI assistants, GA4 sets the medium to ai-assistant and the campaign to (ai-assistant). The channel then picks up every session whose medium exactly matches "ai-assistant".
To see it, open Reports › Acquisition › Traffic acquisition and keep the primary dimension on the default channel group. AI Assistant appears as its own row next to Organic Search, Direct and Referral.
What Google does not publish is the full list of assistants behind the rule. The documentation names five examples. So check your own data: if sessions from claude.ai, perplexity.ai or chat.mistral.ai still appear under Referral, the built-in channel is not catching them, and Option 2 is for you.
Option 2: a custom channel group with a regex
A custom channel group lets you decide exactly which sources count as AI assistants. It has one more advantage: Google says custom channel groups "can be applied to your reports retroactively", so your history is reclassified too. Audiences are the exception and only change going forward.
Steps
- In GA4, go to Admin › Data display › Channel groups.
- Click Create new channel group. It starts as a copy of the default group, so all your other channels stay intact. Name it, for example, "Default + AI assistants".
- Add a new channel called AI assistants. Set the condition to Source, matches regex, and paste the regex from the next section.
- Drag AI assistants above Referral. GA4 puts traffic "in the first channel whose definition it matches", so a channel placed below Referral would never receive anything. Google also suggests you can place it above Organic Search.
- Save. In Traffic acquisition, switch the primary dimension to your new channel group.
Limits to know: standard GA4 properties allow 2 custom channel groups in addition to the predefined one, and GA4 360 properties allow 5. Each group can hold up to 50 channels.
The regex to paste
^(www\.)?(chatgpt\.com|chat\.openai\.com|perplexity\.ai|claude\.ai|gemini\.google\.com|copilot\.microsoft\.com|copilot\.com|chat\.deepseek\.com|grok\.com|chat\.mistral\.ai|meta\.ai)$
It lists the exact hostnames the main assistants run on, with an optional "www.". Google's regex documentation says GA4 uses full matching by default, so the anchors simply make that explicit. A source counts only if it is one of these domains, nothing more.
Before you paste it, open Explore › Free form, add Session source as a row and filter for values containing "gpt", "perplexity", "claude", "gemini", "copilot" or "deepseek". If your property records a source that is not in the list, add it to the regex with the same pattern.
Why not use Google's example regex?
Google's help page on custom channel groups includes a sample AI regex that starts with ^.*ai| and contains .*gemini.* and .*gpt.*. Because GA4 matches the full string, those patterns are broader than they look:
- ^.*ai matches any source that ends in "ai", so every SaaS site on a .ai domain that links to you lands in your AI channel.
- .*gemini.* also matches gemini.com, a crypto exchange, not Google's assistant.
- .*gpt.* matches any domain that contains "gpt", whatever the site is.
- The sample names Claude as a popular assistant but has no Claude pattern.
Google itself notes that you "should update your regex expression if URLs or the list of assistants you wish to measure change". An exact list is easier to keep honest.
Check that the setup works
- Ask an assistant a question that should cite one of your pages, or open one of your pages from a past answer, and click the link.
- Open Reports › Realtime and look for the visit's source.
- A day later, open Traffic acquisition with your custom channel group and confirm the session sits under AI assistants, not Referral.
These are the sources to expect. They are the web domains each assistant runs on.
| Assistant | Source you should see | Note |
|---|---|---|
| ChatGPT | chatgpt.com (older visits: chat.openai.com) | ChatGPT adds utm_source=chatgpt.com to links, so GA4 can attribute visits even without a referrer |
| Perplexity | perplexity.ai or www.perplexity.ai | Not among the five examples in Google's AI Assistant definition; check where it lands |
| Gemini | gemini.google.com | Named in Google's AI Assistant definition |
| Claude | claude.ai | Not among the five examples; check where it lands |
| Microsoft Copilot | copilot.microsoft.com or copilot.com | Named in Google's AI Assistant definition |
| DeepSeek | chat.deepseek.com | Named in Google's AI Assistant definition |
| Grok | grok.com | Named in Google's AI Assistant definition |
| Mistral Le Chat | chat.mistral.ai | Add it if it appears in your Session source list |
| Meta AI | meta.ai | Add it if it appears in your Session source list |
Why some AI visits still show as Direct
GA4 can only classify a visit if it knows where it came from. When an AI visit arrives with no referrer and no UTM tag, it falls into Direct. That happens when someone copies a URL out of an answer and pastes it into a browser, when a desktop or mobile app opens the link without passing a referrer, or when a link is opened with referrer data stripped.
ChatGPT's utm_source=chatgpt.com tag protects you from most of this, which makes it worth knowing when it breaks. Search Engine Roundtable reported on 14 October 2026 that ChatGPT links had stopped carrying the tag and the referrer. Cedric Huesler of Adobe compared about 500 pages and saw ChatGPT visits fall by roughly 31,000 a day while Direct visits rose by roughly 26,000 a day. On 15 October he updated his post: it was a bug, and the tags were back.
Two habits help. Add a GA4 annotation when you hear of an episode like this, so nobody reads the dip as lost interest. And watch Direct sessions that land on deep article pages: people rarely type those URLs, so a sudden rise there while AI Assistant sessions fall points to lost attribution.
Build a simple AI traffic report
Create a Free form exploration. Use your channel group (or the default group's AI Assistant channel) as a filter, Session source and Landing page + query string as rows, and the metrics below. Save it and check it monthly.
| Column | What it tells you |
|---|---|
| Sessions | How much traffic each assistant sends |
| Engaged sessions and engagement rate | Whether those visitors read or bounce |
| Key events and session key event rate | Whether AI visitors sign up, book or buy, compared with Organic Search |
| Total revenue (e-commerce) | Revenue per AI session against other channels |
| Landing page | Which pages assistants actually send people to, which are the pages to keep accurate and up to date |
Is this traffic worth the effort? A Semrush study found the average AI search visitor "is 4.4 times as valuable as the average visit from traditional organic search", measured by conversion rate. Google's own documentation says clicks from AI Overviews are "higher quality", with visitors spending more time on the site. Treat both as context, not a promise: the key event rate column in your own report is the number that counts.
Track AI crawlers in your server logs
Crawlers do not appear in GA4, and Google says you cannot turn off its known-bot exclusion. To see whether AI companies read your pages, look at your server or CDN logs for these user agents:
| User agent | Company | What it does, per the vendor |
|---|---|---|
| GPTBot | OpenAI | Crawls content that may be used to train OpenAI's foundation models |
| OAI-SearchBot | OpenAI | Surfaces websites in ChatGPT's search features; sites that block it will not appear in ChatGPT search answers |
| ChatGPT-User | OpenAI | Visits a page when a user asks ChatGPT or a custom GPT a question; not an automatic crawler |
| ClaudeBot | Anthropic | Collects web content that may be used for model training |
| Claude-User | Anthropic | Fetches pages when a Claude user asks a question |
| Claude-SearchBot | Anthropic | Crawls pages to improve Claude's search answers |
| PerplexityBot | Perplexity | Surfaces and links websites in Perplexity search results |
| Perplexity-User | Perplexity | Fetches pages for a user's question; Perplexity says it "generally ignores robots.txt rules" |
A one-line count on an Apache or Nginx access log:
grep -cE "GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|Claude-User|Claude-SearchBot|PerplexityBot|Perplexity-User" access.log
The user-triggered fetchers (ChatGPT-User, Claude-User, Perplexity-User) are the interesting ones: each hit means an assistant opened your page to answer someone. If the search crawlers never show up, check that your robots.txt is not blocking them with the free robots.txt AI-crawler checker.
From traffic to visibility
Referral visits are the effect. The cause is whether assistants mention and recommend you in the first place, and many mentions never produce a click. Many AI mentions don’t include a link at all. A brand can be recommended often and still see modest AI referral numbers, so measure both sides.
GA4 covers the visits. For the mentions, Rankfender (our product) checks every week how ChatGPT, Claude, Gemini, Mistral and Llama answer your buyers' questions, and reports mention rate, position in the answer, sentiment and competitor share of voice. On Professional plans and up it also connects Search Console and GA4, so both views sit in one project. It does not split out AI referral sessions for you; the GA4 setup above does that. See the AI visibility tracker, or run the free AI visibility checker first.
For the short definition of the term, see AI traffic analytics explained.
Frequently asked questions
Does GA4 track ChatGPT traffic automatically?
Yes, for visits that arrive with a referrer or ChatGPT's utm_source=chatgpt.com tag. GA4's default channel group has an AI Assistant channel that names ChatGPT, Gemini, DeepSeek, Copilot and Grok as examples. Visits without a referrer or tag still land in Direct.
Why does my ChatGPT traffic show as Direct or Referral?
Direct means GA4 received no referrer and no UTM tag, for example after a copy-paste or from an app. Referral means the source was recorded but did not match Google's assistant list; a custom channel group with the regex above fixes that.
Can I see clicks from Google AI Overviews or AI Mode separately?
No. GA4 counts them as Organic Search, and Search Console includes them in overall search traffic under the "Web" search type. Google's AI Assistant channel explicitly excludes both.
Do custom channel groups change my historical data?
Yes, in reports. Google says custom channel groups can be applied to reports retroactively. Audiences built on them only change going forward.
Which AI assistant sends the most traffic?
It depends on your market and audience. Your Session source report answers it for your own site in a minute; compare sessions and key events by source over at least a month, because volumes from smaller assistants swing a lot week to week.
Is AI traffic worth more than organic traffic?
One Semrush study found AI search visitors 4.4 times as valuable as the average organic visitor, based on conversion rate, and Google says AI Overview clicks are higher quality. Check your own key event rate by channel before you plan around either figure.
Sources
- Google Analytics Help: default channel group, including the AI Assistant channel
- Google Analytics Help: custom channel groups (steps, limits, AI example)
- Google Analytics Help: regular expressions, full vs partial match
- Google Analytics Help: known bot traffic exclusion
- Google Search Central: AI features and your website
- Search Engine Roundtable: ChatGPT UTM parameters missing, then restored
- Semrush: AI search SEO traffic study
- Ahrefs: do AI assistants link when mentioning brands?
- OpenAI: overview of OpenAI crawlers
- Anthropic: how Anthropic's bots crawl the web
- Perplexity: Perplexity crawlers






