Revenue Engineering

Revenue Attribution Without the Hype

What revenue attribution can and cannot tell you: the models, a worked example across first touch, last touch and linear, the limits, and what to do instead.

Mauricio Esparza By ·Published ·7 min read
mithub.club
Short answer

Revenue attribution is the practice of assigning credit for revenue to the touchpoints that preceded it. Every model is an assumption, not a measurement: the same deals produce very different pictures under first touch, last touch and linear models. Use attribution to rank channels roughly, and use holdout tests when the decision is expensive.

That is not a reason to skip it. It is a reason to use it for the decisions it can actually support — roughly ranking channels, killing obvious losers, spotting sources that never convert — and to reach for experiments when the decision is expensive.

In short

  • Every attribution model is an assumption made visible, not a measurement.
  • The same six deals can hand a channel 70,000 or 0 depending on the model. The worked example below shows it.
  • Platforms have narrowed the menu: GA4 now supports three models after removing four in 2023 (Google).
  • Data-driven models need volume. Google recommends at least 200 conversions and 2,000 ad interactions in 30 days (Google Ads).
  • MitHub's ladder: record the source honestly, then test, then model. Most teams do it backwards.
  • Before choosing a model, name the decision it will change. If no decision changes, do not build the report.

Start where the money is

MitHub's revenue engineering method begins at the payment and walks backwards: payment → decision → conversations → first contact → source (follow the money). Attribution is the last link of that chain formalized into a repeatable system.

Which means the first attribution question is not "which model?" It is: can you take one payment from last month and reconstruct where it came from? If the answer is no, no model will rescue you, and the fix belongs in CRM architecture, not analytics.

The models, and what they assume

ModelRuleImplicit assumptionBias
First touch100% to the first interactionDiscovery is what mattersOver-credits awareness channels
Last touch100% to the last interaction before conversionClosing is what mattersOver-credits whatever is nearest the sale
LinearEqual split across all touchesAll touches matter equallyRewards channels that appear often and cheaply
Time decayMore credit to recent touchesInfluence fadesPenalizes long nurture
Position-basedMost credit to first and lastDiscovery and closing dominateArbitrary percentages
Data-drivenModel learns credit from converting and non-converting pathsYou have enough data to learn fromOpaque; needs volume

Vendors implement these differently, and the differences are not cosmetic. HubSpot's attribution reporting includes linear, first interaction, last interaction, U-shaped (40% first, 40% lead creation, 20% spread across the middle), W-shaped (30/30/30 with 10% across the middle), time decay with a seven-day half-life, and full path (22.5% to each of four key interactions, 10% across the middle), on Marketing Hub Professional and Enterprise (HubSpot).

Google went the other way and simplified. GA4 now supports data-driven attribution, paid and organic last click, and Google paid channels last click; first click, linear, time decay and position-based were retired in November 2023. Direct visits are also excluded from credit unless the entire path is direct (Google).

Read that last detail twice, because it is the kind of rule that quietly reshapes a report.

A worked example: the same quarter, three answers

This is a hypothetical example with invented numbers, built to show the arithmetic.

Six deals closed for a total of $180,000. Their touch paths:

DealValuePath
D1$30,000Referral → Webinar → Sales call
D2$20,000Google Ads → Email → Sales call
D3$40,000Referral → Sales call
D4$15,000LinkedIn → Webinar → Email
D5$50,000Outbound AI call → Email → Sales call
D6$25,000Google Ads → Webinar → Sales call

Now apply three models. Linear splits each deal's value equally across its touches.

ChannelFirst touchLast touchLinear
Referral$70,000$0$30,000
Google Ads$45,000$0$15,000
LinkedIn$15,000$0$5,000
Outbound AI call$50,000$0$16,667
Webinar$0$0$23,333
Email$0$15,000$28,333
Sales call$0$165,000$61,667
Total$180,000$180,000$180,000

Three observations that survive into real life:

  1. Last touch is useless here. The final touch before a closed deal is nearly always the sales call, so the model reports that sales closes deals. True, and worth nothing.
  2. Email looks invisible under first touch and important under linear. Whether you keep funding it depends entirely on a modelling choice.
  3. Webinars earn nothing under either single-touch model and $23,333 under linear, because they always sit in the middle.

And one more choice that moves everything

Is a sales call a "touch"? If you decide it is an internal activity rather than a marketing touchpoint and remove it from the paths, the same linear split gives:

ChannelLinear, sales call excluded
Referral$55,000
Email$40,000
Webinar$32,500
Outbound AI call$25,000
Google Ads$22,500
LinkedIn$5,000
Total$180,000

Referral moved from $30,000 to $55,000 because of a definition, not because of anything that happened in the market. This is why MitHub insists that every attribution report carries its rules in writing next to the numbers.

MitHub's attribution honesty ladder

Rather than asking "which model is right?", ask "what level of honesty can our data support?"

