cd /news/generative-engine-optimization/how-to-measure-the-traffic-you-get-f… · home › topics › generative-engine-optimization › article
[ARTICLE · art-143143] src=soamee.com ↗ pub= topic=generative-engine-optimization verified=true sentiment=· neutral

How to Measure the Traffic You Get from ChatGPT and AI

A guide from soamee.com lays out a five-layer method for measuring traffic and leads arriving from ChatGPT and other AI assistants, starting with a custom "AI Assistants" channel group in GA4 that matches session source against the regex chatgpt|openai|perplexity|gemini\.google|copilot|claude\.ai|deepseek|mistral. The guide notes GA4 by default files chatgpt.com visits under the Referral channel, that ChatGPT appends utm_source=chatgpt.com to links in its search answers, and that AI agents such as OpenAI's GPTBot and OAI-SearchBot never run JavaScript so they appear only in server logs. It adds that Search Console offers no filter to separate AI Overviews traffic, and that the remaining layers are a landing-page report, a monthly mentions panel, and the share of AI traffic that arrives as direct visits.

by read7 min views1 publishedOct 1, 2026
How to Measure the Traffic You Get from ChatGPT and AI
Image: Soamee (auto-discovered)

The Search Console for soamee.com shows searches that are not keywords but entire questions. One from a recent week, in German: “kann man messen, wie viel traffic und wie viele leads über chatgpt und andere ki-assistenten auf die eigene website kommen? wie richtet man das ein?”. Twenty-five words typed into Google to ask how to measure what comes in from ChatGPT.

It can be measured, though not all of it. This guide builds the measurement in five layers: a dedicated channel in GA4, a landing page report, server logs, a monthly mentions panel, and the share that arrives as direct traffic. If you don’t know what GEO is yet, start with our guide to appearing in AI search.

What you can measure and what you can’t #

Source What you see What slips through
GA4 Sessions with a referrer from chatgpt.com, perplexity.ai, gemini.google.com… and what they do next Visits without a referrer (apps, copy and paste)
Server logs Which URLs the AI agents request, and when What the assistant told the user
Mentions panel Whether you appear when someone asks about your category, and next to whom The questions you didn’t anticipate
Search Console Impressions and clicks on Google, AI Overviews included Which share comes from AI Overviews: there is no filter
Form What the lead reports Everyone who skips the field

No single source is enough. Together they give you a number you can defend.

1. An AI channel in GA4 #

By default, GA4 puts visits from chatgpt.com in the Referral channel, mixed in with links from blogs, directories and partners. You need to pull them out into a channel of their own.

  1. Admin > Data display > Channel groups > Create new channel group. GA4 copies the default group; work on that copy.
  2. Add new channel , namedAI Assistants .
  3. Condition: Session source ·partially matches regex :
chatgpt|openai|perplexity|gemini\.google|copilot|claude\.ai|deepseek|mistral
  1. Reorder so thatAI Assistants sits aboveReferral . GA4 assigns each session to the first channel whose condition it meets; ifReferral comes first, it takes everything.
  2. Save.

Two details that save time. Custom channel groups also apply to historical data, so you see the trend from day one without waiting. And ChatGPT adds utm_source=chatgpt.com to the links it shows in its search answers, so those visits are attributed correctly even when the browser sends no referrer.

Review the source list every few months. New assistants appear and some change domain: OpenAI’s moved from chat.openai.com to chatgpt.com.

2. Which pages bring you that traffic #

With the channel in place, open Explore > Free form exploration:

  • Dimensions: Custom channel group ,Landing page
  • Metrics: Sessions ,Engaged sessions ,Key events
  • Filter: channel = AI Assistants

The list of landing pages is, in practice, the list of URLs that assistants cite and that someone clicks. It usually looks little like your top organic pages: comparisons, pricing pages and guides with concrete data carry more weight.

Look at key events too. If AI traffic converts better than organic, which is common because it arrives with the recommendation already made, you want to know that before deciding which content to invest in. If your GA4 doesn’t record reliable conversions, fix that first: how to implement GA4 with events and conversions.

3. Server logs: what GA4 can’t see #

