AI Search Analytics: How to See ChatGPT, Perplexity and Gemini Referrals in GA4
Most teams check GA4, see a flat "Referral" row, and conclude AI search "isn't sending traffic yet." That read is almost always wrong.

AI Search Analytics: How to See ChatGPT, Perplexity and Gemini Referrals in GA4
Bottom line: AI search analytics means isolating ChatGPT, Perplexity, and Gemini referrals in GA4 so you can measure the channel instead of guessing. GA4 now ships a native "AI Assistant" channel, but it skips Perplexity and every referrer-less session - so you also need a custom regex group and a way to recover the AI visits misfiled as "Direct."
Most teams check GA4, see a flat "Referral" row, and conclude AI search "isn't sending traffic yet." That read is almost always wrong. The traffic is there - it's just scattered across a handful of chatbot domains, and a large slice of it never arrives with a referrer at all, so GA4 quietly dumps it into Direct. You're not missing the channel. You're missing the reporting.
Key Takeaways:
- —GA4's native AI Assistant channel launched May 13, 2026 and detects ChatGPT, Gemini, Copilot, Grok, and Deepseek - but not Perplexity or Claude, and not referrer-less sessions.
- —Each assistant leaves a specific referrer host -
chatgpt.com,chat.openai.com,perplexity.ai,gemini.google.com,copilot.microsoft.com,claude.ai- which is what your regex has to match. - —A meaningful share of AI referral sessions land in Direct because the assistant strips the referrer header; your true AI number is higher than the dashboard shows.
- —The fix is a hybrid setup: keep the native channel, add a custom "AI Search" regex group ordered above Referral, and run a landing-page + branded-query cross-check to recover the Direct spillover.
What is AI search analytics?
AI search analytics is the practice of measuring how much traffic, engagement, and conversion your site earns from generative assistants - ChatGPT, Perplexity, Gemini, Copilot, Claude - rather than from classic blue-link results. It's the attribution layer for Generative Engine Optimization: if GEO gets you cited inside AI answers, AI search analytics tells you whether those citations actually send people and revenue.
The mechanics differ from organic search in one important way. A Google click carries google / organic cleanly. An AI assistant behaves like a referring website - it passes a referrer host such as perplexity.ai - so by default GA4 files it under Referral, mixed in with newsletters, partner sites, and every other domain. Without a rule that pulls those chatbot hosts into their own bucket, "AI search" simply doesn't exist as a line item you can report on.
Why does your AI traffic hide inside GA4?
Three things bury it. First, no default separation: until mid-2026, every chatbot visit sat inside the generic Referral row. Second, fragmentation - ChatGPT alone can arrive as chatgpt.com or chat.openai.com, so even someone eyeballing referrals sees two half-sized rows instead of one channel. Third, and most damaging, referrer stripping: many assistants render outbound links in a way that drops the referrer header, so the session arrives with no source at all and GA4 assigns it to Direct.
That last one is why "we don't get AI traffic" is usually a measurement artifact. The visit happened. GA4 just couldn't see where it came from. If you've ever watched Direct traffic climb while you published more citation-worthy content, you've probably been looking at unattributed AI referrals the whole time - the same blind spot we unpack in how to measure GEO ROI when the clicks disappear.

