GEO-012·Issue 01·Measurement & Growth·12 / 132
Stop Counting AI Traffic as Direct: An Attribution Primer
AI referrals land in Direct and (not set) because the link in an answer carries no marker you control. Three fixes, one written definition, a monthly reconcile.
Issue focusThe Entry Point Shift: How AI Search Rewires Global E-commerce Traffic
Second Tuesday of January, a DTC brand selling rechargeable camping lanterns into Germany and the US opens its weekly report. Direct is up again, near a fifth of sessions, with no added spend. Same week, support forwards screenshots from shoppers insisting Perplexity sent them. Paid claims the traffic, organic claims the brand, and the founder asks the only question that matters — which line do we budget against next quarter?
AI referrals are not missing because analytics is broken. They are missing because the link inside an answer carries no marker you control, so attribution comes before the next dollar of GEO spend.
AI referrals are bad data by construction
Three of the four entry points hand analytics a referrer only when the browser, the redirect, and the user cooperate. Usually one does not.
| Loss mode | What happens | What the report shows | Your move |
|---|---|---|---|
| In-app click | Built-in browsers often send no Referer | Direct, (not set), Unassigned | Log first hop at the edge |
| Redirect or short link | A hop domain replaces the real referrer | Unfamiliar domain, or one with no path | Tag only links you publish |
| Policy downgrade | Cross-origin referrers trim to origin by default | chatgpt.com with no landing path | Record the request header server-side |
| Zero click | Buyer reads, never taps, searches the brand later | Organic brand, or Direct | Checkout survey, support field |
A fifth mode is easiest to fake: an AI Overview click is logged as ordinary google / organic, indistinguishable from a blue link. No channel rule splits it; approximate with landing-page shape and query, and say so.
Why UTM cannot clean this up
UTM travels only on links you publish. The link inside an answer is written by the model, so the parameter everyone reaches for is the one you cannot attach.
You control the URL in email, community posts, PR, and short links — tag them. You do not control the URL a retrieval system cites; an assistant’s own utm_source is a gift, not a plan.
Three repairs survive, at three prices:
- First-hop server log. The edge records referrer, user agent, and landing path of the first request, immune to consent banners. The price is a retention call: keep domain and path, drop the IP.
- Custom channel group. Group the known AI domains in your analytics tool. Near-zero cost, catches only what arrives clean.
- Checkout survey and support field. One question — “How did you first hear about us?” — with an AI assistant option. The only route to the zero-click buyer, the majority in AI answers. Biased sample, right direction.
Turn on the channel group this week, add the survey this month, and commit to logs only when someone owns retention. Three half-built collectors are worse than two that reconcile.
Four steps to a channel you can audit
The goal is not precision, but one ruler every month with an error you can explain.
| Step | Action | Owner | Pass condition |
|---|---|---|---|
| 1. Source dictionary | List chatgpt.com, perplexity.ai, copilot.microsoft.com, gemini.google.com, claude.ai; mark each measurable, partial, or invisible | Analyst | Every domain labeled and justified |
| 2. Three collectors, one week | Channel group, first-hop log, survey, running together | Analyst plus engineer | The gap fits in a sentence |
| 3. Written definition | “AI referral” means a first landing matching the dictionary; state the window and customer scope | Growth lead | One page others can reproduce |
| 4. Monthly reconcile | One day a month, compare log against report, record the delta | Analyst | Delta points the same way two months running |
Step three is the one teams skip, and it makes the rest worthless. Windows differ by tool; read your own setting.
A counterexample: one team, chasing a bigger number, dropped bing.com and google.com into the AI channel group. Two months the chart looked excellent; in month three the paid lead noticed the volume did not track spend, and nobody used the table again. Under-counting is recoverable through the survey; over-counting poisons decisions that were right. Which domains belong in the dictionary follows from the entry point that sent the click; keep the four entry points map beside the sheet.
Example: one week, three numbers
Example (hypothetical; shows the spread between definitions, not real data). That week gives the lantern brand three counts: the referral report credits chatgpt.com with 40 sessions, the edge log records 210 landing requests from it, and the checkout survey returns 9 orders picking “AI assistant”.
None of the three is the revenue AI brought. Each answers one question: 40 is how much is cleanly traceable, 210 how many clicked, 9 how many will admit the assistant mattered. Averaging them is the commonest self-deception — three populations, not three readings of one.
The longer the window, the more the AI touch is absorbed by later email and retargeting. Run two views — default model for paid, first-touch long window for GEO — never on one slide. What a product looks like inside an answer sets the click-through ceiling; a crawl path that never opens leaves no request. See what a product looks like in an AI answer and the AI crawler map.
Where this breaks
Too little traffic. A few dozen AI referrals a week vanish into noise. Accumulate samples for a quarter.
In-platform AI. Amazon-style marketplaces expose no source data. Attribution there produces a confident fake table; listing completeness and reviews are the better use of those hours.
Compliance arrives first. Consent management, retention limits, and IP anonymization cap what you may store. Trading legal exposure for a statistic is a bad trade in the EU, and increasingly the US.
Attribution is not causation. AI referrals rising alongside a spend increase, a stockout, or peak season proves nothing. Write it as correlation, or be corrected next quarter.
No engineering time. Channel group plus survey is a usable start; run it three months before arguing for headcount. If the brand never appears in AI answers, look upstream: check brand entity existence first. This is measurement and growth work in sequence, not a purchase.
This month, pick one action: export 30 days of source-domain detail, sort by domain, pull chatgpt.com, perplexity.ai, copilot.microsoft.com, gemini.google.com, and claude.ai into one channel group — and screenshot the old report first. That half hour earns no order; it is the baseline every later GEO report is measured against.