How a touch gets captured
Capture is the easy part of attribution and it is still where the errors start, because the fields that look authoritative are not, and the biggest bucket in every report is not a source at all.
Key takeaways
- Record referrer, campaign parameters, landing page and timestamp — all four, every time.
- The referrer is missing or stripped far more often than people expect.
- Direct is a bucket, not a source. Naming it honestly changes how it is read.
- Tag your own campaigns properly; it is the only signal you fully control.
- Some touches never reach the site, and no amount of engineering will capture them.
What gets recorded
- Compute
- Database
- App integration
- Machine learning
- Networking
- Analytics
- People
The referrer is weaker than it looks
A referrer header arrives on a good deal less traffic than people assume. Links from apps frequently carry none. Messaging apps, email clients and PDF readers usually strip it. Privacy settings in mainstream browsers trim it to the bare domain or remove it. A link somebody sent a friend on WhatsApp arrives looking exactly like direct traffic.
This matters more than a missing field usually would, because the missing cases are not random. Word-of-mouth referrals — the source most businesses most want to measure — are precisely the ones that arrive with no referrer, which biases every report against the thing that is working best.
What direct actually contains
Everything that ends up in “direct”
- Somebody typing the address, which is what the label implies and is the smallest part of it.
- A link from a messaging app, an email client, or a document.
- A bookmark, an autocomplete, a link somebody was given verbally.
- Traffic where the referrer was stripped by a privacy setting.
- An app-to-browser handoff that dropped the header.
- Rename it. Calling this column “unattributed” rather than “direct” changes how every reader interprets the report, at no engineering cost.
The touches that never arrive
- Compute
- Front-end & mobile
- People
The single highest-value thing to add to this system is not a tracking improvement. It is a field on the enquiry form asking how they heard about you, free text, optional. The answers are messy, a third of people skip it, and it still reveals more about the invisible sources than any amount of instrumentation.
Those answers are stored as a separate touch with a distinct type, so the report can say “twelve people mentioned the podcast” alongside “the podcast generated zero traceable clicks”. Both are true and only the second one shows up in an ad platform.
Tag your own campaigns
Campaign parameters are the one signal fully under your control, and they are worth being disciplined about: a consistent source, medium and campaign on every link you publish, including the ones in email footers and social profiles that nobody thinks of as campaigns.
The common failure is inconsistency — facebook, FB and fb-ads in the same report as three different sources. Normalising at capture is a twenty-line lookup table and it prevents a quarter of the confusion in every attribution report ever produced.
Next: linking the visits that belong together.
All posts