How to Track AI Referral Traffic in GA4: The Complete 2026 Guide
By Satish K · 18 min read · Published May 21, 2026 · Last updated: May 30, 2026
Most ChatGPT, Claude, and Perplexity referrals land in GA4 as (direct)/(none). Here is how to recover them across 5 GA4 surfaces, including the new native AI Assistant channel, backed by 55 days of first-party data.
TL;DR
- AI assistants now drive measurable referral traffic, but most of it lands in GA4 as (direct)/(none) and looks like noise (Astiva AI tracks it across all 10 platforms).
- Across 1,569 sessions on a tracked B2B SaaS property (Mar 14 – May 7, 2026), 114 sessions came from named AI assistants while 793 sessions were unattributed (direct).
- Claude is the only major AI assistant that passes a clean HTTP Referer on nearly every click; claude.ai / referral shows 102 sessions with a 73.5% engagement rate.
- ChatGPT (chatgpt.com / referral) shows only 7 sessions in the same window because most ChatGPT clicks strip the Referer header.
- GA4 added a native "AI Assistant" Default Channel Group in mid-2026 covering ChatGPT, Gemini, DeepSeek, Copilot, and Grok automatically (per Google's documented list). Claude, Perplexity, Meta AI, Mistral / Le Chat, You.com, Poe, and NotebookLM are not in Google's recognised list, so a custom Channel Group regex is still required to recover the traffic GA4 has but does not surface by default.
- To go from "session counted" to "did this session convert," you need a tracking layer that survives the Referer-strip; Astiva AI ships native GA4 revenue attribution from the Growth plan, tying each AI citation back to the session and downstream conversion in your existing GA4 property.
What Is AI Referral Traffic and Why Does GA4 Miss It?
AI referral traffic is the human clicks your website receives when someone reads an AI-generated answer (in ChatGPT, Claude, Perplexity, Gemini, Grok, Copilot, Meta AI, DeepSeek, Mistral, You.com, or Poe) and clicks a citation back to your domain. GA4 misses most of it because AI assistants either strip the HTTP Referer header at click time or send a referer GA4 has never been told to classify as a marketing channel. The result: AI-sourced sessions land in (direct)/(none), the same bucket as people typing your URL.
Definition: AI referral traffic
- A session on your website that originated from a user clicking a link inside an AI assistant's answer. It is distinct from AI crawler traffic (bots indexing your site for training or retrieval): referral traffic is a human; crawler traffic is software. Astiva AI is the Competitive Intelligence platform for AI Search and Visibility, helping brands understand how they perform against competitors inside AI-generated answers from major AI platforms including ChatGPT, Claude, Google Gemini, Google AI Overviews, Google AI Mode, Perplexity, Grok, Meta AI, DeepSeek, and Mistral AI, and ships native GA4 revenue attribution from the Growth plan to connect each AI citation to the GA4 session it produced.
That distinction matters because the crawler-to-human ratio is brutal. Across the Astiva AI platform we see roughly 500,000 ClaudeBot crawl visits for every 1 human referral from claude.ai, 3,700 GPTBot crawls per 1 ChatGPT human referral, and 700 PerplexityBot crawls per 1 Perplexity human referral (Astiva AI server-log analysis, May 2026). Cloudflare's network-wide AI bot traffic data shows similar order-of-magnitude gaps between crawl and referral, with the structural cause being that training crawlers have no referral pathway back to publishers. Anyone treating crawler hits in their server logs as "AI traffic" is over-counting by three to five orders of magnitude. The number that matters for revenue is the human-click number, and that is the number GA4 obscures. The Astiva AI methodology is published at astiva.ai/methodology.
Why Do AI Assistants Land in (direct)/(none) by Default?
GA4 assigns a session to (direct)/(none) when the incoming request has no UTM parameters, no Google Click ID, no Google Ads auto-tagging, and no recognised HTTP Referer. Three things conspire to push AI traffic into that bucket:
- No Referer header. Most AI clients render citations as target="_blank" links with rel="noopener noreferrer" for security. The noreferrer attribute strips the Referer at the browser level, so the request arriving at your origin has no source. Across the AI assistants tracked, 70.6% of AI-referred sessions arrive with no Referer header on the first request.
- No UTM tags. AI assistants do not append utm_source=chatgpt to the URLs they cite. You get the canonical URL as the publisher wrote it.
- No GA4 channel rule. Even when the Referer is sent (Claude, Gemini, some Bing AI surfaces), GA4's default channel definitions classify claude.ai or chat.openai.com as generic "Referral" rather than "AI." So a session is technically tracked, but the report you actually look at (Acquisition → User acquisition by Default Channel Group) labels it Referral next to LinkedIn and Reddit, and you scroll past it.
The fix is not new tracking infrastructure. It is a configuration change.
Which AI Assistants Pass a Referer Header (and Which Don't)?
Behaviour varies sharply by client. Here is what production data from a tracked B2B SaaS property shows over a 55-day window (March 14 – May 7, 2026), pulled directly from the GA4 Traffic acquisition → Session source/medium report.
Table 1: AI referral sessions captured on a tracked B2B SaaS property over 55 days (Mar 14 – May 7, 2026). Source: Astiva AI first-party analytics.
| Source / Medium | Sessions | Engaged sessions | Engagement rate | Avg engagement time | Referer behaviour |
|---|
| claude.ai / referral | 102 | 75 | 73.5% | 95.6s | ✅ Passes Referer consistently |
| chatgpt.com / referral | 7 | 6 | 85.7% | 34.7s | ⚠️ Strips Referer on most clicks |
| chatgpt.com / (not set) | 2 | 0 | 0% | 0s | ⚠️ Source detected, medium missing |
| gemini.google.com / referral | 2 | 1 | 50.0% | 19.0s | ⚠️ Sometimes passes, sometimes not |
| notebooklm.google.com / referral | 1 | 0 | 0% | 0s | ⚠️ Inconsistent |
| (direct) / (none) | 793 | 322 | 40.6% | 107.5s | ❌ Includes hidden AI traffic |
A few patterns worth pulling out:
- Claude is the cleanest signal. 102 attributed sessions at 73.5% engagement is higher than any organic-search or social channel in the same window. When Claude cites you, the user has already read a 200-word answer summarising your domain, so they click with intent.
- ChatGPT's gap is not a popularity gap. ChatGPT has a far larger global user base than Claude (OpenAI reported 800 million weekly active users in 2025), yet it reports only 7 attributed sessions here vs Claude's 102. The difference is rel="noreferrer" on chatgpt.com citation links. The actual ChatGPT-sourced volume is hidden inside (direct)/(none).
- The big (direct)/(none) block is over-counted in another direction too. Some of those 793 sessions are genuinely direct (people typing the URL into their browser). But a sample of session-level paths shows roughly 15–25% land on deep blog URLs that no one would type, and those are stripped-referer AI clicks.
- Grok, Meta AI, DeepSeek, Mistral show zero rows. That doesn't mean zero traffic; it means every click from those clients arrives without a Referer, so the source is lost. Once you set up UTM-based tracking at the citation source, these clients become visible too.
The takeaway
- GA4 already has the signal for Claude, partial signal for Gemini and ChatGPT, and zero signal for everything else. Your job is to (a) reclassify the signal it has, and (b) add a UTM strategy to recover the signal it doesn't.
What Are the 5 Ways to Surface AI Traffic in the GA4 Dashboard?
There are five places inside GA4 where you can surface AI referral traffic. The first is the native "AI Assistant" channel Google shipped in mid-2026: zero setup, but only covers ChatGPT, Gemini, DeepSeek, Copilot, and Grok (Google's documented list). The other four (Traffic Acquisition filter, Custom Channel Group, Exploration, Dark AI Traffic segment) are still required for everything else: Claude, Perplexity, Meta AI, Mistral / Le Chat, You.com, Poe, and NotebookLM. Use them together; they are complementary, not alternatives.
Table 2: GA4 surfaces for AI traffic, by setup time and use case.
| # | GA4 surface | Setup time | Access required | Best for |
|---|
| 0 | Native "AI Assistant" channel (2026 update) | 0 seconds | Viewer | ChatGPT, Gemini, DeepSeek, Copilot, Grok. Claude and others still need Method 2. |
| 1 | Business objectives → Generate leads → Traffic acquisition | ~30 seconds | Viewer | Quick checks, ad-hoc spot review |
| 2 | Custom Channel Group | ~4 minutes | Editor | Permanent reporting alongside Organic, Direct, Referral — covers all 12+ AI platforms |
| 3 | Exploration with regex filter | ~5 minutes | Standard user | Weekly per-platform breakdown with engagement metrics |
| 4 (optional) | Dark AI Traffic segment | ~3 minutes | Standard user | Estimating stripped-Referer AI sessions hiding in Direct |
Note: GA4 added a native "AI Assistant" channel in mid-2026
- Google Analytics now ships a Default Channel Group called "AI Assistant" that automatically classifies traffic from ChatGPT, Gemini, DeepSeek, Copilot, and Grok, with no setup needed. Google explicitly excludes its own AI Overviews and AI Mode from this channel; those still appear as Organic Search. Claude, Perplexity, Meta AI, Mistral / Le Chat, You.com, Poe, and NotebookLM are not in Google's recognised list either, so the Custom Channel Group (Method 2) is still required to surface them and to keep your reporting working when Google adjusts the native list. Treat the native channel and the custom channel as complementary, not redundant. (Source: Google Analytics Help, support.google.com/analytics/answer/9756891.)
Method 0 — Use GA4's Native "AI Assistant" Channel (2026 Update)
If you only care about ChatGPT, Gemini, DeepSeek, Copilot, and Grok, this is the shortest path: do nothing. In mid-2026, Google Analytics added a built-in Default Channel Group called "AI Assistant" that classifies traffic from these five platforms automatically by setting the medium to "ai-assistant" and the campaign to "(ai-assistant)" when the referrer matches. The channel appears in every Acquisition report alongside Organic Search, Direct, and Referral, with no regex, no admin permissions, and no configuration. Google explicitly excludes its own AI Overviews and AI Mode from this channel; those continue to land under Organic Search.
- Open Reports → Acquisition → Traffic acquisition (or User acquisition).
- In the primary dimension dropdown, confirm Default channel group is selected.
- Look for the AI Assistant row in the channel table; it appears automatically for properties that have received any ChatGPT, Gemini, DeepSeek, Copilot, or Grok referral traffic since the update rolled out.
- No further setup is required for these five platforms.
When to use it: As your fastest baseline for ChatGPT / Gemini / DeepSeek / Copilot / Grok reporting, and when sharing dashboards with stakeholders who do not have admin access to set up a Custom Channel Group.
Limitations (this is why Methods 1–4 still matter): the native channel covers only the five platforms Google explicitly recognises. It does not include Claude, Perplexity, Meta AI, Mistral / Le Chat, You.com, Poe, or NotebookLM. Those still appear as "Referral" unless you build the Custom Channel Group in Method 2. Google has not publicly committed to a schedule for adding more platforms, and Claude is a notable omission given its strong Referer-passing behaviour. Reporting that relies solely on the native channel will silently under-count any brand whose AI-citation footprint is heavier on Perplexity (high citation density) or on Claude, which is exactly what Astiva AI surfaces.
Method 1 — Filter the Traffic Acquisition Report by AI Source/Medium
This is the fastest way to see AI traffic in GA4 today, with no admin permission and no saved configuration. Use it when you want a one-off look at AI sources in the last 7, 28, or 55 days.
Step 1. Open Reports → Business objectives → Generate leads → Traffic acquisition.
Figure 1.1: Open the Traffic acquisition report under Generate leads.
Step 2. In the search box above the table, paste any single AI domain (e.g., claude.ai) to filter the existing table to that source.
Figure 1.2: Filter the table by a single AI domain (e.g., claude.ai) in the search box.
Step 3. To see multiple AI domains in one view, click the + next to the primary dimension and switch to Session source / medium.
Figure 1.3: Switch the primary dimension to Session source / medium.
Step 4. Apply a comparison: Session source / medium matches regex with the AI regex (the same pattern used in Method 2 below).
Figure 1.4: Apply a comparison filter with the AI regex.
Step 5. Adjust the date range top-right to read AI source totals over your chosen window (7, 28, or 55 days).
Figure 1.5: Adjust the date range and read off the AI source totals.
When to use it: Daily standup, "did we get any AI traffic this week?" checks, sharing a quick screenshot with the team. It is read-only and disposable; nothing persists when you close the tab.
Limitation: The filter resets every time you leave the report. It does not change how GA4 classifies the traffic in dashboards, audiences, or attribution. For that, you need Method 2.
Method 2 — Create a Custom Channel Group Called "AI Platforms"
GA4's Default Channel Group is read-only, but a Custom Channel Group turns AI traffic into a first-class channel that appears in every Acquisition report alongside Organic Search, Direct, and Referral. This is the single highest-leverage change you can make.
Step 1. Go to Admin → Data display → Channel groups.
Figure 2.1: Admin → Data display → Channel groups.
Step 2. Click Create new channel group and name it AI Platforms Channel Group.
Figure 2.2: Create new channel group, name it AI Platforms Channel Group.
Step 3. Click Add new channel and name it AI Platforms.
Figure 2.3: Add new channel named AI Platforms.
Step 4. Set the rule: Session source matches regex.
Figure 2.4: Set the rule Session source matches regex.
Step 5. Paste the AI assistants regex below into the rule value.
chatgpt\.com|chat\.openai\.com|perplexity\.ai|claude\.ai|gemini\.google\.com|grok\.x\.com|grok\.com|x\.ai|copilot\.microsoft\.com|bing\.com|meta\.ai|deepseek\.com|mistral\.ai|le\.chat|you\.com|poe\.com|notebooklm\.google\.com
Figure 2.5: Paste the AI assistants regex.
Step 6. Move the new AI Platforms channel above the default Referral channel. Rules are evaluated top-down, so this stops Claude from being re-classified as a generic Referral.
Figure 2.6: Move AI Platforms above Referral (rules evaluate top-down).
Step 7. Save the channel group configuration.
Figure 2.7: Save the channel group.
Step 8. Pin it to your reports. Open Reports → Business objectives → Generate leads → User acquisition and click the pencil to edit the report.
Figure 2.8: Open User acquisition and click the pencil to edit the report.
Step 9. Swap the Default channel group dimension for the AI Platforms Channel Group and save the report.
Figure 2.9: Swap the dimension to AI Platforms Channel Group and save.
When to use it: Permanent reporting. Once it is set up, every Acquisition report, every Looker Studio dashboard pointed at this property, and every audience definition can use AI Platforms as a channel. This is the change you ship once and benefit from forever; Astiva AI customers see this paired with prompt-level attribution that GA4 alone cannot collect.
Limitation: Channel groups apply going forward only. They reclassify historical sessions in reports, but they cannot recover sessions that never had a Referer. For that, you need Method 4 (and ultimately UTM tagging).
Method 3 — Build an Exploration for Per-Platform Breakdown
Channel groups roll up the totals. To see Claude vs ChatGPT vs Perplexity vs Gemini side-by-side, with engagement rate and avg engagement time per platform, you need an Exploration.
Step 1. Go to Explore → Blank exploration.
Figure 3.1: Explore → Blank exploration.
Step 2. Dimensions: import Session source / medium, Landing page + query string, Device category.
Figure 3.2: Import the dimensions.
Step 3. Metrics: import Sessions, Engaged sessions, Engagement rate, Average engagement time per session, Key events.
Figure 3.3: Import the five metrics.
Step 4. Variables → Filters: create a filter on Session source / medium → matches regex → paste the regex from Method 2.
Figure 3.4: Filter Session source / medium matches regex with the AI pattern.
Step 5. Drag Session source / medium into Rows, drag the five metrics into Values, then sort rows by Sessions descending.
Figure 3.5: Drag dimension to Rows, metrics to Values, sort by Sessions descending.
Step 6. Save as "AI Referral Traffic by Platform."
When to use it: Weekly review. This is the report you will actually live in. It shows which AI platform is converting (key events), which one drives the deepest engagement (avg time), and which landing pages each platform prefers (add Landing page as a secondary row dimension to drill in). Astiva AI customers also see this view extended with platform-level attribution for the dark-traffic pool.
Limitation: Like the channel group, this is bounded by what GA4 has a Referer for. It cannot surface stripped-Referer traffic; that requires Method 4 or off-site UTM tagging.
Method 4 (Optional, Advanced) — Build a "Dark AI Traffic" Segment
AI assistants strip the HTTP Referer header on roughly 70.6% of citation clicks. Those sessions land in (direct)/(none) indistinguishable from someone typing your URL, except for behavioural signatures. People typing your URL usually land on the homepage and bounce fast. People arriving from an AI citation usually land on a deep article page and read for a minute or more.
The Dark AI Traffic segment uses those behavioural signatures to estimate (not measure) the hidden AI pool. It is an upper-bound proxy, not an exact count.
Important: GA4 segment limitations
The traditional GA4 segment builder approach does NOT work because Session engaged does not exist as a dimension in segment builder, and Average engagement time per session is a metric, not a filterable dimension in segments. Use one of these two working alternatives instead.
Option A: GA4 Audience (recommended — only method with engagement time filter)
Audiences support dimensions that segments do not, including Session duration.
- Go to Admin → Audiences → New audience → Create a custom audience.
- Name it Dark AI Traffic (estimated).
- Add Condition 1: Session source / medium exactly matches (direct) / (none).
- Add Condition 2: Landing page does not exactly match /.
- Set Condition scoping: Across all sessions.
- Save.
Note: Audiences only track future users (not historical data). Wait 24-48 hours for data to populate.
Option B: GA4 Explorations (for immediate analysis of historical data)
Step 1. Go to Explore → Blank exploration.
Figure 4.1: Explore → Blank exploration.
Step 2. Import dimensions: Session source / medium and Landing page.
Figure 4.2: Import dimensions Session source / medium and Landing page.
Step 3. Import metrics: Sessions, Engaged sessions, Average engagement time per session, Engagement rate.
Figure 4.3: Import the engagement metrics.
Step 4. Drag Landing page to ROWS; drag all metrics to VALUES.
Step 5. Add Filter 1: Session source / medium exactly matches (direct) / (none). Step 6. Add Filter 2: Landing page does not exactly match /.
Figure 4.4: Filter for direct traffic landing on deep pages.
Step 7. Sort by Average engagement time per session (descending).
Figure 4.5: Sort by avg engagement time descending to surface the dark-AI candidates.
Step 8. Export to Google Sheets and filter rows where engagement time ≥ 60 seconds.
Why "Landing page does not exactly match /" is the correct filter
Use: Landing page does not exactly match /. This cleanly excludes ONLY the homepage / and automatically includes all deep pages (/blog/, /docs/, /pricing/, etc.). It is simpler and more reliable than "contains" logic. Do not use Landing page + query string contains /, because that matches EVERYTHING including the homepage; even the homepage / contains a slash.
Results
Apply any of these methods to see the estimated dark pool. On the same tracked property across the 55-day window, these approaches surface roughly 150–200 sessions out of the 793 Direct block: sessions that look like AI referrals but were stripped of attribution. This is the gap Astiva AI bridges with platform-level capture.
Why this matters
- The Dark AI segment does not attribute traffic to a specific AI platform; it cannot, since the Referer is gone. What it does is give you a defensible upper-bound number for AI traffic when you are reporting to a CFO or board. "We measured 114 AI sessions directly and an estimated 150–200 more hiding in Direct" is more honest than reporting just 114. Tune the thresholds to your site: if your homepage IS your main landing page (a SaaS marketing site), tighten the filter to specific deep paths like /blog/, /docs/. If you are a long-form publication, raise the engagement-time threshold to 90 or 120 seconds.
What Will You See After You Set This Up?
With all four methods in place, the same 55-day window on the tracked property looks completely different:
Table 3: Same data, different views — before and after applying the four methods.
| View | Before (default GA4) | After (3 methods + Dark AI segment) |
|---|
| AI Platforms channel (combined) | Not shown anywhere | 114 sessions as a first-class channel |
| claude.ai | Hidden inside generic Referral | Surfaced at 102 sessions, 73.5% engagement |
| chatgpt.com | Hidden inside generic Referral | Surfaced at 9 sessions across /referral + /(not set) |
| gemini.google.com | Hidden inside generic Referral | Surfaced at 2 sessions |
| notebooklm.google.com | Hidden inside generic Referral | Surfaced at 1 session |
| Dark AI (estimated, stripped Referer) | Buried in 793-session Direct block | Estimated 150–200 sessions via behavioural segment |
| Stripped-Referer AI traffic (definitive) | Lost in (direct)/(none) | Still un-attributable to a specific platform — needs UTM strategy (next section) |
Source: Astiva AI first-party analytics, Mar 14 – May 7, 2026 (same raw data, four different views). The 114 attributed + ~150–200 estimated Dark AI sessions is the floor, not the ceiling. Once you add UTM tagging or a tool that injects identifiers at the citation source, the directly-attributed number typically grows by 3–5× as the stripped-Referer clicks become attributable to a specific AI platform.
How Do You Capture AI Traffic That Strips the Referer?
The channel group fixes attribution for AI clients that send a Referer. To recover the rest (ChatGPT's noreferrer clicks, all of Grok, Meta AI, DeepSeek, Mistral, and most of Perplexity), you need to inject a tracking identifier into the URL before the AI assistant cites it. There are three approaches, in increasing order of completeness:
- Manual UTM tagging at the citation source. When you publish content on third-party platforms (Quora answers, Reddit comments, Medium, Substack, LinkedIn articles, guest posts), append ?utm_source=quora&utm_medium=community&utm_campaign=ai-citation to your own links. When an AI assistant scrapes that page and cites the URL, the UTM travels with the click. This works but only covers off-site mentions you control.
- Per-page tracking parameters on your own site. Add a ?ref=ai-page parameter to canonical URLs that AI assistants are most likely to cite. This requires server-side rewrites and disciplined canonical-URL hygiene, but it covers on-site citations the AI generated by reading your own content.
- Platform-level AI traffic capture. Tools like Astiva AI monitor which prompts on which AI platforms are citing your domain (and your competitors'), then enrich GA4 with the prompt-level attribution that GA4 itself can never collect because the Referer header was destroyed before the request reached your origin. This is the only approach that closes the loop from "AI cited me" to "user clicked" to "user converted."
Important
- None of these tactics retroactively recover the AI traffic already in (direct)/(none). They only fix forward-looking attribution. The 793-session direct block from this report stays unrecoverable; your baseline starts the day you ship the change.
Key Takeaways
- AI assistants drove 114 attributed sessions on the tracked property in 55 days; the largest single AI channel was Claude at 102 sessions (73.5% engagement rate), making it higher-engagement than organic search in the same window.
- 70.6% of AI-sourced sessions arrive with no HTTP Referer header, which is why GA4's default reports under-count AI traffic by 3–5× across most domains.
- There are 5 ways to surface AI traffic in GA4: GA4's native "AI Assistant" channel shipped in mid-2026 (zero setup, but only covers ChatGPT, Gemini, DeepSeek, Copilot, and Grok per Google's documented list; Claude is notably absent), plus a Traffic Acquisition filter (~30 sec, anyone), a Custom Channel Group (~4 min, Editor role, covers all 12+ AI platforms), an Exploration with regex filter (~5 min, per-platform detail), and a Dark AI Traffic segment that estimates stripped-Referer sessions hiding in Direct using behavioural signatures.
- Crawler-to-human ratios are extreme: roughly 500,000 ClaudeBot visits per 1 human referral, 3,700 GPTBot crawls per 1 human referral, and 700 PerplexityBot crawls per 1 human referral. Counting bot hits as "AI traffic" inflates numbers by orders of magnitude.
- To capture stripped-Referer AI traffic at the platform level, you need UTM tagging at off-site citation sources or a platform that injects prompt-level attribution into the user click. The Dark AI segment is an estimate, not platform attribution. Astiva AI provides that platform-level attribution.
- The biggest mistake in AI analytics in 2026 is treating GA4 reports as the source of truth without changing the channel group. Every dashboard built that way under-reports AI by default.
Frequently Asked Questions
How do I see ChatGPT referral traffic in Google Analytics?
In GA4, go to Reports → Acquisition → Traffic acquisition and filter the Session source / medium dimension for chatgpt.com. You will see the visible portion of ChatGPT traffic, but most ChatGPT citation clicks strip the Referer header via rel="noreferrer", so the bulk of ChatGPT-sourced sessions land in (direct)/(none). To see the full picture, build a Custom Channel Group with a regex covering AI assistant domains and add UTM tagging on the off-site sources ChatGPT cites.
Why does Claude show more GA4 traffic than ChatGPT despite ChatGPT having a larger user base?
Claude passes a clean HTTP Referer header on nearly every citation click, while ChatGPT applies rel="noreferrer" to most citation links. This is a tracking artefact, not a popularity gap. Claude's 102 attributed sessions on the tracked property over 55 days vs ChatGPT's 7 reflects header behaviour. Actual ChatGPT-sourced volume is hidden inside the (direct)/(none) bucket and can only be recovered through UTM tagging at the citation source.
What is the difference between AI crawler traffic and AI referral traffic in GA4?
AI crawler traffic is automated bots (GPTBot, ClaudeBot, PerplexityBot, Google-Extended) indexing your site for training or retrieval-augmented generation. These almost never appear in GA4 because they do not execute JavaScript. AI referral traffic is human users who clicked a citation inside an AI-generated answer and landed on your site. GA4 measures only the human-referral side. Crawler traffic shows up in your server logs (Nginx, Cloudflare, CDN access logs), not in GA4. Astiva AI ingests both signals.
What regex should I use for the AI Platforms channel group in GA4?
The full copy-pasteable pattern is shown in the highlighted code block under Method 2, Step 5. It covers ChatGPT, Claude, Perplexity, Gemini, Grok, Copilot, Meta AI, DeepSeek, Mistral, NotebookLM, You.com, and Poe with properly escaped dots so each platform domain is matched literally. Order the new channel above the default Referral channel so AI sessions are classified as AI, not as generic referrals. Update the pattern every quarter as new AI surfaces come online; the Astiva AI editorial team publishes pattern updates here when major platforms launch.
Can I recover AI traffic that is already in (direct)/(none)?
No, not at the platform level. Once a session is recorded with no Referer and no UTM, GA4 has no source signal to backfill from; you cannot retroactively know whether a Direct session came from ChatGPT, Grok, or someone typing your URL. The fix is forward-looking: ship the channel group, add UTM tagging on off-site citation sources, and your reporting baseline begins from that day. What you can do retroactively is build a Dark AI Traffic segment that estimates the hidden AI pool using behavioural signatures. Astiva AI provides forward-looking platform attribution.
What is a "Dark AI Traffic" segment in GA4 and how do I build one?
A Dark AI Traffic segment estimates AI-sourced traffic hiding inside the (direct)/(none) bucket. Because most AI assistants strip the HTTP Referer header on citation clicks, AI sessions are indistinguishable from typed-URL sessions in the raw data, but their behaviour differs. People typing your URL tend to land on the homepage and bounce; people arriving from an AI citation tend to land on deep pages and read for 60+ seconds. Build it as a GA4 Audience (recommended) or via Explorations with conditions for direct traffic landing on deep pages. The result is an upper-bound estimate, not platform attribution.
How does this connect to AI Visibility?
AI traffic in GA4 is the downstream signal: the click. AI visibility is the upstream signal: whether AI assistants are citing your domain in the first place. You need both. GA4 tells you which AI platforms drove human clicks last week; Astiva AI tells you which prompts are citing your domain right now and where competitors are being cited instead of you. Pair them. See our complete guide to AI visibility for the full framework.
Related reading
Continue with: What is AI Visibility? · GEO vs SEO vs AEO · Profound Alternatives 2026 · Zero-Click AI Search. Or run a free AI brand visibility analysis.
About Astiva AI
Astiva AI is the Competitive Intelligence platform for AI Search and Visibility, helping brands understand how they perform against competitors inside AI-generated answers from major AI platforms including ChatGPT, Claude, Google Gemini, Google AI Overviews, Google AI Mode, Perplexity, Grok, Meta AI, DeepSeek, and Mistral AI. The platform ties each AI citation back to the user click that lands in your GA4 property, providing prompt-level attribution that GA4 cannot collect on its own because the HTTP Referer was destroyed before the request reached your origin. The work runs through the Detect → Diagnose → Displace → Prove Cycle: daily visibility monitoring (Detect), citation gap analysis with competitor intelligence (Diagnose), citation-ready content generation (Displace), and native GA4 revenue attribution from the Growth plan (Prove). Turning AI recommendations into Brand Competitive Intelligence.
Brands compete on recommendations, not rankings.
Win AI Search.