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.

5 min readGEOMeasurement & Growthcross-border

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 modeWhat happensWhat the report showsYour move
In-app clickBuilt-in browsers often send no RefererDirect, (not set), UnassignedLog first hop at the edge
Redirect or short linkA hop domain replaces the real referrerUnfamiliar domain, or one with no pathTag only links you publish
Policy downgradeCross-origin referrers trim to origin by defaultchatgpt.com with no landing pathRecord the request header server-side
Zero clickBuyer reads, never taps, searches the brand laterOrganic brand, or DirectCheckout 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.

StepActionOwnerPass condition
1. Source dictionaryList chatgpt.com, perplexity.ai, copilot.microsoft.com, gemini.google.com, claude.ai; mark each measurable, partial, or invisibleAnalystEvery domain labeled and justified
2. Three collectors, one weekChannel group, first-hop log, survey, running togetherAnalyst plus engineerThe gap fits in a sentence
3. Written definition“AI referral” means a first landing matching the dictionary; state the window and customer scopeGrowth leadOne page others can reproduce
4. Monthly reconcileOne day a month, compare log against report, record the deltaAnalystDelta 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.