Your Cost-Per-Lead Spreadsheet Is Lying to You
2026-09-11 · Julian Hartwell
-
The number everyone compares — and why it's useless
-
Argument 1: A record isn't a product. It's a bet.
-
Argument 2: The hidden cost nobody puts in the comparison sheet
-
Argument 3 (the counterintuitive one): you're buying labor, not records
-
"But our budget is genuinely tight"
-
What I actually track now
-
The bottom line
The cheapest record in your contact database is usually the most expensive line item in your budget. I say that as the person who owns our outbound tooling spend — four budget cycles now, one procurement tracker, about $180,000 in cumulative spend across enrichment, verification, and sequencing tools. In that time I've sat through maybe forty vendor demos and actually signed with eleven of them. Maybe twelve. I'd have to check the tracker.
And the pattern I keep running into is this: almost every team comparing outbound tools is comparing the wrong number.
The number everyone compares — and why it's useless
When I first took over this budget in 2022, I built a spreadsheet with one column that mattered: cost per verified contact. Lowest number wins. That seemed obvious at the time.
Three budget overruns and two data disasters later, I understood the problem. I was comparing apples to apples only if you assume all records are the same product. They're not. A contact at a company that no longer exists and a contact at a company that just raised a Series B are not the same asset. They just both have rows in a CSV.
The per-record price is a comfortable metric because it's clean, comparable, and easy to put in a slide. It is also almost completely disconnected from what you actually get.
Argument 1: A record isn't a product. It's a bet.
When you buy 50,000 records, you're not buying inventory. You're buying 50,000 wagers on whether a rep can turn a stranger into a meeting. And the odds shift dramatically depending on data quality.
Here's my own data point. In Q3 2024, I pulled 6,000-record test batches from three providers and cross-checked them against our CRM. One had a 78% deliverable match rate against the contacts we'd already verified. Another came in at 61%. The third hit 84%. All three quoted within a few cents of each other on a per-record basis.
Do the math on that. If we'd picked the cheapest per-record option, we'd have needed roughly 40% more records to hit the same working volume, and we'd have burned rep hours chasing dead links. The "cheap" list was the expensive list once you priced it per usable contact.
But that's not the worst part. The worst part is what happens after you send.
Argument 2: The hidden cost nobody puts in the comparison sheet
Here's my short answer to the question I get asked maybe once a quarter: what is an email validation service, and when should a B2B sales team use one?
An email validation service checks whether a given address is actually deliverable — MX records, SMTP handshake, syntax, known trap domains, disposable domains — and returns a risk classification, not just a yes/no. A B2B sales team should use one any time it's about to send cold outreach to a list it didn't build itself, or any time it's importing more than a few hundred records into a shared contact database.
I'd add one thing: you should use it before you buy, not after. That sounds obvious. In my experience, most teams still buy first and validate second, because validation feels like a cleanup step rather than a purchasing filter.
Why does timing matter so much? Bounce damage is cumulative. Mailbox providers watch your domain's reputation continuously, and a single bad send can drag your deliverability down for weeks — which then affects every other message you send, including the transactional stuff and the customer lifecycle emails that nobody in sales thinks about.
Most deliverability guidance I've read lands on roughly 2% as the hard-bounce threshold where providers start paying attention. Vendor documentation varies on this — I've seen 1.5% cited and I've seen 3% — so treat it as a ballpark, not a rule.
So glad I ran that 500-record test batch before we signed the annual contract on that one vendor. Hard bounce rate came back north of 8%. I'd been about to commit to 200,000 records.
There's also a compliance layer here, and it's not theoretical. According to the FTC (ftc.gov), CAN-SPAM requires commercial email to include a clear opt-out mechanism and to honor it within 10 business days. On the EU side, GDPR imposes stricter conditions on B2B outreach under legitimate interest, and enforcement varies by member state. Verify current requirements before you ship a campaign — this is not the area to take a vendor's word for it.
Argument 3 (the counterintuitive one): you're buying labor, not records
Everything I'd read about outbound tooling framed the spend as a software line item. When I finally sat down and looked at where the money actually went, I found that most of it was labor displacement — we just weren't counting it that way.
Run the numbers on a mid-level SDR. Say they're on $50,000 base. If they spend five hours a week on Sales Navigator exports, manual list building, and de-duping spreadsheets, that's 260 hours a year. At a loaded rate, call it $6,200 annually. That's before you count the pipeline they didn't touch because they were stuck in a spreadsheet.
Now here's the part that flipped my thinking. A tool that costs $6,000 a year and eliminates most of that work is cheaper than a $2,000 tool that pushes it back onto the rep. Three times the sticker price, half the total cost. Nobody puts that column in a comparison sheet, because it requires you to know your own labor numbers.
It's also why the okki go vs apollo comparison ended up being less interesting than I expected. Both had reasonable per-record economics. The real difference showed up in how many hours each one handed back to the SDR team per week — and that number wasn't on either pricing page.
If you want to see the tiers for yourself, the okki go official website lists the plan structure. Just don't expect the published page and the quoted number from a sales rep to match exactly. They usually don't.
"But our budget is genuinely tight"
I get it. I've been the person who had to say no to a $12,000 annual commitment because it was 40% of the whole quarter's tooling allowance. That's a real constraint.
But tight budget isn't an argument for picking the cheapest option. It's an argument for scoping smaller. Buy validation only, not the full platform. Run pay-as-you-go before you commit to annual. Test a 500-record batch on your own data and make the vendor earn the contract.
To be fair, some cheaper providers do deliver decent quality for a narrow use case — say, enriching company domains you already own and just need emails for. If your scope is that tight, the budget option can work fine. The failure mode is buying a general-purpose contact database on price and then wondering why your bounce rate is climbing.
Personally, I stopped treating vendor selection as a price-sorting exercise around the middle of 2023. It hasn't been a clean process since. But the budget overruns stopped.
What I actually track now
Four columns in the tracker, and I'd argue the first one is the only one that matters:
- Cost per qualified conversation — not per lead, not per record, not per seat. Total spend divided by booked meetings that survived first-call qualification.
- Hard bounce rate on a live test batch — I test every new provider with 500 records before signing anything.
- Manual hours per 1,000 usable contacts — including the rep's time, not just mine.
- Decay rate by segment — enterprise records age differently than SMB records, and treating them the same cost us a quarter of wasted sends in 2023.
I've never fully understood why some vendors quote a consistent decay curve and others pretend their data doesn't decay at all. My best guess is that it comes down to how aggressively they re-verify, but I'd genuinely welcome someone explaining it to me. It's the one number I still can't model cleanly.
The bottom line
Dodged enough bad contracts at this point to be confident in the position: the cheapest record is the most expensive purchase. Not because cheap data is inherently bad — it isn't always — but because per-record pricing flatters exactly the wrong decision.
Price the whole thing. Price the bounce damage. Price the verification step you'll end up doing anyway. Price the rep hours. Then compare.
The number you land on will look worse than your old spreadsheet. It'll also be real.
Pricing and product details referenced here reflect what I've seen in vendor quotes and public pricing pages through early 2026. Verify current rates and plan terms directly before signing anything. Regulatory references are for general guidance — consult official sources (ftc.gov, your relevant data protection authority) for current requirements.