Shoppers are clicking through to stores from ChatGPT, Perplexity, and Gemini — but GA4 files those visits under generic Referral or, worse, Direct, so the channel looks like it doesn't exist. This guide sets up proper AI traffic tracking in GA4: an exploration for a quick look, a custom channel group for permanent reporting, and the honest caveats about what you still can't see.
Why is AI search traffic invisible in GA4 by default?
Because GA4's default channel grouping was designed before AI assistants sent traffic. When someone clicks a citation in a ChatGPT answer, the visit arrives with a referrer like chatgpt.com — which GA4 dutifully buckets into the catch-all Referral channel, mixed in with blog links and directory listings. And when the click happens inside a mobile app whose in-app browser strips the referrer entirely, the visit lands in Direct, indistinguishable from someone typing your URL.
The referrer domains that identify AI traffic today:
chatgpt.com(and the legacychat.openai.com) — ChatGPTperplexity.ai— Perplexitygemini.google.com— Geminicopilot.microsoft.com— Microsoft Copilotclaude.ai— Claudeyou.com— You.com
Nothing about these is special to GA4 — they're ordinary referrers. The work is teaching GA4 to group them.
How do you build a GA4 exploration for AI referrals?
An exploration gives you the fastest read, with no configuration changes and full historical data. Step by step:
- In GA4, go to Explore → Blank to create a new exploration.
- Under Variables, add dimensions: Session source, Session source / medium, and Landing page + query string. Add metrics: Sessions, Engaged sessions, Total users, and (for stores) Ecommerce purchases and Total revenue.
- Drag Session source into Rows and your metrics into Values.
- Under Filters, add a filter on Session source → matches regex → paste:
.*chatgpt\.com|.*chat\.openai\.com|.*perplexity\.ai|.*gemini\.google\.com|.*copilot\.microsoft\.com|.*claude\.ai|.*you\.com
- Set your date range and run it.
You now have a table of AI-assistant sources with sessions, engagement, and revenue per source. Two useful follow-ups: swap the row dimension to Landing page + query string to see which pages AI engines send people to (usually a handful of product and guide pages — those are your AI-visible assets), and add Session medium as a second dimension to confirm everything shows as referral.
Explorations are retroactive — they work over data GA4 already collected. That makes this the right first step even if you go on to build the channel group below.
How do you create an "AI Search" custom channel group?
A custom channel group makes AI Search a first-class channel in standard reports and advertising attribution — no exploration needed. Note: custom channel groups apply from creation onward in some reporting contexts, and GA4 allows a limited number of them per property, so set this up once and deliberately.
- Go to Admin → Data settings → Channel groups (property level; requires Editor access).
- Click Create new channel group. GA4 clones the default group as your starting point — keep it as the base so all other channels behave normally.
- Click Add new channel, name it AI Search.
- Define the condition: Source → matches regex → paste this pattern:
^(www\.)?(chatgpt\.com|chat\.openai\.com|perplexity\.ai|gemini\.google\.com|copilot\.microsoft\.com|claude\.ai|you\.com)$
- Reorder the channel list so AI Search sits above Referral and Direct. Channel rules evaluate top-down and first match wins — if Referral evaluates first, it will keep claiming your AI traffic and the new channel will stay empty.
- Save. In any standard report, switch the primary dimension to your new channel group (e.g., Session default channel group → your custom group) to see AI Search broken out.
Maintenance note: this list will age. New assistants ship, domains change (ChatGPT already migrated from chat.openai.com to chatgpt.com). Put a quarterly reminder on the calendar to review the regex against your top referral sources.
What are the caveats? (Read this before trusting the numbers)
Your GA4 AI numbers are a floor, not a total. Two structural problems cause undercounting:
- In-app browsers strip referrers. A large share of ChatGPT usage is in mobile apps, and clicks from in-app browsers often arrive with no referrer at all. Those sessions land in Direct and cannot be recovered. The AI Search channel you built captures the attributable subset only.
- Direct traffic contamination cuts both ways. If your Direct channel grows in the same period your store starts getting cited by AI assistants, some of that growth is probably misattributed AI traffic — but you can't prove which sessions. Watch Direct's trend alongside AI Search rather than reading either in isolation.
Also remember that none of this measures influence without a click. When an assistant answers a shopper's question by summarizing your product page and the shopper later searches your brand name, that visit shows up as Organic Search. Referral tracking captures click-throughs, not mentions.
Should you track AI crawler hits in GA4 too?
No — and they mostly won't show up there anyway. Crawlers like GPTBot, OAI-SearchBot, ClaudeBot, and PerplexityBot generally don't execute JavaScript analytics tags, so GA4 is structurally blind to them. That's fine, because crawler activity is a different question: GA4 answers "are humans arriving from AI assistants?", while server logs answer "are AI engines ingesting my catalog?"
Measure crawler traffic where the requests actually land:
- Server access logs: grep for the crawler user-agent strings and confirm they receive 200s — the robots.txt for AI crawlers guide includes a ready-made command.
- Cloudflare (or your CDN's) analytics: bot dashboards break out verified AI crawlers by name with zero setup, and catch the failure mode where your WAF blocks a crawler your robots.txt allows.
Keep the two metrics separate in your reporting. Crawler hits are a leading indicator (engines are reading you); referral sessions are a lagging one (engines are sending you buyers).
What does "good" look like?
Directionally — we won't invent benchmarks. Early on, expect AI Search to be a small fraction of total sessions; the channel is young. The signals worth watching:
- Trend over level. A small channel growing steadily month over month matters more than its current share.
- Engagement quality. AI-referred visitors arrive pre-qualified — an assistant already matched your product to their stated need — so it's reasonable to compare their engagement rate and conversion rate against your Referral and Organic baselines and expect them to hold up well. Let your own data tell you.
- Landing page concentration. If a few pages take nearly all AI referrals, that's a map of what the engines can see and cite — and a to-do list: bring your other key pages up to the same standard of structured data and llms.txt-style canonical facts.
Where does Rynex fit in?
Referral tracking has a blind spot: it only measures what happens after a recommendation. Rynex's GEO Layer works upstream — it tracks how often your products are actually recommended by ChatGPT, Perplexity, and Gemini, with a 9-run simulation panel (3 model families × 3 queries) plus competitor monitoring, so you can see share-of-recommendation before it turns into referral sessions. On the measurement side, Rynex traffic analytics separates AI crawler visits from human AI-referred visits, so bot ingestion and buyer arrival don't get conflated in one number. If you haven't checked the foundation yet, the free GEO Audit verifies your crawlability setup automatically — and for the bigger picture of why this channel exists at all, start with what generative engine optimization is.
FAQ
How do I see ChatGPT traffic in GA4?
Filter on the session source dimension for chatgpt.com (and the legacy chat.openai.com). Build an exploration with session source as a row dimension and a filter matching AI referrer domains, or create a custom channel group so it appears in standard reports.
Why does GA4 not show AI traffic as its own channel?
GA4's default channel grouping predates AI assistants, so visits from ChatGPT or Perplexity land in generic Referral — or in Direct when the in-app browser strips the referrer. You have to define an AI Search channel yourself.
What referrer domains identify AI search traffic?
The core set is chatgpt.com, chat.openai.com, perplexity.ai, gemini.google.com, copilot.microsoft.com, and claude.ai. Match them with a regex in a custom channel group and revisit the list periodically as new assistants appear.
Does GA4 undercount AI referral traffic?
Yes, treat GA4 numbers as a floor. In-app browsers and some assistant link-outs strip the referrer, so a share of AI-referred visits lands in Direct where it cannot be attributed.
Should AI crawler hits show up in GA4?
No. Crawlers like GPTBot and PerplexityBot generally do not execute the GA4 tag, so they are invisible there by design. Measure crawler activity in server logs or CDN analytics instead, and keep the two metrics separate.