All articles
Lead GenerationBy Efe Berke Çolaker 9 min read

Cleaning a Lead CSV: The Ten Passes That Matter

Ten passes in the order that saves the most work, from encoding and whitespace to role addresses and verification, with what each one typically removes.

ON THIS PAGE
  1. 01The ten passes, in order
  2. 02What each pass typically removes
  3. 03Tag rather than delete
  4. 04Record what you did
  5. 05Sources and method
  6. 06FAQ
Cleaning a Lead CSV: The Ten Passes That Matter

By Efe Berke Colaker, Founder at GetleadReviewed by the Getlead editorial team for accuracy. Last updated August 2026.

A lead CSV arrives with problems in layers: encoding artifacts, stray whitespace, duplicates hiding behind capitalisation, and addresses that were never real.

Doing the passes in the wrong order means doing several of them twice.

KEY TAKEAWAYS
Order matters. Normalise before deduplicating, or the same record survives twice with different whitespace.
Free passes first: encoding, whitespace, case, syntax, domain. Paid verification last, on what survives.
Expect a raw file to lose a meaningful share at every pass, and 40.7% of records to fail verification.
Tag rather than delete. A role address or a catch-all is a different segment, not garbage.

The ten passes, in order

  1. Encoding. Fix mojibake now, or names stay broken through every later step.
  2. Whitespace and invisible characters. The most common cause of accidental duplicates.
  3. Case. Lowercase addresses and domains so matching works.
  4. Syntax. Remove malformed addresses using permissive rules that accept plus signs and long TLDs.
  5. Domain resolution. Drop records whose domain does not resolve at all.
  6. MX lookup. Cached per domain, since one lookup covers every address there.
  7. Deduplicate. On the address first, then on the canonical company domain.
  8. Role addresses. Tag info@, sales@ and support@ into a separate segment.
  9. Suppression. Remove customers, open opportunities and prior opt-outs.
  10. Verification. The only paid step, run last on whatever survived.

Normalisation is passes one to three, and doing it before deduplication is what prevents the same person surviving twice with different spacing or capitalisation.

Methodology: we analyzed 383,368 email addresses through live SMTP verification and measured 34,973 tracked outbound sends inside Getlead, aggregated and anonymized at campaign level. Every platform number here is what the mail servers and the campaigns returned, not a vendor claim. Sample and limitations are in the benchmark study.

What each pass typically removes

PASSREMOVESCOST
NormalisationNothing, but enables the restFree
Syntax and domainMalformed and dead domainsFree
DeduplicationRepeats, often several percentFree
Role and suppressionWrong recipientsFree
VerificationInvalid and unconfirmable$0.003 to $0.01 each
43.4%confirmed valid on raw data
23.9%invalid
16.7%catch-all

Verification is where the largest reduction happens. In our measurement of 383,368 raw B2B addresses, 23.9% were invalid and 16.7% catch-all, so a file loses roughly 40% at the final step alone.

Tag rather than delete

Deleting feels like progress and destroys optionality. Three categories deserve a tag instead.

  • Role addresses, which are the right target at very small companies.
  • Catch-all results, which are unconfirmable rather than invalid.
  • Unknown verification results, which are usually temporary and worth re-checking.
  • Out of ICP records, since profiles change more often than data does.

For example, catch-all records are a legitimate low volume segment judged on replies, and deleting them removes a meaningful share of a file for a reason that is not actually about validity.

Skip most of these passes
Getlead includes a 420M+ verified B2B database with SMTP verification at export, plus warm-up and sending. From $19.90 a month.
See pricing

Record what you did

Write the counts at each pass into a note attached to the file: rows in, rows after deduplication, verification split, rows out.

That record turns a cleanup into evidence about the supplier, which is the only way to compare sources over time rather than by impression.

Sources and method

First-party data (Getlead, 2026): the verification split of 43.4% confirmed valid, 23.9% invalid, 16.7% catch-all and 16.0% unknown comes from 383,368 addresses analyzed through live SMTP verification, and the 0.51% bounce rate comes from 34,973 tracked sends, aggregated and anonymized at campaign level. Full method in our cold email benchmark study.

External sources: contact decay of about 2.1% a month compounding to 22.5% a year comes from the HubSpot database decay model built on MarketingSherpa research; the average annual cost of poor data quality is Gartner's widely cited estimate; US commercial email obligations come from the FTC CAN-SPAM compliance guide.

Third party benchmarks vary in methodology and should be read as directional. Checked in August 2026.

Frequently asked questions

What order should I clean a lead CSV in?

Encoding, whitespace, case, syntax, domain resolution, MX lookup, deduplication, role address tagging, suppression, then verification last. Normalising before deduplicating is what stops the same record surviving twice.

Why verify last?

Because it is the only step that costs money per address, at roughly $0.003 to $0.01. Running the free passes first means paying only for records that could plausibly work.

How much does a raw file typically lose?

Most of the reduction is at verification: in our measurement of 383,368 raw B2B addresses, 23.9% were invalid and 16.7% catch-all, so about 40% falls away at that step alone, before any ICP filtering.

Should I delete role addresses?

Tag them instead. At companies under about 20 people a general address is often the founder's real mailbox, so deleting removes prospects that a different campaign may want.

What about catch-all and unknown results?

Keep both, tagged. Catch-all means unconfirmable rather than invalid and belongs in a low volume segment judged on replies, while unknown is usually a temporary condition worth re-checking in a few days.

Why record the counts at each pass?

Because it turns a cleanup into evidence about the supplier. Comparing rows in, duplicates removed and the verification split across sources is the only way to judge data quality by measurement rather than impression.

Popular resources

15 best lead generation tools12 best sales prospecting toolsLead scrapers for 10+ sourcesLead scraping tool (50K leads/mo)B2B email lists by industryB2B lead generation guideBest lead gen tools for agenciesInstantly vs ApolloInstantly vs SmartleadInstantly vs Lemlist

More in B2B Data Ops

Lead Deduplication: Merging Records Without Losing the Good OneAuditing a Lead List You Did Not BuildLead Scoring for Outbound, Where Nobody Raised Their Hand YetWhat Is a Lead Database? The Difference From a ListBusiness Owner Email Lists: Build Verified Ones, Skip the CSV GraveyardB2B Data Services in 2026: What They Sell and How to Judge Them
Open the full b2b data ops guide

Customer reviews

2,400+ users. Real results.

Don't take our word for it

Replace your whole lead gen stack

Lead scraping, a 420M+ B2B database, email verification and cold email sending in one subscription. No credits, no seat pricing, cancel anytime.

Start from $19.90/mo
14-day money-back guarantee Instant access 12,400+ teams