What Should Revenue Operations Teams Evaluate in a Contact List? A 5-Point Checklist Before You Hit Send

2026-09-14 · Julian Hartwell

If you only have thirty seconds, here's the answer. When you're evaluating a contact list, check these five things in this order: verification freshness (not verification status), intent signal depth, field-level fill rate, compliance provenance, and cross-list overlap. Raw row count comes in sixth, and honestly it's not even close.

I say this because I spent most of last March triaging a cold-email campaign that had already gone out to 22,000 contacts at a Series B fintech. Bounce rate was 19%. Reply rate was 0.1%. The RevOps lead had pulled the list from three paid sources, stacked it into their sequencer, and hit send because HubSpot's native verifier said everything was "valid." Technically true. Practically useless.

So let me walk through each of those five checks the way I actually apply them when someone hands me a spreadsheet and says "we need this out by Friday."

1. Verification Freshness — Not Whether It Was Verified, But When

Most teams celebrate a list being "100% verified" the same way they'd celebrate a certificate of inspection on a used car. The cert doesn't tell you when the last inspection happened. An email that was valid in March 2023 has probably bounced twice since — job changes, company acquisitions, and domain decay all happen on roughly a 12-to-18-month cycle for B2B contacts.

What we actually check: what percentage of the list was verified within the last 30 days? Under 60%? The list isn't ready. Full stop.

Here's the counterintuitive part, and I still don't fully understand why the industry markets this the way it does — the conventional wisdom says "verify once and you're done." My experience with the last 40-odd outbound audits suggests the opposite: a list verified two months ago is worth more attention than a list verified this morning from a sketchy source. Freshness matters, but provenance matters more, and freshness is what typically gets measured.

2. Intent Signal Depth — Are These Logos Actually Warm?

Okki-go account research, LinkedIn Sales Navigator, and basically every intent-data vendor will happily give you a list of "high-intent" accounts. What that usually means is: someone at the company downloaded a gated PDF that they probably won't open. That's not intent. That's a pulse.

When I'm evaluating a list that's supposed to have intent signals, I look for three things stacked, not one:

  • Multiple people from the same account engaging within a 30-day window (single contact engagement is noise)
  • Engagement on something deeper than a top-of-funnel webinar — usually a pricing page, a comparison page, or a job posting for a role that maps to your product
  • Whether the signal vendor tells you which source the signal came from. If they can't cite the source, treat it as marketing

This is the "outsider blindspot" nobody talks about. Buyers focus on the intent score (which is a made-up number the vendor assigns) and completely ignore whether the signal's origin is documented. A score with no source page is just vibes.

Per FTC advertising guidelines, business claims should be truthful and substantiated. Intent scores are marketing claims. Ask for the source. If the vendor can't name it, you're buying vibes at $0.40 per row.

3. Field-Level Fill Rate — The Metric That Actually Predicts Reply Rates

Everyone tracks email. Almost nobody tracks whether the company field, title field, and LinkedIn URL field are populated for each row. And yet, in the last year of audits, the single strongest predictor of a personalized sequence actually getting replies was the fill rate on three fields: job title, company domain, and a recent activity timestamp.

The question everyone asks is "what's the bounce rate on this list?" The question they should ask is "what's the fill rate on the fields my personalization tokens depend on?" If 40% of the list is missing a first name, then 40% of your sequence is about to say "Hi there, I noticed your recent news" — which is the cold-email equivalent of a form letter addressed to "Occupant."

4. Compliance Provenance — Where Did This Row Actually Come From?

This one is boring until it isn't. Under CAN-SPAM (enforced by the FTC), a commercial email needs a working unsubscribe, a physical address, and honest headers. Under GDPR Article 4, a "lawful basis" for processing personal data has to be documented — not asserted.

The lists that break companies are almost never the ones with obvious problems. They're the ones where nobody can tell you which vendor supplied which row. Once you merge three data sources into one CSV, the provenance is gone unless you deliberately kept it.

Our company policy now requires that any purchased or enriched list retains a source column all the way to the sequencer. It sounds paranoid until you're on a call with legal asking why a German contact was emailed under a US opt-in consent assumption.

5. Cross-List Overlap — The Silent Brand-Killer

LinkedIn prospecting tools, Sales Navigator exports, okki-go-enriched lists, and legacy HubSpot imports all tend to overlap with each other. If your team is running outbound from three different tools without a shared suppression layer, the same VP of Marketing is getting three near-identical emails from your brand this week.

From a quality perception standpoint — and this is the part most RevOps teams underweight — the cost of over-contacting is not measured in unsubscribes. It's measured in how the buyer describes your company at their next team meeting. "Those guys spammed me" is a durable sentence. "That bounced" is forgettable.

My recommendation: run a cross-list overlap check before every major send. Serialize emails and LinkedIn URLs. If overlap is above 5%, split the send across two weeks, not two days.

What I'm Not Saying

I'm not saying you need $50,000 in enrichment tooling. Some of the messiest lists I've fixed were cleaned with a spreadsheet, a verification API, and three hours of patience. The okki-go official website and a handful of competitors all handle waterfall enrichment; the tool matters less than whether the person running it knows what to look for.

I'm also not going to claim these five checks are universal. My sample is roughly a few hundred B2B SaaS and services lists, mostly mid-market, mostly US and EU. If you're doing enterprise ABM with 400 target accounts, your failure modes look different — overlap is probably fine, but intent depth matters far more. If you're running high-volume B2C-adjacent outbound with 100,000 rows per week, freshness is almost your entire problem.

The one thing I'd stand behind across nearly every list I've looked at: nobody's problem was ever "we didn't have enough rows." It was almost always that too many of the rows were wrong, stale, or duplicated — and the sequence went out anyway because a deadline did the deciding.