Leadgeneratie
Cost per opportunity and cost per SQL: measuring beyond cost per lead
Copy for AI
Cost per lead is the metric most B2B teams steer on, and that is exactly where things go wrong. A cost per lead tells you what a submitted form costs. It tells you nothing about what a qualified sales opportunity costs, and therefore nothing about what pipeline costs. Anyone who shifts budget to the channel with the lowest cost per lead is often unknowingly optimising for the channel that delivers the most leads, not the best ones. In this article you will read how to measure beyond cost per lead: cost per SQL and cost per opportunity, the two numbers that finally tie your budget to revenue.
This is written for B2B teams with a sales conversation or a quote sitting between the first lead and the signed deal. If you have a direct webshop conversion, your measurement challenge lies elsewhere.
Why cost per lead points you in the wrong direction
Picture this: you are comparing two channels. Channel A delivers leads at 40 euros each, channel B at 90 euros. On cost per lead, channel A wins easily. So you shift your budget that way, because cheaper is cheaper.
But lead counts tell you nothing about quality. Suppose only a small share of channel A ever turns into a qualified conversation, while the more expensive leads from channel B far more often produce a real sales opportunity. Channel B can then work out cheaper per opportunity, even though every individual lead costs more than double. The ranking flips as soon as you calculate through to what actually counts.
This is the reasoning error we run into most often: marketing gets judged on the number and the price of leads, while sales is left to clear up the unqualified junk. Steer on cost per lead and you reward the channel that produces the cheapest volume, not the channel that produces sales-ready pipeline. And pipeline is where you make your money.
Our B2B lead generation turns that logic around. We do not measure what a lead costs, but what a qualified opportunity costs, so every channel is judged on pipeline instead of on bare numbers. What lead generation is exactly and where it fits into your growth engine, you can read in what is lead generation.
The funnel you need to measure: from lead to SQL to opportunity
Before you can calculate anything, you need the steps to be clear. In most B2B funnels it looks like this:
- Lead. Someone leaves their details. A form, a download, a demo request. This is where cost per lead stops.
- MQL. A lead that is interesting enough to follow up on, based on behaviour or profile. The difference between a marketing-qualified and a sales-qualified lead is covered in mql vs sql.
- SQL. A sales-qualified lead: sales has confirmed there is genuine potential here. A first conversation is scheduled or the fit has been verified.
- Opportunity. A concrete sales opportunity with an estimated deal value in your pipeline.
Every step filters. Out of a hundred leads you are left with a handful of SQLs, and out of those only a portion become real opportunities. The looser your lead definition, the bigger that drop-off. That drop-off is exactly why cost per lead misleads: it measures the widest, cheapest step of the staircase and ignores everything that falls away afterwards.
How do you calculate cost per SQL and cost per opportunity?
The formulas are short. You need only two inputs: what you put into a channel and how many SQLs or opportunities it produced.
Cost per SQL = channel budget / number of SQLs from that channel
Cost per opportunity = channel budget / number of opportunities from that channel
An example. Last month you put 4,000 euros into a channel and got 100 leads out of it. Your cost per lead is 40 euros, nice and low. But of those 100 leads, 10 became an SQL and 4 an opportunity. That makes your cost per SQL 400 euros and your cost per opportunity 1,000 euros. Only that last number tells you something usable, because an opportunity has an estimated deal value you can weigh it against.
Do the same sum for a second channel that cost 6,000 euros, produced 60 leads but 8 opportunities. Cost per lead there is 100 euros, well over twice as expensive. But the cost per opportunity is 750 euros, lower than the “cheap” channel. At lead level this channel lost; at opportunity level it wins. That is not a detail, that is the difference between wasting budget and making budget pay off.
If you want to go one step further, set your cost per opportunity against your average deal value and your win rate. Then you know not only what an opportunity costs, but whether it is profitable. The broader logic of what an acquisition is allowed to cost is covered in our wiki on acquisition cost.
What you need in order to measure this
The formulas are trivial. The measurement is the real work, and that is where most teams drop out. You need two things.
A CRM that tracks every lead to the end. The cost sits in your advertising and channel platforms, but the outcome (SQL, opportunity, deal) sits in your CRM. As long as those two worlds are not connected, you can never trace back which channel produced which opportunity. Source registration on every lead is therefore not a luxury but the basic condition.
An agreed definition of an SQL. If marketing and sales do not agree on when a lead is an SQL, your cost per SQL means nothing. That is why a clear agreement belongs here. How to put it in writing is covered in drawing up a sales-marketing SLA, and how to score leads consistently in lead scoring.
An honest caveat: for the first few months you will often work with estimates, because you do not yet have enough closed deals to make the numbers hard. That is fine. A rough cost per opportunity that points the right way is worth more than a precise cost per lead that sends you the wrong way.
What you do with these numbers once you have them
The calculation is not a goal in itself. Once you know your cost per SQL and cost per opportunity, you can do three things that were impossible at lead level.
Shift budget to pipeline, not to volume. You rank channels on cost per opportunity instead of on cost per lead. The channel with the fewest but best-converting leads often rises to the top. How to lower your cost per lead further within your follow-up is covered in cost per lead follow-up.
Set an honest ceiling. If you know an opportunity costs you 1,000 euros on average and a won deal brings in 8,000 euros at a reasonable win rate, you know exactly how much room you have to scale. As long as your cost per opportunity stays well below your expected deal value, you grow profitably.
Sales and marketing on one yardstick. If both teams talk in cost per opportunity instead of “number of leads” versus “quality of leads”, the eternal argument disappears. Everyone looks at the same outcome: qualified pipeline.
That is the core of how we work at Customer Impact. For us, lead generation is not a lead list but the capture layer of one orchestrated growth engine, aimed at sales-ready pipeline and at the attribution from lead to deal. No vanity metrics, but numbers your sales team can actually move on.
Frequently asked questions about cost per opportunity and cost per SQL
What is the difference between cost per lead and cost per opportunity? Cost per lead is your budget divided by the number of leads, regardless of quality. Cost per opportunity is your budget divided by the number of real sales opportunities. The first measures volume, the second measures pipeline. For B2B, the second is almost always the better metric to steer on.
How do you calculate cost per SQL? Divide the budget of a channel by the number of sales-qualified leads that channel produced. If you put 4,000 euros into a channel and it delivered 10 SQLs, your cost per SQL is 400 euros.
Why is the cheapest channel per lead not the best? Because cheap leads often convert worse. A channel with a low cost per lead but few SQLs can work out more expensive per opportunity than a channel that costs more per lead but qualifies far better.
What do I need to measure this? A CRM that tracks every lead with source registration through to SQL and opportunity, plus an agreed definition of when a lead becomes an SQL. Without that connection you cannot link channel costs to outcomes.
From when are these numbers reliable? You need enough closed journeys for hard figures. Start with estimates together with sales and refine as you get more data out of your CRM. A rough right direction beats a precise wrong one.
Ready to steer on pipeline instead of on lead counts?
Working out cost per opportunity is a five-minute sum. Anchoring it properly in your CRM and reporting, with source registration from lead to deal, is the real work. We help you set up your lead generation so that you can see, per channel, what a qualified opportunity costs, not just what a form costs.
Free website scan
Enter your website and get an automatic scan within minutes, with concrete technical and SEO improvements. No sales pitch.
We only use your details for your scan. No spam, unsubscribe anytime.