
How to Measure Traffic from ChatGPT, Perplexity and AI Mode - Analytics for the AI Era (GA4 + Server Logs)
Any conversation about AI visibility eventually lands on one question from the board: if the models are recommending us, where does that show up in the reports? Usually nowhere - not because the effect is missing, but because a default GA4 setup simply scatters AI traffic. Some visits land in the generic "referral" bucket, some in "direct", and clicks from AI Overviews and AI Mode are indistinguishable from ordinary Google traffic. Separately there's a layer classic analytics never records at all: an agent reading your page on a user's behalf doesn't execute JavaScript, so GA4 logs no session. And this is a channel worth the attention - per Semrush, a visitor from AI search is worth ~4.4× more on average than one from classic organic, and Adobe reported four-digit year-over-year growth of AI traffic to e-commerce.
AI traffic converts up to ~4.4× better than classic organic and grew to stores by four digits - yet default GA4 hides it well: some lands in referrals, some in direct, and AI Overviews clicks are indistinguishable from regular Google. The complete measurement workshop: an AI channel group in GA4 with a ready regex, dark AI traffic, the AI Overviews signature in GSC, and server logs as the other half of the picture.
In this post I show what GA4 sees of that traffic, what it will never see, and how to work around both - with a ready regular expression, step-by-step configuration, and server logs as the other half of the picture.
Three measurement layers - map first, tools second
Before you open GA4, let's order what can be measured at all. AI visibility has three layers, and each needs a different tool:
/// THREE LAYERS OF AI VISIBILITY MEASUREMENT
GA4 covers only the middle one — the other two need different tools
- 1.What the models say - whether ChatGPT and Perplexity recommend your brand at all. You won't measure that in GA4; that's what the AI visibility audit and regular Share of Voice measurement are for.
- 2.What arrives at the site - clicks out of AI answers, i.e. the subject of this post. GA4's kingdom.
- 3.What the bots do - whether AI crawlers fetch your content at all. That's visible only in server logs, and I cover reading them in the post on AI crawlers.
The most common mistake is measuring only layer two and concluding "AI doesn't work". Meanwhile an answer without a click does its job too - it builds a brand that later shows up as growing branded search.
How GA4 knows traffic came from AI - and when it doesn't
Most assistants leave a readable trace in the referrer. Since launching search (late October 2024), ChatGPT appends utm_source=chatgpt.com to outbound links, so its traffic is exceptionally easy to catch. The exception is the biggest player: Google doesn't label its AI traffic in any way.
/// HOW AI TRAFFIC SHOWS UP IN GA4
The lower on the list, the more traffic falls out of your reports
| Assistant | How it appears in GA4 | Notes |
|---|---|---|
| ChatGPT | chatgpt.com / referral + utm_source=chatgpt.com | older sessions also as chat.openai.com |
| Perplexity | perplexity.ai / referral | - |
| Gemini | gemini.google.com / referral | don't confuse with google / organic |
| Copilot | copilot.microsoft.com / referral | some entries via Bing domains |
| Claude | claude.ai / referral | - |
| AI Overviews / AI Mode | google / organic - no distinction | Google doesn't label clicks from AI features |
The last row of the table matters most here: a click from AI Overviews looks identical in GA4 to a click from a classic blue link. Google confirms in its documentation that traffic from AI features is reported together with search - there's no separate dimension in GA4 or Search Console. The Copilot row deserves attention too: part of its traffic arrives through Bing's own domains, which I cover in more depth in the guide to the Bing, Copilot and IndexNow ecosystem.
Dark AI traffic - what you'll never see
Before we move on to configuring reports, it's worth being clear about what will always stay outside them:
- An agent reads the page for the user. When someone asks ChatGPT to analyze your offer, the page is fetched by a bot (ChatGPT-User) that doesn't execute JavaScript - GA4 records no session. The only trace is in server logs.
- Copying instead of clicking. The user sees your brand in an answer, opens a new tab and types the address - in GA4 that's "direct".
- Assistants' desktop and mobile apps tend to drop the referrer - another batch of visits lands in "direct".
- Zero-click. The answer sufficed; there was no click. No session, but there is impact - it shows up later as growing branded search.
Hence the rule: treat the numbers in GA4 as the lower bound of AI's real impact - industry estimates put the undercount at several-fold. That's an argument not against measuring, but for measuring more than one layer.
GA4 configuration, step by step
The heart of the whole setup is one regex matching session sources:
chatgpt\.com|chat\.openai\.com|perplexity\.ai|gemini\.google\.com|bard\.google\.com|copilot\.microsoft\.com|claude\.ai|meta\.ai|edgeservices\.bing\.com|you\.com|poe\.comWith this regex you do three things:
- 1.A custom channel group. Admin → Data settings → Channel groups: copy the default group and add an "AI" channel at the top with the condition "source matches regex". From then on every standard acquisition report shows AI as its own channel - next to Organic Search and Direct.
- 2.An exploration for AI traffic. Explore → new exploration: the "session source" dimension filtered by the same regex, plus landing pages, conversions and revenue. This is your microscope: which content attracts traffic from models and what that traffic does next.
- 3.A quality comparison. Put the AI session segment against organic and direct by conversion rate and engagement. At most companies AI traffic is smaller in volume but clearly better in quality - the user arrives after the decision, not before it. This is the slide that convinces the board.
Two habits to finish the setup: add annotations at every major publication of AI-focused content (otherwise in six months you won't connect cause and effect), and wire the report into a recurring send - I describe automating that loop in the post on automated reporting with AI alerts.
Search Console: the AI Overviews signature
Since Google doesn't label AI traffic, indirect measurement remains. Since mid-2025, AI Mode data is included in the performance report (type "Web") - with no separate filter. But AI Overviews leave a characteristic fingerprint:
- Impressions rise, CTR falls on informational queries - your page is being shown (in AI boxes too) but clicked less.
- Compare query cohorts: those with a visible AI box versus those without - the CTR gap is your local cost (or gain) of AI Overviews.
- Watch average position separately from impressions: stable position + falling CTR = the classic signature of an AI answer eating clicks, not a ranking drop.
How to actually get cited inside those AI boxes - because they drive these impressions - is covered in the post on AI Overviews and AI Mode.
Server logs - the other half of the picture
In the logs you see what GA4 will never see - and it's the most commonly skipped part of measurement:
- On-demand bot visits (ChatGPT-User, Perplexity-User, Claude-User) are real "reads" of your page by users via an agent. The bot doesn't execute JavaScript, so it doesn't exist in GA4 - but in the logs these are countable requests with a specific User-agent. A growing number of such visits is hard proof your content works in AI.
- Search crawler activity (OAI-SearchBot, PerplexityBot) precedes citations: first the bot fetches the content, then the model starts recommending it. A drop in crawling of key pages is a warning signal long before traffic falls.
- The pipeline therefore looks like this: the bot crawls (logs) → the model cites (audit/SoV) → the user clicks (GA4). Measuring all three points tells you at which stage things break.
How to filter logs by User-agent and verify impersonating bots is covered in detail in the AI crawlers post.
The KPI set for the AI era
/// AI TRAFFIC IN NUMBERS
The monthly dashboard I consider the minimum for myself and clients:
| KPI | Data source | What it answers |
|---|---|---|
| AI channel sessions + trend | GA4 (channel group) | is traffic from models growing |
| Conversion: AI vs organic vs direct | GA4 (segment comparison) | is that traffic worth anything |
| Top landing pages for AI traffic | GA4 (exploration) | which content the models "like" |
| Impressions and CTR on informational queries | Search Console | the AI Overviews effect |
| User-agent bot visits (ChatGPT-User etc.) | server logs | invisible reads by agents |
| Share of Voice in models | manual audit or monitoring | do models recommend you or competitors |
| Branded searches + trend | GSC / Trends | the delayed zero-click effect |
The 60-minute rollout plan
- 1.Create the "AI" channel group in GA4 with the regex from this post (15 min).
- 2.Build the exploration for AI traffic: sources, landing pages, conversions (15 min).
- 3.Save the comparison report of AI conversion vs the other channels (10 min).
- 4.Check the last 30 days of logs for ChatGPT-User and OAI-SearchBot (15 min).
- 5.Record the baseline: today's numbers from every layer plus the date. Without a reference point no future report will say anything (5 min).
- 6.Put a monthly KPI review from the table above in your calendar.
---
I build AI visibility measurement from the first layer to the board-level dashboard - as part of AI optimization (GEO) and reporting automation. I teach it in the SEO & GEO course. Get in touch - I'll start by configuring your AI channel group and reviewing your logs.
Worth reading next:
/// RELATED_SERVICES
Need these concepts implemented? Explore the services related to this topic.
GEO – AI Search Optimization
Generative Engine Optimization (GEO) gets your brand into AI answers — ChatGPT, Google AI Overviews and AI Mode, Gemini, Perplexity and Copilot. I make AI know your company, cite your site and recommend you.
View serviceServiceAI & Automation
AI agents, process automation with n8n and Make, chatbots, RAG on your own documents and custom LLMs. I build AI systems that cut manual work and run 24/7.
View service/// CASE_STUDY
See how this worked in a real project.
/// SOURCES
- 01OpenAI - Introducing ChatGPT search (official announcement)
- 02Google - AI features and your website (official docs)
- 03Google Analytics (GA4) - dimensions and metrics schema (official docs)
- 04Cloudflare Radar - AI Insights (bot and assistant traffic trends)
- 05Perplexity - crawler documentation (Perplexity-User)
/// RELATED_RECORDS
Ecommerce Faceted Navigation and SEO - Which Filters to Index and Which to Block (noindex, canonical, robots.txt)
Which ecommerce filters to index and which to block: a rule with thresholds, noindex vs canonical vs robots.txt vs nofollow in one table, a check of filters in 11 Polish stores, Shopify, WooCommerce, PrestaShop and IdoSell defaults, URL counts at two scales, robots.txt rules, a script and two pitfalls.
Ecommerce Keyword Research - How to Map Queries to Categories, Filters and Products
How to do ecommerce keyword research and map queries to categories, filters, product pages and guides: a mapping rule with thresholds, a keyword map from 1,109 Google suggestions and real store product counts, Search Console, Keyword Planner, Senuto and Ahrefs with prices, a sheet template and a cannibalisation script.
Ecommerce SEO Strategy - a 3, 6 and 12-Month Roadmap
How to build an ecommerce SEO strategy ranked by revenue: a one-day diagnosis from Search Console, a priority matrix, a 3, 6 and 12-month roadmap with KPIs, SEO vs Google Ads cost at two scales, an audit of product data in 26 Polish online stores and a quick-wins script.
Signal received?
Terminate
Silence
Initiate protocol. Establish connection. Let's build something loud.
