Why ChatGPT orders show up as "direct" in Google Analytics
Updated 2026-08-03
Why ChatGPT orders land in "direct"
A shopper asks ChatGPT "where can I buy wireless headphones in Chișinău," gets a shortlist of stores with links, clicks yours, and checks out. In Google Analytics that order almost certainly shows up under (direct) / (none) — as if the person typed your address by hand. The AI channel exists and drives revenue, yet your analytics behaves as though it isn't there.
This isn't a bug or a broken tag. It's simply how the referrer is (not) passed between the AI interface and your site.
What gets lost on the way
The referrer is stripped
Browsers usually send a Referer header — the page a click came from — and GA reads it to assign a source. But AI assistant interfaces often serve links with a no-referrer policy, or open them from an app context where the header is missing entirely. Your site sees a visit with no referrer at all.
GA files it under direct
GA's rule is blunt: no referrer and no UTM tags means (direct) / (none). Bookmarks, taps from messengers and apps, and hand-typed addresses all fall into the same bucket. AI clicks dissolve into it, and native GA can't pull them back out. The report isn't lying — it just doesn't know the source.
How much traffic you're missing
Per our AI Traffic Index for 13 Jul–1 Aug, a panel of three stores logged about 1,005,146 AI-bot hits. Most were crawlers reading the catalog for training and answers. But 144 visits were real people who followed a link from an AI answer — and 90% of them came from ChatGPT.
144 sounds tiny next to a million bot hits, but it's an early signal: the channel is only just forming. Orders attributed to AI in that window were 0 — and it matters not to confuse "the channel doesn't sell" with "we can't see it." Some of those visits already end in a purchase; GA just labels it direct and credits the revenue to the wrong source.
Spotting AI visits by hand
You can extract some of this without extra tooling:
- Filter for AI-domain referrers. In your source reports, filter for
chatgpt.com,perplexity.ai,gemini.google.com,copilot.microsoft.com. Whatever arrived with a referrer is only the visible tip. - Tag outbound links where you can. If you hand AI an
llms.txtor a map of key pages with UTM tags, some clicks will keep their source. - Separate people from bots. A real person runs JavaScript; a crawler doesn't. Requests with the
ChatGPT-User,Perplexity-User, orClaude-UserUser-Agent are AI fetching a page on a human's behalf, not a training crawler.
The manual method has one limit: whatever arrived without a referrer can't be recovered — and that's the majority of AI clicks.
How Botmetria attributes the order
Botmetria's pixel and plugin solve exactly this recovery problem:
- They tag AI referrals — chatgpt, perplexity, gemini, copilot, claude — at the moment of the visit, while the signal still exists, not after the fact from an empty referrer.
- They tie the order to its source, even when the shopper left and came back "directly" between the visit and the purchase.
- They verify bots against vendors' published IP ranges, not just the User-Agent, so anything faking
ChatGPT-Userdoesn't skew your numbers.
The result: AI shows up as its own line next to organic and paid, and you make channel decisions from figures rather than guesswork. To check whether your store even serves clean product data to AI, run the free audit.
Common mistakes
- Assuming an empty GA report means AI doesn't sell. It's empty because the referrer is stripped, not because the channel is missing.
- Chasing the source after the fact. You can't reverse-engineer a plain direct hit; the tag has to be set at visit time.
- Trusting a single User-Agent.
ChatGPT-Useris trivial to spoof; without IP verification you'll count someone else's traffic as AI. - Waiting for "real" orders while tagging nothing. Until attribution is in place, you can't tell a growing channel from zero.
FAQ
Why isn't ChatGPT visible as a source in Google Analytics?
AI interfaces often serve links without a Referer header (a no-referrer policy or a click from an app context). GA receives a visit with no referrer and no UTM, and by its own rule files it under (direct) / (none) — alongside bookmarks and hand-typed addresses.
Can I attribute the AI channel with Google Analytics alone?
Only partly. You can filter visits whose referrer survived (chatgpt.com, perplexity.ai, and so on) and tag outbound links with UTM. But GA can't recover clicks that arrived with no referrer, and those are the majority of AI visits. For a full picture the source must be captured at the moment of the visit.
How do I know how many orders really came from AI?
Botmetria's pixel or plugin tags AI referrals (chatgpt, perplexity, gemini, copilot, claude) on entry and ties the order to the source, even if the shopper returned "directly." Bots are verified against vendor IP ranges, so spoofed User-Agents don't inflate the figures.
Related guides
Check your store for free
A 60-second audit shows how ready your store is for AI agents — and exactly what to fix first.