Why most businesses can’t actually calculate lead-gen ROI
Ask a business what their lead generation returns and you usually get a cost-per-lead figure. That is not ROI. ROI is what you got back for what you spent, and a lead is not a return; a customer is. Two things stop most businesses from getting to the real number.
First, they measure leads, not customers. A campaign that produces a hundred cheap enquiries looks like a triumph next to one that produces eight. If two of the eight become clients and none of the hundred do, the “triumph” lost money. Second, they do not know the source. If half your leads land in the CRM as “Direct” or “Web,” you cannot tie any customer back to the spend that produced them, so the return is unknowable by construction.
The result is a familiar ritual. At budget time everyone agrees marketing is “working,” points at a total lead count, and renews roughly the same spend split as last year, because nobody can prove which slice of it produced customers. Decisions get made on the spend that is easiest to measure rather than the spend that pays, and the agency retainer survives another quarter on the strength of a clicks chart. Real ROI is not harder maths than that chart. It just needs one input the chart is missing.

The real formula
The useful number is cost per customer, by channel, not cost per lead. Cost per lead flatters whatever is cheapest, and the cheapest traffic is usually the junkiest. Cost per customer tells you what you actually paid to win revenue, which is the only figure a budget decision should rest on.
Spend divided by leads. Easy, and misleading: it rewards volume and hides whether any of those leads ever pay.
Spend divided by customers from that channel. Harder, because it needs the source attached all the way to the sale, and far more honest.
Customer value minus cost per customer, per channel. This is the number that tells you what to fund and what to cut.
Notice that every one of these needs the source. You cannot compute cost per customer for a channel if you do not know which customers came from it.
Why you can’t compute it without lead source data
This is the link people skip. ROI by channel is arithmetic, and the arithmetic is impossible without accurate, customer-level source data feeding it. If the source is missing or wrong, every ROI figure downstream is fiction dressed as a spreadsheet.
So the prerequisite for measuring ROI is capturing the source accurately and keeping it attached from the first click to the closed deal. That is the job of lead source tracking and lead source attribution; ROI is what you can finally calculate once they are in place. Get the source right and the ROI question answers itself. Get it wrong and no formula will save you.
The long-game caveat
Two honest qualifications, because immediate-response ROI can mislead in the other direction too.
Most of your future customers are not ready to buy today. Research by Professor John Dawes at the Ehrenberg-Bass Institute, the 95-5 rule, puts roughly 95% of B2B buyers as out-of-market at any given moment, with only about 5% actively buying. Judge every pound purely on the leads it produced this month and you will undercount everything you are building with the 95% who will buy later. Brand and demand work that does not convert immediately is not automatically waste.

The other side: a lot of spend genuinely is wasted, just not in the way a lead count shows. System1’s research found that “feeling nothing” is the most common reaction to advertising, around 52% in the UK and 47% in the US across all TV ads and worse for B2B, and that the cost of that dullness is enormous, an estimated extra $189bn to make the duller US ads as effective as the non-dull ones (System1, “The Extraordinary Cost of Dull”). Worse, B2B inverts the sensible pattern: the least dull, most effective ads tend to get the smallest slice of budget. So the goal is not to stop spending or to chase only instant conversions. It is to know which spend produces customers, fund that, and stop pouring money into work that does neither.
A worked example
Say Mike Reeves, who runs an MSP, spends $4,000 a month on Google Ads and $1,000 on a content sponsorship. The ads bring 40 leads, the sponsorship brings 6. By cost per lead, the ads win easily: $100 versus $167. But with the source attached through to the sale, he sees the ads produced 1 client that month and the sponsorship produced 2. Cost per customer flips it: $4,000 versus $500. The “expensive” channel was eight times cheaper at producing actual revenue. These are illustrative figures, not a claim about your account, but the reversal is the point: the lead-count view and the customer view can point in opposite directions, and only one of them pays the bills.
Run that comparison across a year and the decision makes itself. If Mike had judged the two channels on cost per lead, he would have cut the sponsorship and poured more into the ads, doubling down on the channel producing fewer customers. The cost-per-customer view tells him to do the opposite. Same spend, same leads, opposite conclusion, and the only thing that changed was knowing which channel each customer actually came from.
How to start measuring properly
Begin with the source, because nothing downstream works without it. Capture where every lead actually came from, at submission, and keep it attached. Then track which of those leads became customers, and divide spend by customers per channel rather than by leads. Run your current numbers through the cost-per-lead calculator to see the per-channel picture, then read it by customer value, not volume.
For the foundations, see what a lead source is and how Lead Source captures it. ROI is not a mystery. It is arithmetic you have been missing one input for, and the input is the source.