What referrer string does each AI assistant leave in GA4?
This is the part every generic guide skips, and it's the whole game. Your regex is only as good as the hostnames you feed it. Here are the referrer hosts we consistently see for the major assistants, and how each one shows up in the Session source dimension.
| Assistant | Referrer host(s) in GA4 | Typical GA4 medium | Notes |
|---|---|---|---|
| ChatGPT | `chatgpt.com`, `chat.openai.com` | referral | Split across two hosts; capture both |
| Perplexity | `perplexity.ai` | referral | Excluded from GA4's native AI Assistant channel |
| Google Gemini | `gemini.google.com` (legacy `bard.google.com`) | referral | Distinct from `google / organic` |
| Microsoft Copilot | `copilot.microsoft.com` | referral | Also surfaces via Bing-adjacent hosts |
| Claude | `claude.ai` | referral | Excluded from the native channel |
| Others worth adding | `you.com`, `grok.x.ai`, `search.brave.com` | referral | Long-tail, but cheap to include |
Two practical warnings. The legacy bard.google.com host still shows up in historical data, so keep it in any backfill analysis. And Gemini referrals are easy to confuse with organic Google - they are not the same source, and folding them together will inflate your organic number while erasing the AI signal you're trying to isolate. If you only remember one row from this table, make it that AI referrals ride in on a referral medium with a chatbot host, never on organic.
You can pull your live referral hosts and stress-test them against this list automatically with SEO Magics' AI Citation Tracker rather than exporting CSVs by hand every week.
How do you build the regex to capture AI search in GA4?
Here's the setup we run on client properties. It takes about ten minutes and it's the difference between a real channel and a guess.
- In GA4, open Admin → Data settings → Channel groups and create a new custom channel group (or edit a copy of the default one).
- Add a new channel at the top of the list named
AI Search. Order matters - GA4 evaluates rules top-down, so this must sit above Referral or the referral rule will grab the traffic first. - Set the condition to
Sourcematches regex, using:chatgpt\.com|chat\.openai\.com|perplexity\.ai|gemini\.google\.com|copilot\.microsoft\.com|claude\.ai|you\.com|grok\.x\.ai - Add a second condition,
Mediumexactly matchesreferral, so newsletter or UTM-tagged traffic from the same domains doesn't get miscounted. - Save, then build an exploration filtered to this channel to sanity-check session counts before you trust it in reports.
- Re-audit the regex monthly. New assistants and new hostnames appear constantly, and a stale pattern silently undercounts you.
Escape the dots (\.) so the regex doesn't treat them as wildcards - a small detail that quietly breaks a lot of copied-and-pasted patterns. Once this group is live, "AI Search" becomes a channel you can trend, segment by landing page, and tie to conversions like any other.

