RevOps/No. 24/6 min read
Your cost per lead is falling and your pipeline is flat. Optimize cost per opportunity.
Cheaper leads aren’t better leads. When you optimize cost per lead, you buy more of the volume that never becomes pipeline. Here’s the metric that fixes it.
Your cost per lead is down 30% this quarter and your pipeline hasn't moved. That's not a paradox and it's not bad luck. It's the metric. Cost per lead rewards volume, and volume is the cheapest thing to buy and the least correlated with revenue. If you want a number that tracks pipeline, stop optimizing cost per lead and start optimizing cost per opportunity.
This is the quiet failure inside a lot of demand-gen programs right now. The dashboard says efficiency is up. Leadership asks why the pipeline number didn't follow. And the honest answer is that you got very good at buying something that was never going to become revenue.
Cheaper leads are almost always worse leads
Here's the mechanism. When you optimize a paid channel toward cost per lead, the algorithm does exactly what you asked: it finds the people most likely to fill out a form for the least money. That is a real skill. It is also completely disconnected from who is likely to buy.
So the cost per lead drops, and the composition of those leads quietly rots. More students, more competitors, more tire-kickers, more people who wanted the gated PDF and nothing else. The count on the report goes up. The number of accounts that could actually close stays flat, because that pool was never the thing you were optimizing.
There's a structural reason this is inevitable. Only about 5% of your potential buyers are in-market at any given moment. The other 95% aren't going to buy this quarter no matter how cheap the form fill is, a point the LinkedIn B2B Institute has made repeatedly off the Ehrenberg-Bass research. Cost per lead treats all 100% as equal. Cost per opportunity only counts the 5% that matter.
The lead was never the unit of value
The deeper problem is that a lead is the wrong object to be counting at all. A lead is one person raising one hand. Revenue doesn't come from a person. It comes from an opportunity: a buying group at an account that has a real reason to spend money.
Forrester has been blunt about this for years. Their waterfall benchmarks put the conversion rate from inquiry to closed-won in a lead-centric process at under 1%. That's fewer than one won deal for every hundred hands raised. And more than 80% of B2B buying decisions are made by a group of more than three people, not the single contact your cost-per-lead math is counting. When you optimize the cost of a lead, you're optimizing the cost of the least predictive unit in the entire funnel.
Cost per opportunity fixes the unit. It asks a better question: what did it cost us to create one real, sales-accepted opportunity? That's the number that moves in step with pipeline, because it's measuring the same thing pipeline is made of.
How to actually calculate and optimize cost per opportunity
You don't need a new platform for this. You need three moves inside the CRM you already run.
1. Define what an opportunity is before you count one
Cost per opportunity is only as trustworthy as your definition of an opportunity. If a "qualified opportunity" is whatever a rep felt good about, you've just moved the vanity metric one stage to the right. Write the entry test. A deal becomes a counted opportunity when a named buying-group contact, a confirmed need, and a real next step are all on the record. That is the same exit-criteria discipline that keeps your deal stages from wrecking your forecast: a stage is a claim about evidence, not a mood.
2. Wire spend to opportunities, not form fills
Most teams can tell you cost per lead to the penny and have no idea what an opportunity costs, because the spend data and the deal data live in different systems that never get joined. Fix the join. Stamp the originating source on the contact with hs_analytics_source and carry a campaign identifier through to the associated deal, so a created opportunity can be traced back to the spend that produced it. Then the math is simple: channel spend divided by opportunities created, not leads created. In HubSpot that's campaign-influenced deals; in Salesforce it's campaign influence rolled to the opportunity. Either way, the denominator is finally the right object.
3. Report the full ladder, then optimize the bottom of it
Keep cost per lead on the dashboard. It's still a useful diagnostic for the top of the funnel. Just demote it from a goal to a gauge, and put cost per opportunity and cost per closed-won next to it. When you see cost per lead falling while cost per opportunity rises, you've caught the exact failure this post is about, in real time, before you've burned another quarter of budget funding it. That reconciled view is the same instinct behind reconciling attribution instead of trusting one number: one metric in isolation is the thing that's been lying to you.
What changes when you optimize the right number
Budget moves toward the channels and campaigns that produce opportunities, even when their cost per lead looks ugly. The expensive channel that generates twelve real opportunities beats the cheap one that generates four hundred contacts and no deals, and now you can prove it instead of defending it on gut. Sales stops complaining about lead quality, because you're no longer optimizing for the volume that was clogging their queue. And the demand-gen number you take into the board meeting finally tracks the pipeline number, because they're measuring the same unit.
The cost of not fixing it is the quarter you already recognize. Efficiency metrics climbing, pipeline flat, and a slow erosion of trust between marketing and sales that always traces back to the same root: you were counting the wrong thing. This is the measurement discipline inside our Growth & Demand Generation work, and it sits on top of the CRM data model we build in every Marketing Operations & CRM engagement. You can't report cost per opportunity if the CRM can't tell you what an opportunity is or where it came from.
Where to start
Pull two numbers for last quarter: your cost per lead and your cost per opportunity. If you can't calculate the second one, that's the finding, and it's a data-model problem, not a spreadsheet problem. If you can, look at whether they're moving in the same direction. When they diverge, your budget is being optimized against pipeline instead of toward it.
Not sure which of your demand-gen metrics are goals and which are just gauges wearing a target? That's one of the first things we map in the free 30-minute audit. We look at what you spend, what it actually creates, and where the reporting goes blind, then hand you the prioritized list of fixes. Whether we work together or not.
Responses
[…] Search/No. 06AEO isn’t a new channel. It’s the structure your SEO skipped.5 min readRevOps/No. 17Your source report says “Direct.” That’s not a channel. It’s a broken UTM taxonomy.6 min readRevOps/No. 24Your cost per lead is falling and your pipeline is flat. Optimize cost per opportunity.… […]
[…] RevOps/No. 05Your intent data is dying in the CRM. Here’s the object model that fixes it.5 min readHubSpot/No. 11Your HubSpot lead score blends fit and engagement. That’s why reps ignore it.6 min readRevOps/No. 24Your cost per lead is falling and your pipeline is flat. Optimize cost per opportunity.… […]