-
Who this checklist is for (and why I wrote it)
-
Step 1 — Define "intent" in your own words before any demo
-
Step 2 — Pull 90 days of closed-won and closed-lost, and score them yourself
-
Step 3 — Test coverage on your actual, ugly list
-
Step 4 — Stress-test the integration seams (this is where okki-go API behavior matters)
-
Step 5 — Verify identity resolution and enrichment logic, not just the output
-
Step 6 — Run a pilot with a written kill criterion
-
Step 7 — Do the cost math on cost-per-opportunity, not cost-per-seat
-
Common mistakes (the part I usually skip and then regret skipping)
Who this checklist is for (and why I wrote it)
I've been on the RevOps side of four B2B companies since 2017. I've personally signed off on three intent data contracts I regret and one I'd buy again tomorrow. On the bad ones, we burned roughly $41,000 across 18 months — mix of unused seats, bad data, and SDR hours chasing dead signals. I'm not a data scientist. I'm the person who had to explain to my CFO why the "intent platform" line item didn't move pipeline.
This is the checklist I use now. Seven steps, in the order that actually matters. It's written for rev ops, SDR managers, and outbound leads picking up a platform for the first time (or replacing one). If you're an enterprise with a dedicated data team, half of this will feel basic — that's fine, skip what doesn't apply.
One thing upfront: what follows is opinionated and drawn from my own failures. If someone has a better way to test signal quality before an annual contract, I genuinely want to hear it — that's the step where I've lost the most money.
Step 1 — Define "intent" in your own words before any demo
Before you open a single vendor tab, write down two things on one page:
- What your ICP actually is (firmographic + role, not "B2B SaaS companies")
- What "intent" needs to mean for your motion — third-party topic surge, first-party site behavior, CRM engagement decay, or some blend
This sounds obvious. It isn't. Every vendor demo will define intent differently (some lean on co-op data, some on web-crawl topic graphs, some on review-site visits, some on LinkedIn engagement proxies). If you don't anchor your own definition first, you'll end up comparing apples to keyword-categorized oranges and picking whichever demo had the friendliest rep.
At my last company we skipped this. We bought a platform built around review-site intent because the deck looked slick, then discovered 60% of our ICP never touches review sites. That mistake alone was about $11,000 over the contract term.
Step 2 — Pull 90 days of closed-won and closed-lost, and score them yourself
Ask every shortlisted vendor for a 60–90 day backtest: take a sample of your closed deals and ask them to return what their intent signals showed in the 30 days before each opportunity was created.
Then do the math yourself, in a spreadsheet, on the following:
- Win rate when intent was present at T-30 vs. absent
- Average deal size when intent was present vs. absent
- False positive rate — accounts flagged that never engaged and never should have been flagged
Most vendors will send this. The ones that won't (or claim "it takes 6 weeks to provision") are telling you something. I've had two vendors refuse this and both turned out to have weak coverage in our vertical — which I only found out 4 months into the contract.
Here's the counterintuitive part: high recall is not the metric you want. You want precision at the top of the queue. A platform that flags 40,000 accounts "in-market" is not better than one that flags 900. Your SDRs can only work a few hundred per week, so signal quality at the top matters more than total coverage.
Step 3 — Test coverage on your actual, ugly list
Every vendor has great coverage on Fortune 500 logos in English-speaking markets. That tells you nothing.
Build a test file of 500 accounts pulled from three places:
- Your last quarter's lost deals (mid-market and SMB mix)
- Your highest-value customers with unusual names, subsidiaries, or international entities
- 20 "trap" accounts — small companies, recently renamed, or non-English domains
Run this through each vendor's lookup (most offer a free or trial waterfall enrichment pass). Score three things: match rate, field completeness, and staleness.
The trap accounts matter most. This is where waterfall vs. single-source enrichment shows up. Platforms that rely on one or two providers will miss 30%+ of a messy list. The ones that chain multiple providers — often called waterfall enrichment — usually recover more, but you're paying for it in credits or per-match fees.
Never expected this one: the surprise wasn't the match rate. It was how stale the "verified" fields were. We had one enrichment pass return last-known-titles from what turned out to be 14-month-old snapshots. SDRs sent 300 emails to people who'd changed jobs. That's a deliverability hit and a brand hit.
Step 4 — Stress-test the integration seams (this is where okki-go API behavior matters)
This is the step everyone rushes, and it's the one that will bite you in month two. "Native CRM integration" on a slide rarely means what you think.
Before you commit, get read/write access to a sandbox and push real test scenarios through:
- Field mapping on upsert. What happens when an intent field arrives for an account that already has a value? Overwrite, append, or skip? Get this in writing.
- Rate limits and throttling. Fire 5,000 records at the API in 10 minutes and watch what happens. Our first platform silently dropped 400 records and never logged an error.
- Agent-native behavior. If the platform exposes a developer integration layer (something like an okki-go developer integration pattern), check whether it lets an AI agent read intent scores, write enrichment back, and trigger sequences without a human clicking through a UI. Tools that require UI-only workflows will not scale past ~5 SDRs.
- LinkedIn prospecting handoff. If your motion includes LinkedIn touch, verify the platform can push to your LinkedIn sequencing tool without manual CSV round-trips. Manual exports die the moment you add a second SDR pod.
I once approved a platform because the demo showed a "seamless Salesforce sync." In production, it created duplicate accounts on every enrichment refresh. Cleaning that up cost a contractor roughly $2,200 and a week of my life.
If the vendor offers an API docs page, read it before the demo. If the docs are thin or "contact sales for API access," price that friction into your evaluation. It usually means the developer integration is an afterthought.
Step 5 — Verify identity resolution and enrichment logic, not just the output
When a signal says "Acme Corp is researching CRM tools," who is the human? If the answer is vague, walk.
Ask these three questions in the same call:
- How do you resolve a signal to a contact record vs. a company record?
- When multiple people at the same company show intent, do you surface one, all, or a ranked short list?
- What email verification method do you use, and what's the expected bounce ceiling?
On the last one: nobody honest will claim 100% deliverability. If a provider does, that's the walk-away signal. Reasonable operators will quote a bounce rate band and let you test it.
Step 6 — Run a pilot with a written kill criterion
Before signing anything annual, run a 30-day pilot on one SDR pod. Write down the kill criterion before the pilot starts, not after you've looked at the numbers and want to rationalize the spend.
Something like:
"If pipeline created from intent-sourced accounts over 30 days is under $X, or if reply rate on intent-sourced emails is below our baseline by more than 20%, we walk."
Then actually walk if it fails. I've watched three teams (including one of mine) hit the kill criterion and buy anyway because "the reps just need more time with it." That's how you spend a full year before admitting the platform was wrong for your motion.
Step 7 — Do the cost math on cost-per-opportunity, not cost-per-seat
Intent platforms are priced in a dozen different ways: per-seat, per-record, per-credit, per-signal, per-month-plus-overage. Normalize everything to one number: cost per qualified opportunity created.
Here's the formula I use:
(annual platform cost + credits/overage + SDR hours allocated × loaded hourly cost)
÷ qualified opportunities created in a comparable 90-day window
The "+ SDR hours" part is what most evaluations ignore. A cheap platform that requires manual list-building eats SDR time; a more expensive one that feeds cleanly into your sequence tool might cost less per opportunity. The lowest quote is rarely the lowest total cost.
Concrete example from 2023: Platform A quoted $2,400/month, Platform B $4,100/month. A looked like the obvious pick. But A required ~8 hrs/week of manual list prep per pod, and B didn't. At a $65 loaded hourly rate across 3 pods, that's ~$6,700/month in hidden cost on A. B won on a spreadsheet that took 40 minutes to build. That was my one good decision and I'd like to take credit for it.
Common mistakes (the part I usually skip and then regret skipping)
- Buying on annual before the pilot. Even with a 10% discount, you're paying for the option to be wrong for a year. The discount is almost never worth it.
- Trusting "intent" as a single number. Ask for the underlying signal type. "Topic surge on review sites" and "engagement with your ex-employee's LinkedIn post" are wildly different in quality.
- Ignoring the enrichment refresh cycle. Some platforms refresh title/company data weekly. Others quarterly. For fast-moving verticals, quarterly is a data liability.
- Skipping compliance review. Data provenance matters under GDPR and CCPA. Get the vendor's data sourcing documentation in writing and run it past legal before the pilot, not after.
- Letting the SDRs design the eval. Reps will optimize for what makes their day easier, not what feeds the pipeline. Keep RevOps in the driver's seat for scoring.
I still kick myself for not building this checklist in 2019. It would've saved us the $41k and, more importantly, the two quarters where pipeline looked soft and we couldn't tell whether it was the platform or the market. If you're running this evaluation now, the backtest in Step 2 is the one not to skip — every other mistake I've made traces back to skipping it.

