How to Track AI Browser Traffic and Agent Visits
GA4’s new AI Assistant channel only sees visits that carry a referrer. Here is what it misses from AI browsers and agents, and the checks that find the rest.
In this article
GA4 can now label one kind of AI visit for you: the click from an AI answer that keeps its referrer. AI browsers that drop the referrer, agents acting for a shopper, assistants fetching a page and orders paid inside an AI app need other checks. Which of those you can run depends on whether you control your server logs.
Five kinds of AI visit, five different signals
"AI traffic" covers five different events, and each leaves a different trace. A click from a ChatGPT answer carries a referrer. A person browsing in Atlas looks like Chrome. An agent may fire your tags without a referrer, a fetcher never runs them, and an in-chat order never reaches your site.
| Kind of visit | Example | What identifies it | Where you see it |
|---|---|---|---|
| 1. Click from an AI answer | A shopper clicks a product link in ChatGPT or Perplexity | Referrer or UTM tag from the assistant's domain | GA4 AI Assistant channel |
| 2. A person browsing in an AI browser | Someone uses Atlas or Comet as their everyday browser | Nothing reliable: Chrome user agent, referrer sometimes kept | Direct, Chrome, or not at all |
| 3. An agent driving a browser | ChatGPT agent or Google's agent compares three stores for a shopper | No referrer if given a URL; a signed header or a Google-Agent token | Direct or search in GA4; the header and token in logs |
| 4. An assistant fetching a page | ChatGPT-User reads your returns page to answer a question | A declared user-agent token | Server or CDN logs only (none on hosted Shopify) |
| 5. An order placed inside an AI app | A buyer pays in Copilot through Shopify's direct checkout | The sales channel on the order | Your commerce platform's orders |
Only row 1 is a referrer problem, and most GA4 tutorials stop there. Rows 2 to 5 are what a correct GA4 setup still misses.
What GA4's AI Assistant channel catches
GA4 now sorts AI referrals for you. Since 13 May 2026, the default channel group has an AI Assistant channel, and Google's release note says the medium "ai-assistant" is assigned "when the referrer matches a recognized AI Assistant". It is a referrer rule, so it covers row 1 of the table and nothing else.
Google's default channel group definition names the sources as "ChatGPT, Gemini, Deepseek, Copilot, or Grok" and says the channel excludes AI Overviews and AI Mode, which stay in Organic Search. The release note does not list every assistant it recognizes, so you cannot audit the list from Google's side.
Most GA4 tutorials on this predate May 2026 and tell you to build a custom channel group from scratch. That is still useful, as a cross-check. Our original setup in the GA4 guide used this pattern on session source:
chatgpt.com|chat.openai.com|openai.com|perplexity.ai|gemini.google.com|copilot.microsoft.com|claude.ai|you.com|poe.com|meta.ai|mistral.ai|deepseek.com
Google's own list now names Grok, which that pattern does not cover, so add |grok.com to the end; it matches the standalone Grok site only. Then build a free-form exploration with session source and session default channel group as dimensions, filtered to sources matching the regex. Any row where the regex matches but the channel is Referral is an assistant Google does not recognize yet. Add new assistant domains you find there when you review the pattern each quarter.
Check UTM tags too. Stape's tests found that visits from ChatGPT inside Atlas can be identified by the utm_source parameter, with the value chatgpt.com, so look at session source/medium as well as the referrer.
What referrer data cannot show
Rows 2 to 5 fail on four different mechanisms: a Chrome user agent, a blocked tag, a missing referrer and an order taken in another app. Each needs its own partial fix, and for a person browsing in Atlas there is no exact count at all, only a proxy you can trend.
AI browsers look like Chrome. Simon Willison checked ChatGPT Atlas on its launch day and found its user agent identical to the user-agent of the latest Chrome on macOS. In tests by the tracking vendor TAGGRS, Comet's user agent was "essentially the same as Atlas's (and Chrome's)". GA4's browser report files both under Chrome, and a user-agent filter in Google Tag Manager has nothing to match.
Some AI browser visits send nothing. The same TAGGRS tests found that Comet's built-in ad blocker stopped GA4 and Tag Manager outright: "not a single tracking request was sent from Comet". They also found that when Atlas's assistant opens a page, it clicks "Reject all" on consent banners, which on a store with a consent banner means no analytics cookies for that session. Your server still served those pages; GA4 never heard about them.
Comet's clicks are easier. When Comet's blocker lets your tag run, TAGGRS found that "Traffic from Comet typically passes a normal referrer", so those clicks land in AI Assistant or Referral as perplexity.ai. The AI browser you cannot see through referrers is mainly Atlas.
Agents often arrive without a referrer. When Willison gave ChatGPT agent a URL to open, the request headers he logged carried no Referer, so GA4 would file that session under Direct. When an agent searches first, it arrives as search traffic: Seer Interactive found OpenAI's Operator going through Bing, so its visits could show up as "Bing/organic or Bing/cpc." No AI channel catches either.
Fetchers do not run your tag. ChatGPT-User, Perplexity-User and Claude-User fetch a page to answer a question. They name themselves, but they read the HTML and leave, so GA4, which also drops traffic on the IAB's International Spiders and Bots List, never records them.
In-chat orders never visit your site. Shopify's Copilot help page says "Google Analytics and custom pixels won't fire" in Copilot's direct checkout. The order exists only in your Shopify admin. Our Agentic Storefronts guide covers where those orders show up.
Server-side tagging recovers some of row 2, not all of it. TAGGRS, which sells server-side tagging, says it "can bypass ad blockers or script restrictions that might be present in AI browsers", because the tag loads from your own domain. That helps with Comet's blocker. It does not help when Atlas rejects consent: the visitor's consent choice still applies, and TAGGRS says to respect it. Treat server-side tagging as a fix for blocked scripts, not for missing referrers or refused consent.
The server-log check (not on hosted Shopify)
On Shopify, skip to the next section: Shopify runs the web server, so you have no access log to search. On your own hosting, or behind a CDN zone you control, a log search finds the visits GA4 drops, because fetchers and Google's agent name themselves in the user agent.
The tokens come from each platform's own documentation. OpenAI's crawler overview lists ChatGPT-User for pages ChatGPT visits when a user asks a question, plus OAI-SearchBot and GPTBot. Perplexity documents Perplexity-User and PerplexityBot, and Anthropic documents Claude-User, Claude-SearchBot and ClaudeBot. Google's user-triggered fetchers page lists Google-Agent, used by agents on Google infrastructure to navigate the web and act on a user's request.
grep -oE "ChatGPT-User|OAI-SearchBot|GPTBot|Perplexity-User|PerplexityBot|Claude-User|Claude-SearchBot|ClaudeBot|Google-Agent" access.log | sort | uniq -c | sort -rn
Read the output in three groups. ChatGPT-User, Perplexity-User and Claude-User are fetches a person asked for: each one is a question that pulled your page into an answer. Google-Agent is a browsing agent, so its sessions may also fire your tags and appear in GA4; the token in the log is how you count them. OAI-SearchBot, PerplexityBot, Claude-SearchBot, GPTBot and ClaudeBot are indexing and training crawlers, which tell you about coverage, not demand.
Two cautions. Google's page warns that "The user agent string can be spoofed", so check a sample of IPs against the files the vendors publish (OpenAI's chatgpt-user.json, Perplexity's perplexity-user.json, Google's user-triggered-agents.json). And agents that present as Chrome will not match any token. Two browsing agents can still be identified: Google-Agent by its token, and ChatGPT agent by its signature. Willison found ChatGPT agent's requests signed, and the way to verify them is to look for the Signature-Agent header naming chatgpt.com and check the signature. Google's fetchers page says Google is also experimenting with the Web Bot Auth protocol for its agent. Most default log formats do not record the Signature-Agent header, so ask your host or CDN to log it.
Whether agents should get in at all is a separate decision, covered in our guide to AI shopping agents.
Flag agent sessions inside GA4
Agents that drive a full browser fire your tags, so some of their sessions are already in GA4, counted as people. You cannot label them with certainty. You can flag sessions whose behavior a person rarely produces and trend those flags weekly. On Shopify, this is the main agent check you have.
Seer Interactive suggests three flags: "sessions with revenue events but near-zero duration", key events missing their usual earlier steps, and "direct landings on checkout URLs." Build each as a segment in a free-form exploration (Explore > Free form > Segments > Session segment):
- Fast purchases: include sessions with the event purchase, and add the metric User engagement under 10 seconds. The 10-second cut is our choice, not Seer's; set it below the fastest checkout you see from real repeat buyers.
- Purchases without a cart: include sessions with purchase, then add an exclude group for sessions with add_to_cart.
- Checkout landings: include sessions where the session's landing page + query string contains /checkouts/ or /cart, the paths Shopify uses for checkout and cart, with session source (direct).
Watch each segment's share of purchases week over week. A rise in all three while human-looking conversion stays flat points to software, not shoppers. None of them proves an agent on its own.
Agent sessions also leak into your ad platforms. An agent that adds to cart and leaves looks like a high-intent abandoner, so remarketing audiences built on that event include it, and the same add-to-cart reaches your Meta pixel and Conversions API as a signal for Meta's delivery.
Report AI as a range, not a number
No single source counts AI-influenced sales. Put three numbers side by side each month: AI Assistant purchases in GA4 as the floor, the share of buyers who name an AI assistant in a checkout survey, and orders from your agentic sales channels. The gap between floor and survey is the influence your channel report misses.
The survey is the piece most stores skip. As I wrote in our GA4 guide: "On stores we work with, the survey consistently reports AI discovery at a multiple of what the channel group shows — the gap between the two is a decent proxy for your zero-click influence." A required "How did you hear about us?" field with an option for "ChatGPT or another AI assistant" is enough.
Here is how the arithmetic works for a hypothetical Shopify skincare store with 1,200 online-store orders in a month. The numbers are invented for illustration, not client data. For simplicity, assume every GA4 AI Assistant buyer also picked the AI option in the survey; in your own data, check the overlap by matching order IDs.
- Survey: 7% of buyers pick the AI assistant option, which is 84 orders.
- GA4: the AI Assistant channel shows 21 purchases. On that assumption, the other 63 of them were credited to Direct, brand search or another channel.
- Agentic channel: 6 orders paid inside AI apps, which neither the survey on your thank-you page nor GA4 sees.
That is 90 AI-influenced orders on the survey's reading, and the AI Assistant channel shows 21 of them, or 23%. The survey overstates in some months, because people misremember, and understates in others. Report the three numbers together and watch how they move over a quarter; a single month's survey share is too noisy to quote alone.
What to set up this week
These steps cover rows 1, 3, 4 and 5 of the table and estimate row 2. The first two take about an hour in GA4. Step 3 needs whoever runs your hosting or CDN, so Shopify stores skip it. The rest are a set of exploration segments, a form field and a monthly report.
- Confirm the AI Assistant channel appears in Reports > Acquisition > Traffic acquisition, and annotate 13 May 2026 so nobody reads the jump as growth.
- Add the regex check: the pattern above plus
|grok.com, compared against the default channel in an exploration. Review it every quarter. - Run the log search monthly if you control your server or CDN, and ask for the Signature-Agent header to be logged.
- Estimate row 2: trend weekly new-user share and Direct sessions landing on deep product URLs, and if you already run server-side tagging, compare its page views with GA4's to size what blockers stop.
- Build the three agent segments in GA4 and trend their share of purchases weekly.
- Add the checkout survey field with an explicit AI assistant option, and pull agentic-channel orders from your Shopify admin.
- Build the monthly range: AI Assistant purchases, survey share and agentic-channel orders in one row.
Visits tell you what happened after an AI named you; they do not tell you how often it names you. That is measured by running fixed buyer prompts on a schedule, which is what our GEO Measurement Protocol describes.
Frequently asked questions
No. Google's channel definitions put clicks from AI Overviews and AI Mode in Organic Search, and the AI Assistant channel explicitly excludes them. There is no GA4 setting that separates them from ordinary organic clicks, so measure presence in those answers directly with a fixed set of prompts.
Partly. A tag served from your own domain can still record visits where a browser blocks third-party scripts, which is the Comet case in TAGGRS's tests. It cannot and should not record sessions where the visitor, or Atlas acting for them, rejected analytics consent. On Shopify, check what your tagging provider supports before buying anything.
Open Reports, then Acquisition, then Traffic acquisition, and set the table to Session default channel group. If AI Assistant appears as a row, the channel is live. Older data from before 13 May 2026 is not reclassified, so compare periods after that date only.
Every quarter, and whenever a new assistant shows up in your Referral report. Engines rename domains and new ones launch, and Google does not publish its full list of recognized assistants, so the custom pattern is how you notice a source the default channel has not picked up yet.
Sources
- Default channel group — Google Analytics Help.
- What's new in Google Analytics — Google Analytics Help. Release entry dated 13 May 2026.
- Known bot-traffic exclusion — Google Analytics Help.
- Introducing ChatGPT Atlas — Simon Willison's Weblog, Oct 21, 2025.
- ChatGPT agent's user-agent — Simon Willison's Weblog, Aug 4, 2025.
- Overview of OpenAI Crawlers — OpenAI.
- Perplexity Crawlers — Perplexity, Jan 29, 2026.
- Does Anthropic crawl data from the web, and how can site owners block the crawler? — Claude Help Center, Apr 7, 2026.
- Google User-Triggered Fetchers — Google for Developers, Aug 19, 2026.
- The impact of AI Browsers on user tracking and attribution — TAGGRS, Dec 8, 2025.
- The New Analytics Blind Spot: AI Traffic & AI Agents That Shop Without Visiting Your Site — Seer Interactive, Jul 22, 2026.
- Selling on Microsoft Copilot — Shopify Help Center.
- AI Browser Tracking: What Marketers and Analysts Should Know — Stape, Feb 6, 2026.
How this article was made: researched and drafted with AI assistance, built on DeviLabs’ published methods and Dominykas Jankauskas’s own positions, then fact-checked against the primary sources listed above and reviewed before publication. Read the full editorial policy. Spotted an error? Email info@devilab.eu.
Baseline first, opinion second
The GEO Measurement Protocol is the documented, reproducible procedure DeviLabs runs before touching anything: six phases, four engines, a 30-day window, and a plain statement of what the evidence supports.