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. 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 https://soamee.com/en/blog/en-geo-how-to-appear-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 , named AI Assistants . 3. Condition: Session source · partially matches regex : chatgpt|openai|perplexity|gemini\.google|copilot|claude\.ai|deepseek|mistral 1. Reorder so that AI Assistants sits above Referral . GA4 assigns each session to the first channel whose condition it meets; if Referral 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 https://soamee.com/en/blog/en-how-to-implement-ga4 . 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/