RETURN_TO_BLOG
AI & SEO 13 min

How to Measure Traffic from ChatGPT, Perplexity and AI Mode — Analytics for the AI Era (GA4 + Server Logs)

Paweł Wiszniewski
Paweł Wiszniewski
SEO & GEO Specialist · AI Engineer

Here's the 2026 paradox: companies invest in AI visibility, models start recommending them — and the reports show nothing, so the board asks what it was all for. The problem is almost never a lack of results; it's measurement. A default GA4 setup effectively hides AI traffic: some of it falls into the generic "referral" bucket, some into "direct", and clicks from AI Overviews and AI Mode are indistinguishable from regular Google traffic. On top of that sits a layer web analytics never sees at all — an agent reading your page on a user's behalf doesn't execute JavaScript, so GA4 doesn't even know anyone "was here". And the stakes are concrete: Similarweb measurements showed traffic from models converting ~4.4× better than classic organic, and Adobe measured 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.

This post is the complete measurement workshop: what GA4 sees, what it doesn't, and how to work around it — with a ready regex, 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

01
WHAT THE MODELS SAYinvisible in GA4
Do ChatGPT, Gemini and Perplexity recommend your brand
visibility audit · Share of Voice
02
WHAT ARRIVES AT THE SITEthis post
Clicks out of AI answers — sessions, conversions, revenue
GA4: AI channel group + explorations
03
WHAT THE BOTS DOinvisible in GA4
Content crawling and page reads by agents (ChatGPT-User)
server logs · CDN panel
  1. 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. 2.What arrives at the site — clicks out of AI answers, i.e. the subject of this post. GA4's kingdom.
  3. 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

The good news: most assistants leave a readable trace in the referrer. Since launching search (November 2024), ChatGPT appends utm_source=chatgpt.com to outbound links, so its traffic is exceptionally easy to catch. The bad news: the biggest player — Google — doesn't label its AI traffic at all.

/// HOW AI TRAFFIC SHOWS UP IN GA4

The lower on the list, the more traffic falls out of your reports

01
ChatGPTVISIBLE
chatgpt.com / referral + utm_source=chatgpt.com — the easiest to catch
02
Perplexity · Gemini · Copilot · ClaudeVISIBLE
Clean referrals: perplexity.ai, gemini.google.com, copilot.microsoft.com, claude.ai
03
AI Overviews · AI Mode (Google)INDISTINGUISHABLE
Clicks reported as google / organic — no distinction from classic results
04
Agents reading pages (ChatGPT-User)INVISIBLE
No JavaScript execution — zero GA4 sessions, traces only in server logs
05
Assistant apps and URL copyingUNDERCOUNTED
Lost referrer — entries land in the direct channel
AssistantHow it appears in GA4Notes
ChatGPTchatgpt.com / referral + utm_source=chatgpt.comolder sessions also as chat.openai.com
Perplexityperplexity.ai / referral
Geminigemini.google.com / referraldon't confuse with google / organic
Copilotcopilot.microsoft.com / referralsome entries via Bing domains
Claudeclaude.ai / referral
AI Overviews / AI Modegoogle / organic — no distinctionGoogle doesn't label clicks from AI features

That last row is the most important thing in the whole table: 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.

Dark AI traffic — what you'll never see

Before we configure reports, an honest list of 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.

The practical takeaway: treat the numbers you see in GA4 as the lower bound of AI's real impact — industry estimates put the undercount at several-fold. That's not a reason to skip measuring; it's a reason to measure more than one layer.

GA4 configuration, step by step

The heart of the whole setup is one regex matching session sources:

ai-sources-regex.txt
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\.com

With this regex you do three things:

  1. 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. 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. 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

~4.4×
higher conversion of AI model traffic vs classic organic
Similarweb measurements
>1000%
year-over-year growth of AI traffic to e-commerce sites
Adobe Analytics (2024–25)
utm_source=chatgpt.com
parameter ChatGPT appends to outbound links since Nov 2024
OpenAI – ChatGPT search
0
separate dimensions for AI Overviews traffic in GA4 and Search Console
Google documentation

The monthly dashboard I consider the minimum for myself and clients:

KPIData sourceWhat it answers
AI channel sessions + trendGA4 (channel group)is traffic from models growing
Conversion: AI vs organic vs directGA4 (segment comparison)is that traffic worth anything
Top landing pages for AI trafficGA4 (exploration)which content the models "like"
Impressions and CTR on informational queriesSearch Consolethe AI Overviews effect
User-agent bot visits (ChatGPT-User etc.)server logsinvisible reads by agents
Share of Voice in modelsmanual audit or monitoringdo models recommend you or competitors
Branded searches + trendGSC / Trendsthe delayed zero-click effect

The 60-minute rollout plan

  1. 1.Create the "AI" channel group in GA4 with the regex from this post (15 min).
  2. 2.Build the exploration for AI traffic: sources, landing pages, conversions (15 min).
  3. 3.Save the comparison report of AI conversion vs the other channels (10 min).
  4. 4.Check the last 30 days of logs for ChatGPT-User and OAI-SearchBot (15 min).
  5. 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. 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:

Paweł Wiszniewski – SEO & GEO Specialist & AI Engineer
About the authorPaweł Wiszniewski

SEO & GEO specialist and AI engineer from Białystok. 10 years building search visibility for recognized brands and 3 years delivering AI — agents, automation and LLM integrations (Next.js, React, Node.js).

/// AUTHOR
Paweł Wiszniewski – AI & Web Engineer

Paweł Wiszniewski

SEO & GEO Specialist & AI Engineer

SEO/GEO specialist (10 years) and AI engineer (3 years). I build search visibility, AI systems and automations that reduce costs and improve operational efficiency.

Signal received?

Terminate
Silence

Initiate protocol. Establish connection. Let's build something loud.

> WAITING_FOR_INPUT...