Measuring AI and agent traffic: analytics, attribution and share of recommendation
A four-layer plan for measuring AI shopping: GA4 AI Assistant traffic, agent fetches in server logs, agent-originated orders and share of recommendation.
By the ConversionVector teamUpdated 13 min read
Contents
Direct answer: No single tool sees AI shopping, so measure it in four layers. 1. AI-referred people: in GA4, use the AI Assistant default channel (ChatGPT, Gemini, Copilot and similar), find the chatgpt.com visits that leak into other channels, and remember that Google AI Mode and AI Overviews count as Organic Search. 2. Agent fetches: count agent requests and their status codes in server or CDN logs, because most agents never run your analytics script. 3. Agent-originated orders: tag and reconcile orders from platform and protocol channels, because some agent checkouts fire no client-side analytics. 4. Share of recommendation: track how often assistants name you for a fixed set of buying prompts. Report the four side by side every week.
This guide is for analysts and ecommerce managers at mid-market retailers selling in the US, the UK and Europe, and elsewhere. It gives you a measurement plan you can set up this week: GA4 channel rules, log queries, order tagging and a weekly report.
Last verified: 31 October 2026 against Google Analytics Help, Google Search Central and Google's crawler documentation, Google Merchant Center Help, OpenAI's crawler documentation and merchants page, Perplexity's and Anthropic's crawler documentation, Shopify's Help Center and Microsoft Advertising's agentic commerce page. Assistants change how they link and identify themselves often (ChatGPT's tagging broke for about a week in October 2026), so check the current versions before you rely on a number.
Why one dashboard is not enough
Each layer is invisible to the tools built for the others:
| Layer | What it answers | Where to measure | What it misses |
|---|---|---|---|
| 1. AI-referred people | Do shoppers click through from assistants, and do they buy? | GA4 (or your analytics tool) | Agents, and clicks whose referrer and tag are lost |
| 2. Agent fetches | Are agents reading my pages, and do they get a 200? | Server, CDN or WAF logs | Whether the read led to a recommendation |
| 3. Agent-originated orders | Did an agent or in-assistant checkout produce revenue? | Platform orders, protocol logs, payment provider | Discovery that ended in a visit, not an order |
| 4. Share of recommendation | Am I being chosen when shoppers ask? | Repeated prompt sampling | Traffic and revenue |
A store can grow in layer 4 and see nothing in layer 1 (shoppers buy elsewhere after the answer), or see agents hammering its pages in layer 2 while every one gets a 403. You need all four to know which.
Layer 1: AI-referred people in GA4
What GA4 does by default
Google's default channel group documentation lists an AI Assistant channel: "the channel by which users arrive at your site from sources like ChatGPT, Gemini, Deepseek, Copilot, or Grok. It excludes Google's AI Overviews and AI Mode." The rule is that the medium exactly matches ai-assistant, which GA4 sets, together with the campaign (ai-assistant), "if the referrer matches a list of AI Assistants". Organic Search, by contrast, explicitly includes "Google's AI Overviews and AI Mode".
So, as of 31 October 2026:
- ChatGPT, Gemini, Copilot, DeepSeek, Grok and similar assistants: AI Assistant, when GA4 recognises the referrer.
- Google AI Mode and AI Overviews: Organic Search. You cannot separate them from other Google organic clicks in GA4. Google Search Central says they are also included in Search Console's Performance report, within the "Web" search type.
The AI Assistant rule depends on the referrer. That matters, because assistants do not always send one.
The utm_source=chatgpt.com tag, and the October gap
ChatGPT adds utm_source=chatgpt.com to the links in its answers. OpenAI's Publishers and Developers FAQ stated this; on 31 October 2026 the FAQ's address showed a different Help Center article, so we checked the behaviour against independent measurement instead. SISTRIX, which samples ChatGPT answers daily without logging in, reported on 30 October 2026 that the parameter was on every source link in its data up to 8 October, on only 1 to 24% of links from 9 to 15 October, and back on 99 to 100% since 17 October (SISTRIX). It also found that links in ChatGPT's new answer format carry rel="noopener noreferrer", so the browser passes no referrer, and "such visits show up as direct traffic" when the tag is missing. Profound reported the same gap, with tagging back to about 99% of answers by 16 October (Profound).
Three things follow for your reporting:
- Annotate 8 to 16 October 2026. A fall in ChatGPT visits and a rise in Direct over those days is most likely lost attribution, not lost demand. Do not compare that week with others.
- Treat the tag as the main signal for ChatGPT, because the referrer is often absent. A link copied out of ChatGPT and shared elsewhere still carries the tag, so read the figure as "visits from ChatGPT links", not "people who were in ChatGPT".
- Expect leaks. Depending on whether a referrer, a tag or both arrive, an AI visit may land in AI Assistant, Referral, Unassigned or Direct.
Find the leaks, then build your own channel
Once a month, run an exploration on Session source across all channels and filter it with a regex for the assistants you care about. A starting list (review it quarterly, because hostnames change):
chatgpt\.com|openai\.com|perplexity\.ai|gemini\.google\.com|copilot\.microsoft\.com|copilot\.com|claude\.ai|deepseek\.com|grok\.com|meta\.ai
If material AI traffic sits outside AI Assistant, create a custom channel group. Google's custom channel groups help page includes an "AI assistants" example with a source regex and says to reorder the list so the AI channel "appears above 'Referrals'". Traffic goes into "the first channel whose definition it matches", so order matters. Google's example regex is deliberately broad (it matches any source containing "gpt" or "gemini", for instance); a list of exact hostnames like the one above gives fewer false positives. Two constraints to know: you cannot edit the default channel group, but you can make a custom group your property's primary channel group, and standard properties allow two custom groups.
What to report
For the AI Assistant channel and your custom AI channel: sessions, engaged sessions, key events, purchase conversion rate, revenue and revenue per session, by landing page and by country. Compare against Organic Search and Direct on the same pages. Small numbers swing widely, so report a rolling 28 days alongside the week.
Layer 2: agent fetches in your logs
Page-fetching agents read your HTML without running JavaScript, so they never fire a GA4 tag. GA4 also automatically excludes known bot traffic, using Google's research and the IAB's spiders and bots list, and you "cannot disable known bot traffic exclusion or see how much known bot traffic was excluded". Your server, CDN or WAF logs are the only full record.
What to count
- Requests by user-agent token. Each vendor documents its own, with a published list of IP ranges:
| Vendor | Token | What it does, per the vendor | IP list |
|---|---|---|---|
| OpenAI | GPTBot | Crawls content that may be used to train its models | gptbot.json |
| OpenAI | OAI-SearchBot | Surfaces websites in ChatGPT's search features | searchbot.json |
| OpenAI | ChatGPT-User | Visits a page when a user asks ChatGPT a question; "robots.txt rules may not apply" | chatgpt-user.json |
| Perplexity | PerplexityBot | Surfaces and links websites in Perplexity search results | perplexitybot.json |
| Perplexity | Perplexity-User | Visits a page when a user asks a question; "generally ignores robots.txt rules" | perplexity-user.json |
| Anthropic | ClaudeBot | Collects web content that could contribute to model training | bots.json (one list for all three) |
| Anthropic | Claude-SearchBot | Navigates the web to improve search result quality for Claude users | bots.json |
| Anthropic | Claude-User | Accesses websites when people ask Claude questions | bots.json |
Google-Agent | Used by "agents hosted on Google infrastructure to navigate the web and perform actions upon user request" | user-triggered-agents.json |
Sources: OpenAI, Perplexity, Anthropic and Google. For what to allow and block, see Are you blocking AI shopping agents?
- Status codes per agent. A rising count of 403, 429 or challenge responses is demand you are turning away.
- Which pages they request: product pages, policy pages, basket and checkout.
- Verified vs claimed. A user-agent string can be spoofed (Google's crawler documentation says so plainly), which is why the vendors publish IP ranges. Report traffic whose IP matches the vendor's list separately from traffic that only claims the name. Where your CDN labels verified bots or checks Web Bot Auth signatures, use that label too; Know Your Agent for retailers explains how signed agents identify themselves.
A first query
For a standard combined-format access log:
# Requests per AI agent token
grep -Eo 'OAI-SearchBot|ChatGPT-User|GPTBot|PerplexityBot|Perplexity-User|ClaudeBot|Claude-SearchBot|Claude-User|Google-Agent' access.log \
| sort | uniq -c | sort -rn
# Status codes for one agent on product pages (field 9 is the status in combined format)
grep 'ChatGPT-User' access.log | grep '/products/' | awk '{print $9}' | sort | uniq -c
Adjust the path pattern and the status field for your log format. OpenAI notes that when its crawlers fetch robots.txt they may add a robots.txt marker to the user-agent string, so exclude those requests if you only want page reads. On a CDN, use its log export or bot analytics filtered by user agent or bot category.
How to read it
- Training crawlers (
GPTBot,ClaudeBot) say nothing about shopping. Report them, but do not count them as demand. - Search crawlers (
OAI-SearchBot,PerplexityBot,Claude-SearchBot) show whether you can be found at all. - User-triggered fetchers and agents (
ChatGPT-User,Perplexity-User,Claude-User,Google-Agent) are the closest log signal to live shopper demand: someone asked a question or gave a task, and the assistant read your page to act on it. - Browsing agents that run a full browser in the cloud may not be identifiable by user agent at all. Page-fetching vs browsing agents explains the difference and why it changes what you can see.
Layer 3: agent-originated orders
Orders placed through an assistant's own checkout may never touch your analytics:
- Shopify. For Google AI Mode and Gemini direct checkout, Shopify says "Google Analytics and custom pixels won't fire", and the checkout "fires only server-to-server pixels (started, completed)" (Shopify Help Center). Shopify also says orders from AI channels show in your admin "with channel or referrer attribution", and orders placed through personal AI agents show "with attribution to the agent" (Shopify agentic storefronts). Use Shopify's order and sales channel reporting for these orders.
- Google UCP-powered checkout. For products eligible in the US, Canada and Australia, and for select merchants at this time, checkout "happens directly on Google's surfaces while keeping you the merchant of record" (Merchant Center Help). The order arrives through your UCP integration, so tag it there.
- Copilot Checkout. Microsoft lists PayPal, Shopify and Stripe as onboarding routes, keeps the merchant as merchant of record, and says only "English‑language merchants who sell to US buyers are eligible at this time" (Microsoft Advertising). Check what channel or metadata your platform or payment provider attaches to these orders.
- ChatGPT. OpenAI says shopping is live for users in the US and that "purchases are completed on merchant-owned websites or apps" (OpenAI). These orders appear in Layer 1, if the tag or referrer survives.
What to do: add an order_channel field (or your platform's equivalent tag) to every order created through a protocol or platform agent channel, at the point the order is created on the server. Report revenue by that field alongside GA4. If you run your own UCP or ACP endpoint, log every checkout session it creates and completes, so you have a funnel for agent checkouts too. If agents stall before they ever reach an order, Can an AI agent buy from your shop? covers where and why.
Layer 4: share of recommendation
Referral traffic shows the shoppers who clicked. It does not show how often an assistant recommended a competitor instead. To measure selection:
- Fix a prompt set. Write 20 to 50 buying questions per category and market, in the shopper's words ("best waterproof trail jacket under £150", "where to buy a 3-person tent with next-day delivery in the US").
- Run each prompt several times per assistant. Answers vary between asks, so a single run proves little.
- Record: were you named, in what position, which product, which URL was cited, and the reason the assistant gave ("free returns", "in stock", "4.6 stars").
- Report a rate by assistant, market and category, with the date and method, for example "named in 36 of 200 runs (18%)". The figure here is illustrative.
- Read the stated reasons. They show which facts the assistant used, and often which facts it could not find on your pages.
Use the same account state for every run (for example, always logged out) so that runs stay comparable. Never treat one screenshot as evidence, and never present a sampled rate as a ranking.
A weekly AI commerce report
| Section | Metric | Source |
|---|---|---|
| People | AI Assistant sessions, conversion rate, revenue, revenue per session (week and rolling 28 days) | GA4 |
| People | AI sources found outside the AI Assistant channel | GA4 exploration |
| Agents | Requests per agent token, verified vs claimed, and the share returning 200 | Server or CDN logs |
| Agents | Top 10 product pages fetched by user-triggered agents | Logs |
| Orders | Orders and revenue by agent channel | Platform, protocol logs, payment provider |
| Selection | Share of recommendation by assistant and market, with top stated reasons | Prompt sampling |
| Readiness | Agent Conversion Score and any checks that changed | Free score |
Keep the method fixed for at least a quarter so the trend means something, annotate known tracking breaks such as 8 to 16 October 2026, and report changes as correlation, not cause.
Common mistakes
- Counting only GA4. It misses agents that never run JavaScript, known bots it filters out, and agent checkouts that fire no client-side pixels.
- Reading a tracking break as a trend. ChatGPT's missing tags in October 2026 moved visits from ChatGPT to Direct for about a week.
- Counting fetches you are refusing. If logs show agents getting 403s on product pages, basket or checkout, fix that first.
- Expecting AI Mode in the AI Assistant channel. Google counts AI Mode and AI Overviews as Organic Search.
- Treating GPTBot or ClaudeBot visits as shopping demand. Both are described by their vendors as training crawlers.
- Trusting the user-agent string. Check claimed agents against the vendor's published IP ranges.
- Comparing conversion rates on tiny samples. A few dozen sessions cannot support a budget decision.
- Changing the prompt set every month. Then no trend is comparable.
Sources
- Google Analytics Help, Default channel group, Custom channel groups and Known bot-traffic exclusion, read 31 October 2026
- Google Search Central, AI features and your website, last updated 10 December 2025, read 31 October 2026
- Google for Developers, List of Google user-triggered fetchers, last updated 19 August 2026
- SISTRIX, What changed in ChatGPT in October: GPT-6, UTM tracking and sources, 30 October 2026
- Profound, ChatGPT's missing UTM tags: what happened from October 8 to October 16, read 31 October 2026
- OpenAI, Overview of OpenAI crawlers and Power product discovery in ChatGPT (merchants page), read 31 October 2026
- Perplexity, Perplexity crawlers, read 31 October 2026
- Anthropic, Does Anthropic crawl data from the web, and how can site owners block the crawler?, read 31 October 2026
- Shopify Help Center, Shopify agentic storefronts and Selling on Google AI Mode and Gemini, read 31 October 2026
- Google Merchant Center Help, About the Universal Commerce Protocol (UCP) and UCP-powered checkout feature on Google, read 31 October 2026
- Microsoft Advertising, Agentic commerce, read 31 October 2026
Questions
- How do I see ChatGPT traffic in GA4?
- Start with the AI Assistant channel in GA4's default channel group. Google describes it as visits from sources like ChatGPT, Gemini, DeepSeek, Copilot or Grok, and GA4 assigns it when the referrer matches its list of AI assistants. ChatGPT also adds utm_source=chatgpt.com to the links in its answers, which matters because many of those links pass no referrer. Then run an exploration on session source across all channels to find chatgpt.com visits that landed somewhere else, such as Direct or Unassigned.
- Does GA4 count Google AI Mode as AI traffic?
- No. Google's channel documentation says the AI Assistant channel excludes AI Overviews and AI Mode, and that Organic Search includes them. Search Console also counts AI Overviews and AI Mode within the Web search type of the Performance report, so you cannot separate them from other Google organic clicks in either tool.
- Can I see AI agents in Google Analytics?
- Mostly not. Page-fetching agents such as ChatGPT-User or Perplexity-User read your HTML without running your analytics script, and GA4 automatically excludes traffic from known bots without showing how much it removed. Agents that browse in a real browser may run your tags, but then look like ordinary sessions. Use server or CDN logs to count agent requests by user agent and check them against each vendor's published IP ranges.
- How do I know if an order came from an AI agent?
- It depends on the route. Shopify says orders from AI channels show in the admin with channel or referrer attribution, and that its Google AI Mode and Gemini direct checkout fires only server-to-server pixels, so Google Analytics will not see those orders. For your own protocol integrations, tag the order with its channel when it is created on the server, and reconcile platform or payment-provider order data with your analytics rather than relying on GA4 alone.
- What is share of recommendation?
- It is how often an AI assistant names your store or product when asked a buying question in your category, measured over a fixed set of prompts and repeated over time. Answers vary between asks, so measure it as a rate over many runs per assistant and market, not from a single screenshot.
Published . Last updated . More in Agentic commerce and the guide library.
Related guides
- Agent readiness
Are you blocking AI shopping agents? A complete guide to robots.txt, CDN and WAF
Which AI crawlers and shopping agents to allow, the exact user agents, Cloudflare, Akamai, Fastly and AWS WAF settings, and how to test your store.
Updated · 15 min read
- Agent checkout
Can an AI agent buy from your shop? Removing checkout friction for agents
Where AI agents stall between product page and payment, what the Agent Commerce Index found, and a ranked agent checkout audit you can run yourself.
Updated · 12 min read
- Agent checkout
Page-fetching vs browsing agents: why 8 of 116 stores let one reach checkout, 96 the other
Why AI agents that fetch pages fail where browser agents succeed, what the Agent Commerce Index data shows, and how to make your store work for both.
Updated · 12 min read