How much AI traffic is landing in 'Direct' - and how do you recover it?
Even a perfect regex only catches the sessions that arrive with a referrer. The uncomfortable reality: a large share of AI-referred visits don't. When an assistant strips the referrer, the session lands in Direct, and no channel rule can retrieve it because there's nothing to match on. Analytics vendors tracking this in 2026 report that a substantial minority to majority of AI referral sessions show up referrer-less - meaning the number in your shiny new AI Search channel is a floor, not the ceiling. Your true AI footprint is bigger than the dashboard admits.
You can't recover these sessions with a rule, but you can estimate and corroborate them. Here's the cross-check framework we use:
- —Landing-page fingerprint. AI assistants send people deep - to a specific answer-shaped URL, not your homepage. Segment Direct traffic by landing page. A spike of Direct sessions hitting a niche article (not
/and not a bookmarked login) that correlates with the content getting cited is almost certainly stripped AI referral. - —New vs returning. True type-in Direct skews returning. AI-referred Direct skews new users landing on deep pages. Filter Direct to new users on non-homepage landings and you've isolated the likely AI slice.
- —Timing correlation. Overlay Direct-to-deep-page sessions against the weeks you earned new citations (track this with your brand's AI citation share over time). When the two curves move together, you're watching the same channel.
- —Engagement signature. AI-referred visitors tend to arrive with high intent on informational pages and behave differently from bounced Direct. Compare engagement rate on this Direct segment against your AI Search channel - if they match, they're the same population.

None of this gives you a clean number. It gives you a defensible range - "our reported AI Search channel is X, and corroborated Direct spillover suggests true AI traffic is meaningfully higher" - which is exactly the honest framing an executive needs. The teams that get AI-search budget are the ones who can show the floor and the recoverable ceiling, not the ones waiting for GA4 to hand them a perfect figure.
Should you use GA4's native AI Assistant channel or a custom group?
Google added a native AI Assistant channel to the Default Channel Group on May 13, 2026, and it requires zero configuration - GA4 now stamps recognized chatbot sessions with an ai-assistant medium automatically (Search Engine Journal, and Google's own Default Channel Group documentation). That's a real upgrade. It's also incomplete.
| Factor | Native AI Assistant channel | Custom regex group |
|---|---|---|
| Setup | Automatic, no config | ~10 minutes |
| Covers Perplexity | No | Yes |
| Covers Claude | No | Yes |
| You control the hostname list | No | Yes |
| Retroactive on old data | No | Yes (via explorations) |
| Recovers Direct spillover | No | No (needs cross-check) |
The verdict isn't either/or. Run both. Keep the native channel for the assistants Google recognizes, and layer a custom AI Search group above Referral to catch Perplexity, Claude, and anything Google hasn't added yet. Then bolt on the Direct cross-check for the referrer-less slice. That three-part stack is the current best-practice setup, and it's the same architecture we install on every SaaS SEO engagement where AI referrals are already converting.

How We Assessed This
The referrer hostnames and regex in this article come from auditing live GA4 properties - reading the actual Session source values that ChatGPT, Perplexity, Gemini, Copilot, and Claude write into referral rows, then reconciling them against Google's official Default Channel Group documentation and Search Engine Journal's coverage of the May 2026 AI Assistant channel launch. The Direct-recovery framework was built the way we build any attribution method on retainer: segment Direct by landing page, new-vs-returning, and timing, then corroborate against citation events rather than asserting a single number we can't defend. We deliberately avoid publishing a precise "X% lands as Direct" figure, because that share varies by assistant, industry, and how each platform renders outbound links - and inventing a decimal would undermine the point. Across growth-stage sites we audit and optimize on 12-month cycles, this hybrid setup - native channel plus custom regex plus Direct cross-check - is the configuration that survives contact with real reporting. Tooling referenced (GA4 channel groups, explorations, and citation tracking) reflects what we actually operate, not a hypothetical stack.
Frequently asked questions
Does GA4 track AI search traffic automatically?
Partially. Since May 2026, GA4's native AI Assistant channel auto-detects ChatGPT, Gemini, Copilot, Grok, and Deepseek. It does not capture Perplexity, Claude, or any session that arrives without a referrer - so you still need a custom regex group and a Direct cross-check to see the full channel.
What is the referrer for ChatGPT in GA4?
ChatGPT sends two referrer hosts: chatgpt.com and chat.openai.com. Capture both in your regex, because splitting them creates two half-sized rows and makes ChatGPT look smaller than it is.
Why does my AI traffic show up as Direct?
Because many assistants strip the referrer header when a user clicks an outbound link, GA4 receives no source and assigns the session to Direct. No channel rule can recover these; you estimate them by segmenting Direct by deep landing page, new users, and timing against citation events.
Is Gemini traffic the same as Google organic?
No. Gemini referrals arrive on a referral medium from gemini.google.com, while classic Google search arrives as google / organic. Treat them as separate sources - merging them inflates organic and erases your AI signal.
How often should I update my AI search regex?
Monthly. New assistants and new hostnames appear regularly, and a stale pattern silently undercounts your AI channel. Re-audit the hostname list the same cadence you review the rest of your analytics reporting.
Can I measure conversions from AI search in GA4?
Yes, once the AI Search channel exists you can attribute key events and conversions to it like any other channel - with the caveat that referrer-less (Direct-filed) AI sessions won't be credited, so treat your AI conversion number as a conservative floor.
See the AI traffic your GA4 is hiding
If your Direct channel has been climbing while you can't explain why, there's a good chance you're already earning AI referrals you simply can't see. We audit exactly this - the referrer strings, the regex, and the Direct spillover - for growth-stage teams that need AI search to show up as a real, reportable channel.
Book a strategy call with SEO Magics and we'll map your true AI search footprint, wire up the hybrid GA4 setup, and hand you a channel you can actually take to your board.