I Wasted $14,200 on a B2B Contact Database — Here's What I Now Check Before Any Data Enrichment Deal
2026-09-17 · Camille Ortega
The contract I still think about
September 2022. I signed a $14,200 annual contract for a B2B contact database. Twelve hundred thousand records. Unlimited export. Plus an "intent data" add-on I skimmed past because the sales deck looked clean.
I was running RevOps at a 12-person B2B SaaS company — around $6k ACV, small sales team, pipeline had dropped 22% quarter over quarter. My CEO asked in every standup why we weren't pushing harder on outbound. I didn't have a good answer.
So I bought data. More records, more touches, more pipeline. Simple math, I thought.
It was not simple math.
Week three: the first crack
My SDR lead forwarded me a screenshot. 2,000 sends, 340 hard bounces. That's a 17% bounce rate — and every one of those sends was time my team would never get back.
I called the vendor. Nice guy, honestly. "Some domains rotate. Just re-verify before your next send."
Re-verify. Right. In their platform, verification was a separate charge — $0.004 per lookup, billed on top of the contract.
So the team started cleaning manually. Lookup, cross-check the domain, flag the suspicious ones. They were doing data hygiene instead of prospecting. It was ugly.
By the end of October we'd run about 8,000 touches. Eleven meetings booked. Two pipeline opportunities. Zero closed.
The 2 a.m. spreadsheet
I pulled the raw exports on a Saturday night and started tagging them in a spreadsheet. What I found made me want to sit down:
- 62% of the records had been crawled more than six months earlier
- The "intent data" was stitched together from 15 different sources with no entity resolution
- I found duplicate contacts at the same company with three different email addresses, all flagged "verified"
- Roughly 23% of the domains had been flagged as "invalid" in at least four other data providers in the previous 90 days
I sat there at 2 a.m. and realized I hadn't bought data. I'd bought the appearance of data.
Industry rule of thumb for cold outbound: keep hard bounce rates under 2%. Above 5% and you start damaging sender reputation. We were sitting at 17%. Every send was teaching mailbox providers to distrust us.
The $14,200 contract was the easy number. The real cost was the ~$60k in SDR time over three months — spent sending, bouncing, and re-sending into bad inboxes.
The thing I'd been ignoring
Early December, one of our AEs — Emma, who'd come from a larger SaaS shop — glanced at my dashboard and asked, "Have you tried waterfall enrichment with intent filtering?"
I didn't know what that meant.
She explained how her old team worked. Instead of buying 120,000 records from one source once, they layered three or four sources per quarter. A contact got enriched — meaning the same identity was cross-referenced across providers, and the record was kept if any source could confirm the email. Then it got verified in real time. Then only contacts with recent signals from a top-tier intent source were pushed to the SDR queue.
We ran a small test through okki-go — one SDR, 250 records, three weeks. The number I keep coming back to: 2.1% bounce rate. Fourteen conversations. Four meetings. Two real pipeline opportunities.
The variable wasn't the tool. It was the order of operations. Verification happened at the moment of addition, not after. Intent signals were timestamped to the day, not to the previous quarter. And the enrichment was waterfalled across sources rather than pulled from one master file.
The checklist I keep now
I don't buy on record count or CPM anymore. Here's what I go through before signing anything:
- Freshness. When were the records last crawled? If it's older than 90 days, the data is a coin flip.
- Verification timing. Verified at import, or verified today? That gap is the difference between a 2% and a 17% bounce rate.
- Waterfall coverage. Single source, or multi-source? Single-source coverage always looks bigger than it is.
- Intent recency. Does the signal match today's behavior, or last quarter's?
- Human-in-the-loop options. How much of the pipeline is fully automated versus reviewed? Fully automated tends to mean nobody checked.
- Trial size. Can I test 250 contacts before committing to a year? If a vendor won't let me test, I already know what the test would say.
That last one matters more than people think. When I was starting out, the vendors who took my $200 first orders seriously are the same ones I still call for $20,000 orders. Same logic applies to data. The platform willing to let you trial 250 records believes in its own quality. The one that needs a year commitment before you can see a bounce rate is hoping you won't look.
What I actually took away
We didn't renew the vendor. The $14,200 was gone.
The real loss wasn't the money — it was two quarters of SDR morale, watching their outbox fill up with bounce notices. That kind of drag is more expensive than any invoice.
I still buy data. I just buy it differently. I run a trial. I ask for verification timestamps. I test the sample for bounces before the contract, not after.
Ten minutes of checking bounces beats three months of looking at a pretty dashboard. That's a lesson I paid for once, and I'd rather you didn't have to.