Revenue Attribution: Crediting Channels Correctly

Two reports land on your desk. Google Ads says it drove $400,000 in revenue last quarter. Your CRM says total closed revenue was $310,000. The numbers do not even agree on the size of the pie, let alone how to slice it. So which channel actually paid for itself, and which one are you funding out of habit?

Revenue attribution answers that question: which marketing channels, campaigns, and touchpoints get credit for the deals you actually closed. Get it right and budget decisions become obvious. Get it wrong and you cut the channel that quietly assists every deal while pouring money into the one that takes credit for work it did not do.

This guide covers the models, the mistakes that quietly poison B2B attribution, and a setup you can build without a six-figure data stack.

Why channel attribution breaks in B2B

The platforms each measure their own contribution, and they each round up. Google Ads counts a conversion when its ad gets a click in the lookback window. LinkedIn counts one when its ad gets a view. A prospect who saw a LinkedIn ad, searched your brand on Google, and downloaded a guide before booking a call shows up as a "conversion" in all three tools. Add it up and your channels claim 280% of the deals you closed.

B2B makes this worse than e-commerce for three reasons.

The buying committee. A single deal involves five to eleven people in many B2B purchases, by CEB and Gartner research. They each touch different channels. The technical evaluator reads your docs, the economic buyer never visits the site at all, the champion fills out the form. One conversion event hides a crowd.

The long cycle. Months pass between first touch and closed deal. Default attribution windows (often 30 to 90 days) expire before the deal closes, so the early touches vanish from the report.

Form-to-revenue gap. A form fill is not money. In B2B, the gap between a lead and a signed contract is where most of the truth lives. A channel that produces cheap form fills can look brilliant on cost-per-lead and terrible on cost-per-customer. Attribution that stops at the form fill measures the wrong finish line. The same trap shows up when teams judge PPC by clicks instead of revenue: the metric is easy to collect and easy to misread.

The attribution models, and what each one hides

An attribution model is just a rule for splitting credit across touchpoints. None of them is "correct." Each answers a different question, and each lies about something.

Model How it splits credit Good for What it hides
First touch 100% to the first interaction Judging top-of-funnel demand creation Everything that closed the deal
Last touch 100% to the final interaction Judging the closing channel Everything that created the demand
Linear Even split across all touches A fair-ish first pass That some touches matter far more than others
Time decay More credit to touches near the close Short cycles, closing-heavy strategies Early demand generation
Position-based (U-shaped) 40% first, 40% last, 20% middle B2B, where first and last both matter Nuance in the messy middle
Data-driven Algorithm weights touches by observed lift High-volume accounts with enough data How it works (a black box) and small-data noise

Illustrative model behavior; exact splits depend on your tooling.

The instinct is to hunt for the one true model. Skip that. Most mature B2B teams look at two or three views side by side. First touch tells you which channels create pipeline. Last touch tells you which channels close it. A channel that scores low on last-touch but high on first-touch is not failing, it is feeding the channels that get the credit. Cut it and watch your "good" channels dry up a quarter later.

For a single default in B2B, position-based is a sensible starting point. It rewards the channel that found the buyer and the channel that closed them, without pretending the middle is worthless.

Data-driven attribution, briefly

Google and some CRMs offer data-driven attribution that uses your conversion data to assign credit by observed contribution. It is genuinely better than rules-of-thumb when you have the volume. The catch: it needs hundreds of conversions per month to produce stable weights, and most B2B accounts do not have that. Below the threshold, the algorithm reads noise as signal and reshuffles credit month to month for no real reason. If your account closes a few dozen deals a quarter, a rule-based model you understand beats a black box you cannot question.

The setup: tie deals back to spend

Picking a model is the easy part. The work is plumbing: connecting an anonymous click to a named lead to a closed deal with a dollar amount. Here is the chain.

1. Tag every inbound link with UTM parameters

UTMs are how you tell channels apart once traffic lands on your site. Be ruthless about consistency, because LinkedIn, linkedin, and Linkedin become three separate channels in your reports and quietly fracture your data.

A standard scheme:

  • utm_source = the platform (google, linkedin, bing)
  • utm_medium = the channel type (cpc, paid_social, email)
  • utm_campaign = the campaign name (q2_demo_push)

Document the rules in a shared sheet, lowercase everything, and never tag internal links. One naming convention, enforced, prevents most attribution headaches downstream.

2. Capture the source on the lead, not just the session

Analytics tools track sessions. Your CRM tracks people. The bridge is capturing UTM values into hidden form fields when someone submits, then writing them to the lead record in your CRM (HubSpot, Salesforce, Pipedrive all support this). Now the lead carries its origin permanently, even if the cookie expires three months before the deal closes.

Capture both first-touch and last-touch source if you can. First-touch survives in a hidden field set on the visitor's first session; last-touch updates on the converting session. Two fields, two stories, and you stop arguing about which one is "real."

3. Push closed-won revenue back to the ad platforms

This is the step most teams skip, and it is the one that changes decisions. When a deal closes in your CRM, send that revenue (and the original click ID) back to the ad platform as an offline conversion. Google Ads calls this offline conversion import using the GCLID; LinkedIn and Microsoft have their equivalents.

