In one line

Attribution dies at the boundaries between systems — the click that never reaches the CRM, the call that lives only in the call platform. Fix the joints rather than buying a bigger dashboard. Perfect attribution is a myth; defensible attribution is not.

Most attribution problems are not analytics problems. Teams respond to unreliable attribution by buying a more sophisticated tool, adopting a multi-touch model, or commissioning a new dashboard. Then the new dashboard shows the same gaps, just more attractively.

The reason is that attribution rarely fails inside a system. It fails at the boundaries between systems. A buyer’s journey passes through an ad platform, a website, a form, a CRM, perhaps a call-tracking platform, a sales conversation and finally a closed deal. At every hand-off, information can fall on the floor. Once it has, no model downstream can recover it.

Threading is the discipline of making sure the information survives every hand-off.

Where the thread breaks

These are the joints where attribution most commonly dies:

Repairing each joint

Capture at the point of entry. Every form should store campaign parameters and click identifiers in hidden fields that write to the CRM record. Google’s documentation is explicit that the click ID should be stored with the prospect’s information, and notes that it is case-sensitive — small details that break imports when missed.

Enforce a tagging convention. A written convention for campaign parameters, and a URL builder that makes following it the path of least resistance. Free-text tagging always drifts.

Wire calls into the CRM. Call-tracking platforms can pass call records, with their source, into the CRM as activities or leads. The CallRail and Salesforce integration guide covers one common setup.

Require a source on every opportunity. Make it a required field, and default it from the originating contact where possible, so reps are not asked to remember.

Protect original source. Keep separate first-touch and most-recent-touch fields, and write first-touch once. Merges and imports should never overwrite it.

Send revenue back. Sync qualified opportunities and closed deals back to the ad platforms through offline conversion imports. Platforms limit how long after a click a conversion can be uploaded, so this needs to run automatically on a schedule rather than as an occasional export. Once it runs, the platforms can learn from revenue instead of from form fills — the change at the heart of optimising on revenue, not activity.

Why perfect attribution is a myth

It is worth being honest about the ceiling. No attribution approach will give you a perfect, complete picture of why every buyer chose you:

That is why the goal is defensible attribution rather than perfect attribution: a record where every closed deal can be traced back to at least a credible source, the gaps are known and small, and the numbers hold up when a finance lead asks how they were produced. Complementing tracking with self-reported attribution — simply asking buyers how they heard about you — fills in some of what tracking cannot see.

A ten-deal test

You can find out how healthy your thread is in an hour. Pick your last ten closed-won deals and try to trace each one back to its original source using only what your systems record. If you can do it for eight or more, your thread is in reasonable shape. If you can do it for fewer than half, no dashboard will help until the joints are fixed.

Where to go next

Cost per pipeline dollar is the metric this plumbing makes possible. The four layers of ad waste explains how broken tracking corrupts bidding. And the revenue data workflow covers the operational setup end to end.