LevelWhat it isWhat it costsWhat it can answer
0Nothing recordedNothing
1Self-reported: "How did you hear about us?" captured at the saleOne questionWhich channels buyers remember
2One source field per record, written once at creation, never overwritten, plus cost per channelData disciplineCost per deal by source, roughly
3Multi-touch models over logged interactionsClean tracking, consent, integrationRelative contribution, under stated assumptions
4Experiments: holdouts, on/off tests, geo testsWillingness to lose some volumeWhat actually changes when you stop

The mistake MitHub sees most often is jumping to level 3 while level 2 is still broken — building a multi-touch dashboard on top of a source field that three systems overwrite. Level 2 plus one experiment a quarter beats an elaborate model that nobody believes.

Level 1 deserves more respect than it gets. Referrals, word of mouth, a branch manager's reputation and a podcast mention are invisible to every tracker and obvious to the buyer. Ask the question, store the answer in a picklist plus a free-text field, and compare it against your tracked source monthly. The gaps are where your real growth is happening unmeasured.

The limits, stated plainly

  • Offline and phone. Walk-ins, inbound calls and branch visits exist outside web analytics. They must be logged as touches in the CRM or they do not exist.
  • Consent and privacy. Rejected cookies, blocked trackers and cross-device journeys break path data. Modelled gaps are estimates.
  • Long cycles. If your sales cycle is four months and your lookback window is 30 days, the model cannot see the beginning.
  • Volume. Data-driven models need scale; Google's own recommendation is 200 conversions and 2,000 ad interactions per 30 days (Google Ads). A twelve-branch business closing forty deals a month will never reach it for closed revenue.
  • Group buying. Attribution tracks individuals; companies buy in committees. The person who clicked the ad is often not the person who signed.
  • Correlation. A channel that touches every winning deal may be a symptom of intent, not a cause of it.

What to do instead when the decision is expensive

Attribution ranks. Experiments decide. If you are about to double or kill a budget line, run a test:

  • Holdout: withhold the activity from a random 10–20% of eligible leads and compare outcomes.
  • Geo / branch on-off: run the channel in some locations and not others for a fixed period.
  • Sequenced pause: turn it off for four weeks, watch the lagging metrics, turn it back on.

These are cruder than a dashboard and far more convincing, because they measure the difference the activity makes rather than the credit a rule assigns. It is the same logic as proving value fast: produce facts, not opinions.

An attribution setup you can defend

  1. One immutable source field on the record, written at creation by the system that created it. Never overwritten by later activity.
  2. A self-reported question at the moment of purchase, stored separately.
  3. Offline touches logged in the CRM: calls, visits, events, referrals.
  4. A single published definition of channels, touches and the lookback window, so two reports cannot disagree.
  5. One default model for routine reporting, with the rule printed on the report.
  6. A quarterly experiment on the largest line item.
  7. A named owner for the whole thing.

Notice that six of the seven are architecture and discipline, not analytics. That is the real finding of most attribution projects.

The decision test

Before building any attribution report, finish this sentence: "If this report says X, we will do Y."

If nobody can complete it, the report is entertainment. If they can — "if paid search costs more than $4,000 per funded deal, we move the budget to reactivation calling" — then you know exactly which numbers must be trustworthy, and you can stop arguing about the rest.

Attribution is one instrument in a revenue system, useful next to a leak map and a defensible forecast. The Faculty of Revenue Reverse Engineering teaches the whole set, starting from the only number that is never a model: the payment that actually arrived.

Frequently asked questions

What is the difference between first touch and last touch attribution?

First touch gives all credit to the interaction that started the relationship, which favours discovery channels. Last touch gives all credit to the final interaction before conversion, which favours closing channels. Both are single-touch models, and both are wrong in opposite directions.

Which attribution models does GA4 support?

Google Analytics 4 supports data-driven attribution, paid and organic last click, and Google paid channels last click. First click, linear, time decay and position-based models were removed in November 2023.

Is data-driven attribution better?

It is better fitted to your data, but it needs volume. Google recommends at least 200 conversions and 2,000 ad interactions in a 30-day period for the model to work well. Below that, a simple rule you understand is more defensible.

How do I attribute revenue when sales happen by phone or in person?

Capture the source on the record at creation and never overwrite it, log offline interactions as touchpoints in the CRM, and ask buyers directly how they heard about you. Self-reported attribution is imperfect but it catches channels that no tracker can see.

Sources

  1. [GA4] Get started with attribution — Google Analytics Help (accessed 2026-09-17)
  2. About data-driven attribution — Google Ads Help (accessed 2026-09-17)
  3. Understand attribution report definitions — HubSpot Knowledge Base (accessed 2026-09-17)
Revenue EngineeringAttributionAnalyticsMarketing
Mauricio Esparza
Mauricio EsparzaGTM Systems Lead · Revenue Engineer · Founder of MitHub. Designs and runs revenue systems for multi-location businesses: AI voice campaigns, enrichment, CRM automation and attribution. Founded MitHub to teach the method in the open.

Part of Revenue Engineering on MitHub.

Keep going