Why it matters: now the platform optimizes toward closed revenue, not form fills. Automated bidding starts chasing the leads that actually become customers instead of the cheap ones that never buy. You are teaching the algorithm what a good lead looks like, in dollars.

4. Report from the CRM, not the ad platform

Your single source of truth for revenue is the system that holds the signed deals. Pull spend in from each platform, match it against closed-won revenue by source, and you can finally divide one by the other. That ratio, revenue over spend by channel, is the number that should drive budget. It also feeds straight into your marketing ROI and ROMI math and your cost-per-acquisition figures, so the whole economic picture comes from one place.

Closed-loop attribution flow A click is tagged with UTMs, becomes a lead with a stored source in the CRM, closes as revenue, and that revenue is sent back to the ad platform to optimize bidding. Tagged click Lead + source in CRM Closed revenue Offline conversion back to platform

Mistakes that quietly poison your numbers

Trusting platform-reported revenue. Every ad platform reports the conversions it can plausibly claim. Summed across platforms, the total exceeds reality. Treat platform numbers as directional for in-channel optimization, and use the CRM for the money question.

Stopping at the form fill. A channel can win on cost-per-lead and lose badly on cost-per-customer. Until you connect leads to closed deals, you are optimizing for the wrong event. This is the single most common reason a B2B team scales a channel that quietly loses money.

Ignoring deal size. Ten leads from channel A that close at $5,000 are worth less than three from channel B that close at $40,000. Attribution by lead count flatters volume channels and buries the ones that bring whales. Always attribute revenue, not just conversions.

Dropping offline and dark touches. Sales calls, a referral mentioned on the call, a conference, a podcast someone heard: these rarely carry a UTM. When attribution cannot see them, it over-credits whatever it can see, usually branded search and direct. If branded search looks like your best "channel," some of that credit belongs to the demand other channels created.

Switching models mid-quarter. Each model tells a different story. Flipping between them changes the rankings without changing reality. Pick your default, keep it stable, and use alternates as reference, not as the headline.

Make attribution a decision tool, not a debate

Attribution earns its keep when it changes a budget decision, not when it produces a prettier dashboard. Once a quarter, sit with the revenue-by-source view and ask three questions: which channels create pipeline, which channels close it, and where does the cost per customer (not per lead) actually land? Then move money.

Perfect attribution does not exist, and chasing it wastes time you could spend reallocating budget. A model that is 80% right and stable beats a model that is 95% right and changes every month. The goal is better decisions, not a flawless ledger. Build the view into a marketing dashboard your leadership reads and revisit it on a fixed cadence.

Frequently asked questions

What is the best attribution model for B2B?

There is no single best one. For most B2B teams, position-based (U-shaped) is a strong default because it credits both the channel that found the buyer and the channel that closed them. Look at first-touch and last-touch alongside it: one shows demand creation, the other shows closing. Reserve data-driven attribution for accounts with hundreds of monthly conversions.

How is attribution different from conversion tracking?

Conversion tracking records that an action happened (a form fill, a call, a demo booking). Attribution decides which marketing touchpoints get credit for it, and ideally ties it to revenue. You need tracking in place first; attribution is the layer of logic on top that assigns the credit.

Why do my channels add up to more than 100% of revenue?

Because each platform claims every deal it touched, and most deals are touched by several platforms. LinkedIn, Google, and email can all count the same closed deal. The fix is to report revenue from your CRM, where each deal exists exactly once, rather than summing what the ad platforms self-report.

Do I need an expensive attribution tool?

Usually not to start. UTMs, hidden form fields that capture source into your CRM, offline conversion import back to the ad platforms, and a spreadsheet or dashboard that divides revenue by spend will take you a long way. Dedicated multi-touch tools earn their cost at higher volume and complexity, once the basics are solid and you have outgrown them.

How do I handle offline and word-of-mouth touches?

Capture what you can: ask "how did you hear about us" on the form and on discovery calls, and log it as a field in the CRM. You will not catch everything, and that is fine. The point is to stop over-crediting branded search and direct traffic, which absorb the credit for demand that other channels actually created.

How often should I review attribution?

Quarterly for budget reallocation across channels, monthly for a lighter check on whether any channel's cost per customer has drifted. Reviewing too often tempts you to react to noise, especially with smaller deal volumes where a single large or lost deal swings the percentages.

Conclusion: a short checklist

Attribution is plumbing plus discipline. Get both right and your budget decisions stop being arguments.

  • Standardize UTM tagging and enforce it (lowercase, documented, no internal links).
  • Capture first-touch and last-touch source into the CRM on every lead.
  • Push closed-won revenue back to the ad platforms as offline conversions.
  • Report revenue and cost per customer from the CRM, not from platform dashboards.
  • Pick one default model (position-based is a fair start), keep it stable, read others as reference.
  • Attribute revenue, not lead counts, so deal size is never invisible.

If your channels keep claiming more revenue than your bank account ever sees, that is a fixable plumbing problem, not a mystery. We help B2B teams connect ad spend to closed deals and rebuild reporting around revenue, so you fund the channels that actually pay. Book a 30-minute attribution review and we will map your current setup and show you where the credit is leaking.