Attribution: the insights to optimize marketing mix
Every attribution model tells a different story about where revenue comes from. None of them are completely right, and none are completely wrong, so the choice of model is itself a budget decision. These two builds, a regional home-services contractor and a global enterprise, replaced guesswork with a warehouse: multi-signal attribution on one side, data-driven attribution across millions of stitched touches on the other.
What attribution is, and why it matters
A person or account rarely converts on the first touch. They see an ad, search the brand name, read a review, then buy weeks later. Attribution is the rule that decides how much credit each of those touches gets for the outcome. It starts with the journey, the ordered touches identity resolution stitched to one person, bounded by a stage window so a visit from a year ago cannot claim credit for this month's close.
Rule-based models
A fixed formula decides the split before looking at any data. Last touch gives everything to the final click, first touch to the opener, linear splits evenly, and position-based and time-decay hard-code a curve. Fast to compute, but the shape is an assumption, not a finding.
Data-driven models
The shape gets learned from the data instead of assumed. Two common approaches: a Markov model and a logistic regression.
Markov · removal effect
Builds the journey as a chain of channel-to-channel transitions, then asks a simple question per channel: if this step were removed from every chain, how much would the overall conversion rate drop? A channel that only appears alongside others that convert just fine without it gets little credit. One whose removal tanks the conversion rate gets a lot.
Logistic regression
Fits a probability of conversion to each touch's position, timing, and channel, then reads off each touch's marginal effect: how much the odds of converting changed because that specific touch happened. Both methods replace a fixed opinion about which touches matter with a weight fitted to what this business's data actually shows.
The shape each model draws
Across a five-touch journey. Rule-based models apply a fixed shape; data-driven models learn one from the data.
Every fixed shape encodes an assumption made before seeing any data. First and last touch discard most of the journey, linear treats a filler touch like a decisive one, and position-based and time-decay hard-code which touches deserve the weight.
The CRM said ads did almost nothing. The CRM was wrong.
Before the build, the contractor's only attribution was a hand-typed lead-source field in the CRM, filled in by whoever took the call. It credited ads with 10.3%of won revenue. That number was never reliable, because it depended on a person remembering to type it correctly on every deal, and it got worse as CRM management issues elsewhere compounded. By the post period, that field attributed exactly zero deals, not because ads stopped working, but because the business had replaced manual tagging with automatic capture and no longer required anyone to type a source at all.
The warehouse rebuilt attribution from signals that do not depend on anyone remembering to type anything: call-tracking sources, click IDs recovered through identity resolution, GA4 client IDs, and UTMs. After the build, 55.8%of won revenue traces to a paid origin, roughly 5.4x what the old field ever showed. These percentages nest rather than add up, which is where most attribution decks quietly mislead, so the chart below draws the containment instead of asking you to hold it in your head. In the same window, the monthly deal rate rose 53.4%.
How the revenue actually divides
The top three bars are shares of the same denominator: won revenue in the mar – mid-sep 2026 window. 86.5% is visible to Google at all, and of that visible revenue the warehouse now feeds back effectively everything. 55.8% traces to a paid origin. The bottom bar is the old hand-typed CRM field at its pre-go-live best, 10.3%, included for scale — in this window it attributed nothing at all.
The gap between the top two bars is the part no warehouse can fix. Roughly 14% of this contractor's revenue arrives with no digital footprint at all, through walk-ins, referrals, and mailers, so it can never be matched to a click by anyone. Naming that ceiling matters: it is the difference between attribution that reports what happened and attribution that claims credit for the whole business.
What the signal coverage actually did
Share of each month's newly resolved identities arriving with a usable attribution signal. UTMs (gray) were always present and always erratic, swinging between a fifth and half of new identities. Click IDs (gold) were flat at zero for the entire pre-build period, then held above half once capture was wired through identity resolution. Shares exceed 100% combined because one identity can carry both.
Which signal attributed the deals
Share of ad-attributed deals by winning signal. Call tracking carried the load (red), as this is a phone-first business, while the CRM's native field attributed none. Deals with no paid origin at all are outside this denominator.
Visibility is a means, not the outcome. Comparing the post-go-live window against the months before it, the won-deal rate moved from 18.5 to 28.5 deals a month.
Data-driven credit vs the linear baseline
The global enterprise had the opposite problem: many signals, all credited the same way. The linear attribution model spreads credit evenly across every touch in a journey, which flatters channels that appear often but rarely move a deal. The build replaced it with a fitted model per funnel stage, from marketing-qualified lead through sales acceptance and qualification to opportunity created, each trained on journeys identity resolution had connected.
Each model learns which channels actually predict a lead advancing to that stage. It does this by asking, for every channel, what happens to the model's predicted probability of advancing if that channel is removed from the journey entirely. A channel whose removal barely moves the prediction was mostly just present, not decisive, and gets little credit; one whose removal drops the prediction sharply gets a lot. Running it side by side with linear is the honest way to ship it, because the deltas, not the absolute numbers, are where the budget argument lives.
DDA vs linear: credit share at opportunity created
Share of stage credit per channel under the even-weight linear model (gray) and the fitted data-driven model (gold). At opportunity created, organic search and sales touches carry the largest shares; the fitted model lifts organic and uncategorized credit while cutting broad-reach paid and direct.
Credit shift by stage
Credit-share shift, data-driven minus linear, in points of stage credit. Broad-reach paid loses nine points at opportunity created; paid search gains two. Earlier stages are mixed, which is why the budget argument anchors on the opp-created window, not closed-won.
Linear flattered broad-reach campaigns because they touch nearly every journey. The fitted models found that presence is not influence at opportunity created: broad-reach paid loses nine points of credit while organic search gains seven. The closed-won window tells a different story, which is why the team optimized on person-grain opportunity created, not the post-sale attribution window.
The gap is not an artifact of one query window
A single snapshot of credit shares proves nothing durable: pick a different month and the deltas could invert. Running both models side by side every day for 221days settles it. Across the window, data-driven attribution assigned paid channels 85.3%of even credit of what even-credit assigned, so the even-weight baseline was over-crediting paid by roughly a sixth, persistently rather than occasionally.
Data-driven credit as a share of linear credit, paid channels
Volume-weighted 7-day trailing ratio across jan 2 – aug 21, 2026. Below the dashed line means data-driven attribution gave paid less credit than the linear model did; the line clears parity on only a handful of days. The ratio is volume-weighted because a per-day figure swings wildly on days with almost no paid volume.
Two windows, two stories
Data-driven credit share at opportunity created (gray) versus closed won (gold). Direct inflates from 4.4% to 48.3% in the closed-won window; sales touches vanish. Optimize on the left bars, treat the right as directional only.
Where credit moves as the model changes
The same enterprise credit, plotted as a constellation. Each star is a channel that appeared on journeys reaching an opportunity, sized by its share of stage credit under the model you pick. Step from first touch through last touch and linear to the fitted model and watch weight drain out of broad-reach paid, direct, and sales touches and pool into search. Gold marks a channel the fitted model credits more than linear does; burgundy marks one it credits less.
Touchpoint constellation
Star size = share of opportunity-created credit under the selected model. First and last touch are single-touch splits over the same journeys; the links between stars are illustrative journey co-occurrence, not a fitted transition matrix.