Skip to content

Part 2 of 7 · Lead source attributor series ~5 min read

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

How a single arrival is captured as an attribution touchA vertical chain of five steps entered by a box labelled Somebody arrives on any page. Step one asks whether campaign parameters such as utm_source are present; if so it exits to Trust them, because you set them. Step two asks whether a referrer header is present, noting it is often stripped; if not it exits to Direct, described as a bucket rather than a source. Step three asks whether the referrer is a search engine, matched by domain; if so it exits to Organic search, noting the search term is almost never given. Step four records the touch with its referrer, landing page and time. Step five attaches it to a visitor for stitching later. A note says every branch here loses information, and the design records which branch it took.AWS ACCOUNTSomebody arriveson any pageCampaign parameters?utm_source and friendsTrust themyou set themyesA referrer header?often strippedDirecta bucket, not a sourcenoIs it a search engine?by domainOrganic searchterm almost never givenyesRecord the touchreferrer, landing, timeAttach to a visitorfor stitching laterEvery branch here loses information. The design records which branch it took.
Fig 1. How one arrival becomes one stored touch. The branch taken is recorded alongside the touch, so a report can distinguish a confident source from a guessed one.
  • 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

The marketing touches that no tracking system can captureA horizontal row of five boxes. A recommendation in a conversation. A podcast mention with no link at all. A print ad read on a train. A phone call that never touched the site. Invisible, and often decisive. A note says the correct response is to ask people, not to build more tracking.WHAT NO SYSTEM CAN CAPTUREA recommendationin a conversationA podcast mentionno link at allA print adread on a trainA phone callnever touched the siteInvisibleand often decisiveThe correct response is to ask people, not to build more tracking.
Fig 2. The permanent blind spot. It is not an engineering gap, and the tooling response to it is the wrong response.
  • 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