7 Contact List Checks Before You Import Anything: A RevOps Checklist for LinkedIn Prospecting

2026-09-14 · Julian Hartwell

Who this checklist is for

If you sign off on contact data before it hits a sequence, a LinkedIn prospecting workflow, or an AI SDR platform, this is for you. RevOps leads, SDR managers, outbound agency operators. It covers what revenue operations teams should evaluate in a contact list—the actual things, not the marketing-deck version.Seven steps total. Figure three to four hours spread over two days, based on how we run it internally.

For context on where I'm coming from: I review every contact batch that goes to our SDR team—three to four deliveries a week, usually 10,000 to 15,000 records each. Somewhere past 40,000 records a quarter. In our Q1 2024 audit I found roughly 11% of vendor-delivered records were failing first-pass validation. Not 14%—that was Q4, I keep mixing the two up. Either way, about a seventh of what we paid for got thrown out before it ever reached a rep. Here's the checklist I wish I'd had four years ago.

Step 1 — Define your acceptance threshold before the vendor does

Write down, in plain language, what an accepted record looks like. Not "a good email"—actual criteria: valid syntax, domain has MX records, not a known catch-all, name matches the company, title sits in the right seniority band for your ICP, firmographics inside the range you actually close deals in.

If you don't define this, the vendor's definition becomes yours. And that trade almost never goes your way.

Fast trick: pull the last 500 closed-won accounts from your CRM. Tag each one as accept or reject against the criteria above. The ratio you get is your acceptance baseline. If it lands at 60–70%, your ICP is too loose and you should tighten it before you ever touch the list.

Step 2 — Pilot 500 rows, not 50,000

Most teams run a 50,000-row test. Or worse, they import the whole thing and find out after. I've done both. Looking back, I should have paid for a 500-row pilot before signing anything, even if the pilot cost twice the per-record rate. At the time, "volume doesn't change quality" sounded logical. It wasn't.

The pilot should hit at least three segments: your core ICP, an edge case, and one segment you already know is messy. Run the same validation flow across all three.

If a vendor pushes back on a paid pilot, that's information, not inconvenience. Write it down.

Step 3 — Check the pattern, not just the syntax

This is where most buyers fall off. Most people focus on bounce rate and completely miss pattern-level anomalies.

Syntax validation tells you whether [email protected] is valid. Pattern validation tells you whether 1,200 of a company's 4,000 records are all in firstname.lastname@ format—which is roughly five times the normal rate for that company size. Or whether the vendor stamped info@ contacts across every subsidiary of a conglomerate.

Pattern-level red flags we flag automatically now:

  • Same last-name prefix appearing across unrelated companies.
  • Domain pointing to a parent entity rather than the operating company.
  • Title language that doesn't match what the company publicly uses.
  • Employee-count bands that disagree with LinkedIn's public headcount.

Syntax says clean. Pattern says fabricated. Trust the pattern.

Step 4 — Run account research on your top 200 accounts, not the whole list

Enrichment is the part of the stack where marketing claims and reality most often diverge. Testing approach: take your top 200 priority accounts, run them through whatever enrichment or account research layer you're evaluating, and compare against a manually compiled version you trust. If the automated pass surfaces meaningful ICP fit, hiring signals, or funding context—it earns its keep. If it just restates HQ location and revenue band, it's padding.

This is the same logic I'd apply to okki-go account research if you're evaluating that stack. Look at the official site's product documentation rather than aggregated reviews—those tend to lag feature releases by a quarter or more, and the okki-go official website is what's actually shipping today.

Step 5 — Check consent and legal basis before generation, not after

Before the first message goes out, ask what the legal basis is for processing this contact, in this jurisdiction, for this purpose.

GDPR Article 5(1)(d) treats "accuracy" as a data processing principle—records must be "accurate, and where necessary, kept up to date"—in effect since 25 May 2018. Verify current text at EUR-Lex.

The FTC's CAN-SPAM enforcement requires every commercial email to include a clear and functioning opt-out mechanism. Current guidance at ftc.gov.

I'm not a lawyer and this isn't legal advice. Two operational rules we run on: we never import B2C contacts without a separate review, and we log source and consent basis for every batch, because "we don't remember" doesn't survive an audit.

Step 6 — Calculate cost per qualified lead, not cost per lead

This is the step everyone skips because the pricing sheet is easier to look at than the spreadsheet behind it.

From the outside, $0.01 per record looks like a bargain. The reality is that by the time you add verification, enrichment, and the SDR hours burned on bounces and stale contacts, that penny becomes five, ten, sometimes twenty cents.

Quick total-cost breakdown:

  • Sticker price per record × the actual number of records you need to buy to get usable ones.
  • Verification or cleaning cost—per record or per API call, depending on how you're wired.
  • Enrichment cost—waterfall providers in particular, where extra vendor calls you didn't plan for add up quickly.
  • SDR time wasted—if a bad record costs 30 seconds to work and you're looking at 20% bad, that's full days per month of bounce-handling disguised as prospecting.
  • Rework cost—re-imports, sequence restarts, sender-reputation cleanup.

We ran one batch at $0.004 per record, then $0.006—no, it was $0.009 per qualified lead on the last one. Same batch, different denominator. When I re-computed everything against cost-per-qualified-record, the "cheaper" vendor was actually about 3× more expensive per usable contact.

That's the whole reason I now calculate total cost before comparing any vendor quote. Unit price is not the price.

Step 7 — Keep a human in the loop before LinkedIn Sales Navigator automation

LinkedIn's own help documentation states that invitation limits typically top out around 100 per week, and vary by account history. Verified as of January 2025—confirm against the official help page before you build any automation around that number.

So when you're running LinkedIn Sales Navigator automation, the question isn't whether the tool can do it. It's how much reputation you're willing to risk for each incremental send.

Our rule: automated enrichment is fully automated. Outbound messaging keeps a human checkpoint. Not because we don't trust tools—because for LinkedIn specifically, the cost of one flagged account outweighs the benefit of 10% more volume.

If you do run fully automated LinkedIn prospecting, keep the first-touch step (connection request, opening message) gated behind a human review for two clean months before you touch the guardrails.

Notes and common mistakes

Four things that show up every single month:

  1. Treating the vendor's verification as your verification. They validated against their definition. You don't know what that definition accepts.
  2. Running enrichment before checking consent basis. The auditor's sequence is the reverse of yours, and the cost of that reversal is not small.
  3. Assuming "AI-enriched" means "accurate." It doesn't. Enrichment and accuracy are separate axes, and they're frequently inversely correlated in cheaper pipelines.
  4. Reusing the same list across campaigns without re-checking. Domains change, people leave, companies roll up. A list that was clean in January 2024 may not survive a pass in April 2025.

The checklist won't make contact data procurement interesting. But it usually makes it less expensive, which is most of what matters.