Runtime: user-controlled · Data status: source-dependentCopy · Run · Configure · Review

After Wasting $12,000 on Prospect Databases, I Built This B2B Contact Data Platform Checklist

2026-09-03 · Julian Hartwell

Six months into my first revenue operations role, I signed my team up for a prospect database that checked every box on the wrong list.

It had millions of contacts. It advertised verified emails. It integrated with our stack in one click. My SDRs were excited.

Then we ran the first campaign. 3,200 emails produced two booked meetings, an 11.7% bounce rate, and a complaint rate that turned our sender domain orange. That list wasn’t just worthless — it was damaging.

The first mistake cost us roughly $4,800. The follow-up mistakes cost more. Over the last five years, I’ve personally led or supported 11 different contact-data evaluations, and I probably contributed to at least $12,000 in wasted spend while learning what actually matters.

Now I maintain the checklist below. It’s practical, not theoretical. If your team is asking what should revenue operations teams evaluate in a B2B contact data platform, this is the answer I wish someone had handed me in 2021.

Who this checklist is for

This is written for teams like mine: three SDRs, one RevOps person, no dedicated data engineer. We don’t have the luxury of buying a giant platform and hiring someone to fix the data before it reaches sales.

If you have a six-figure budget and a data team, you can survive different mistakes. Most of us can’t. Smaller teams need a process that catches problems before the contract, not after.

1. Write your ICP down before the first demo

A database with 80 million contacts is a lot less impressive when only 4% of them fit your ICP. But you won’t know that unless you define the ICP before anyone opens a sales deck.

Our definition now looks something like: B2B SaaS companies with 50–500 employees, using at least three marketing tools, headquartered in North America or the UK, and with a sales leader hired in the last 18 months. It’s not perfect, but it’s testable.

Here’s the move most buyers skip: ask the vendor to apply your ICP filters in the live demo and show the deduplicated account count, not the raw record count. Then ask for the underlying export and check it yourself.

In our first evaluation, the dashboard showed “15,000 matching accounts.” The actual export had 3,900 unique accounts after removing duplicates, shell companies, and records outside our region. The visible number and the usable number were not the same.

2. Run your own verification sample — don’t trust the dashboard badge

This is the step I get the most pushback on, because it takes time. It’s also the step that saved us from another bad contract.

In May 2023, a platform reported a 92% email match rate on our sample. That sounded great. When we ran the same 500 records through an independent verification tool, the story changed:

  • 8.2% of the emails had invalid or non-existent domains
  • 24% pointed to catch-all mail servers, meaning nobody could confirm whether a real human inbox existed
  • 5% were role-based addresses like info@ or contact@

The dashboard was measuring something true: it had matched names to email formats. It just hadn’t verified that the emails would actually reach a person. If you don’t test this before signing, you’re basically paying for decoration.

3. Ask about freshness — then re-test the same records 45 days later

B2B data decays. People change jobs, companies merge, and marketing departments get reorganized. The real question isn’t “how fresh is your data today?” It’s “what happens after the first sync?”

We once re-ran a list of 350 contacts through verification 45 days after the vendor delivered it. The vendor’s original report said everything was valid. Our second test found 7.4% of the emails and 11.2% of the phone numbers were no longer usable.

That’s why I now look for a documented refresh and re-verification process, not a one-time cleaning event. If a vendor can’t explain how records get re-checked after 30, 60, and 90 days, I assume they don’t.

I also look for what okkigo calls waterfall enrichment. The idea is simple: if the primary data source doesn’t have a valid email, the platform automatically tries the next source, then the next, before giving up. Not every vendor operates that way. Some just stamp “no data” and move on. That difference shows up fast when you’re building lists at scale.

4. Check how the platform helps you actually generate leads

A database does not generate leads. A workflow does. If a vendor tells you their tool will generate leads on its own, ask to see the full path: account selection → contact discovery → enrichment → intent scoring → outreach queue.

For RevOps teams, the important part is what happens between “list” and “sequence.” Does the platform push records to your CRM and your SDR workflow automatically? Or does someone have to export, clean, dedupe, and upload a CSV every week?

The second option is how SDR time disappears. It’s also where a lot of “AI” tools quietly break — the AI generates a list, but a human still has to massage it before anything useful happens.

5. Okki go vs Clay: compare the workflow, not the logo

I keep seeing people search for “okki go for RevOps” as if it’s a completely different product category. It isn’t. Okki-go is a prospecting and data platform. The real question is whether it fits your operating model.

Okki-go vs Clay is the comparison I get asked about most, so here’s my honest take after testing both with real account lists.

Clay is a builder’s tool. It gives you access to dozens of data sources and lets you design exactly how each field gets populated. That’s incredibly powerful — if you have the time and the skills to maintain those workflows. I recommend Clay to teams that have a data engineer or a RevOps person who genuinely enjoys building complex automations.

Okki-go is closer to an agent that does the prospecting work for you. It selects accounts, runs enrichment, fills gaps through waterfall logic, verifies what it finds, and then routes the output to a human for approval. The phrase “agent-native” sounded like buzzword garbage to me at first. In practice, it means fewer hand-built spreadsheets and fewer forgotten steps.

For a small team without a data engineer, okki-go won because it made our RevOps workflow actually run. Not because it had more contacts than Clay. Not because it promised magical reply rates — it didn’t. It won because the operational burden was lower.

That said, if you love building source-by-source data pipelines and you have the headcount to maintain them, Clay remains a legit choice. Comparing them by logo is the wrong exercise. Compare them by who has to do the work next Tuesday.

6. Read the export and exit terms before you sign anything

This is the boring step that most people skip, and it’s the one that hurt us most.

One of our early vendors allowed exports, but only in a limited format. Enrichment fields were stripped. Historical intent data was locked inside their UI. When we tried to leave, we discovered that getting our own data out required a manual request and a two-week wait.

A prospect database that limits your export options isn’t a data platform. It’s a rental agreement with a captive audience.

Before signing, check:

  • Can you export the full records, including enrichment metadata, at any time?
  • Is there a termination fee beyond the contract minimum?
  • Do you retain the data you already paid for after cancellation?
  • Does the contract auto-renew with a price increase you haven’t approved?

One more thing: ask about data sources and compliance. Under the CAN-SPAM Act, the FTC can seek civil penalties of more than $50,000 per violating email, and those penalties get adjusted over time. Under GDPR, you need a lawful basis for processing contact data. A good vendor can explain where their data comes from. A bad vendor will change the subject.

Red flags I now catch immediately

  • No independent verification data. If the only proof of quality is their own dashboard, that’s not proof.
  • No re-verification schedule. Fresh data is a process, not a static screenshot.
  • Intent data older than 60 days. By the time your SDR calls, the buying signal is probably gone.
  • Export restrictions. If your data is hard to leave with, you haven’t bought data. You’ve bought a dependency.
  • A count that never drops. Duplicates and dead records are normal. If every list looks perfect, nobody is checking the math.

A note for smaller teams

I’ll leave you with something I learned the hard way: the vendors who treated our $3,000 evaluation seriously are the ones I still trust now that our budget has grown. If a platform acts like a small account is a nuisance before you sign, it will not improve after you sign.

Small doesn’t mean unimportant. It means you have less room for a bad list, a bad contract, or a bad integration. Use the checklist, run the samples, and trust the workflow over the demo.

I don’t have hard data on how many RevOps teams skip these steps. What I can tell you anecdotally is that almost every bad contract I’ve made came from skipping one of them.