GA4 only counts visits that run JavaScript. AI agents don’t run it, so as far as GA4 is concerned they don’t exist. They do show up in your web server logs, with a piece of data no other source gives you: which URL each agent requested, and when.

Not every agent means the same thing:

User-agent Company Purpose
GPTBot OpenAI Crawling for training
OAI-SearchBot OpenAI ChatGPT search index
ChatGPT-User OpenAI A person asked ChatGPT something and it opens your page
ClaudeBot Anthropic Crawling for training
Claude-User Anthropic Request made during a conversation
PerplexityBot Perplexity Search index
Perplexity-User Perplexity Request made during a conversation

The -User rows are the ones that matter for measurement. If ChatGPT-User requests your pricing page, someone was asking ChatGPT about pricing in your sector at that moment. It’s the closest thing to a citation you can record.

With the standard nginx or Apache log format, this command pulls the URLs those agents request most:

grep -E "ChatGPT-User|Perplexity-User|Claude-User" access.log \
  | awk '{print $7}' | sort | uniq -c | sort -rn | head -20

On Dokku, where we deploy soamee.com, each app writes its log to /var/log/nginx/<app>-access.log. On Vercel, Netlify or behind Cloudflare you have to enable log export, and on some plans it costs extra.

Two caveats. The user-agent can be spoofed: if a number is going to end up in a report, cross-check the IPs against the ranges OpenAI and Perplexity publish. And no visits doesn’t mean nobody cites you, because an assistant can answer from what it already has in its index without requesting the page again.

4. A monthly mentions panel #

Neither GA4 nor the logs tell you whether you appear when someone asks about your category and doesn’t click. For that, you have to ask.

Set up a spreadsheet with 20-30 questions your customer would ask before buying. Not the ones you’d like them to ask: the ones that come up in sales calls, in the contact form and in Search Console. Once a month, run them through ChatGPT, Perplexity, Gemini and Copilot in a session with no history and write down:

  • Date, assistant and question
  • Do you appear? Yes or no
  • Position , if the answer is a list
  • Competitors cited
  • Linked sources : this column generates the most work, because it tells you where you need to be

Answers vary from one run to the next. Run each question two or three times and count the percentage of answers you appear in. That percentage, month over month, is the metric. There are paid tools that automate this; with fewer than 50 questions, the spreadsheet does the job.

5. Search Console: what it tells you and what it doesn’t #

Google counts AI Overviews impressions and clicks within normal web performance, with no filter to separate them. You can’t tell which share of an impression came from an AI Overview.

What Search Console does give you is two indirect signals:

  • Queries shaped like long questions. Like the German one at the top. A regex filter (^(how|what|which|why|how much)\b or queries longer than eight words) shows you which questions reach Google written as if they were meant for an assistant.
  • Branded searches. Someone who reads your name in a ChatGPT answer and then searches for it on Google shows up here as a branded search. If branded searches rise without campaigns to explain it, part of the rise usually comes from there.

6. Traffic that arrives as direct #

Some AI-influenced visits leave no trace at all: links opened from the assistants’ mobile apps, copied and pasted URLs, or someone who notes down the name and visits days later.

What works here is asking. Add a “How did you hear about us?” field to your contact form with an explicit option: ChatGPT or another AI assistant. A dropdown gives cleaner data than a free-text field, and the explicit option matters: if it isn’t there, people pick “Google” because it’s the closest match.

Checklist #

  • AI Assistants channel in GA4, placed aboveReferral
  • Landing page and key events exploration filtered by that channel
  • Server logs accessible, with a monthly query for ChatGPT-User ,Perplexity-User andClaude-User
  • Sheet of 20-30 questions, run every month across four assistants
  • Tracking of branded searches and question-shaped queries in Search Console
  • “ChatGPT or another AI assistant” option in the contact form

With these six pieces you can say how many people arrive from an assistant, on which pages, and which assistants cite you, and separate what is data from what is an estimate. It’s what we set up for clients as part of our AI search optimization (GEO) service.

── more in #generative-engine-optimization 4 stories · sorted by recency
── more on @soamee.com 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/how-to-measure-the-t…] indexed:0 read:7min 2026-10-01 · —