All posts

How to Clean a Lead List Before a Campaign: Dedupe, Titles, ICP, Verify

··4 min read

To clean a lead list before a campaign, run four passes in order: remove duplicates, normalize job titles, check fit against your ideal customer profile, then verify the emails. Each pass removes or tags rows, so the last and most expensive step, verification, sees the fewest addresses. This guide is for people who already have a lead list in a CSV or sheet.

If you want a one-page checklist, see the clean-list-before-campaign checklist. This post goes deeper on each pass and names the free tool for it.

Pass 1: remove duplicates

Duplicates waste sends and annoy people. They come from merging exports, from the same person at two addresses and from the same company under slightly different names.

  • Exact duplicate emails: use remove duplicate emails.
  • The same person across columns or files: use the duplicate contact finder.
  • Same company, different spelling: use the duplicate company finder. Decide how many people you will contact per company, since several people at one company is a common way to annoy a buyer.
  • Several files to merge: see merge lead lists without duplicates.

Keep one row per person. Keep the row with the most complete data.

Pass 2: normalize job titles

Titles from different sources look different: VP Sales, Vice President of Sales and VP, Sales all mean the same thing. If you filter on raw titles you miss rows.

Two how-to posts go further: normalize job titles in a lead list and filter a lead list by seniority.

Pass 3: check fit against your ICP

Write your ICP in one or two sentences. Then judge each row against it. Doing this by eye is slow on a long list, so a first pass with a tool helps.

The AI lead list cleaner reads a pasted or uploaded CSV by its header names (name, company, title, website, notes, email). It adds a seniority, a department, a fit value and a short reason to each row, and it keeps your original columns. It handles 25 rows signed out and 200 signed in.

Know what it does today. AI mode is labeled coming soon, so the tool uses fixed rules:

  • Seniority and department come from rules on the job title.
  • Fit is yes when the title or company shares a word with your ICP text, and unclear otherwise.
  • It never says no. A shared word proves little, and a missing word proves even less, so the tool refuses to say a lead is outside your ICP.

Treat yes as a lead worth a look and unclear as a row for you to decide. Remove rows you know are wrong, such as students, competitors and companies that are too small.

Pass 4: verify the emails

Now check the addresses. Export the cleaned list as a CSV with an email column and upload it on the verify page. The first 100 checks are free with a Google sign-in, no card. Each address comes back valid, risky or invalid with a reason and an action.

  • send: the mail server confirmed the mailbox.
  • send_with_care: a catch-all domain, a role inbox or a provider that hides mailbox status.
  • retry_later: the check could not finish.
  • do_not_send: the address will bounce or is a throwaway.

Send to send. Test a small batch of send_with_care, grouped by reason. Remove do_not_send. The how to verify an email list guide covers the upload and download steps.

Expect a real share of risky rows. In the catch-all study, 39.1% of 4,943 sampled business domains accepted a made-up address. On a catch-all domain no check can say whether a specific mailbox exists, so those rows are never marked valid.

If your list lives in a sheet and keeps growing, automate this pass: verify new rows with Make or verify leads in n8n before Instantly.

Why this order

  • Dedupe first, because it is the cheapest and shrinks everything after.
  • Titles second, because ICP checks work better on clean titles.
  • ICP third, because it removes rows that you would never email.
  • Verify last, because it is the step that uses paid checks.

If you verify first and clean later, you pay to check rows you then delete.

A short checklist

  1. One row per person.
  2. Titles in a standard form.
  3. Every row has a yes or a human decision on fit.
  4. Verified, with do_not_send removed.
  5. Unsubscribed and bounced addresses from past campaigns removed. See classify replies and suppress bounces.

Where your judgment still matters

Tools tag rows. You decide who gets an email. A clean list is not a good offer, and a verified address is not consent in every country. Check the rules for your market.

Keep the removed rows

Do not delete rows at any pass. Move them to a second tab with a column that says why they were removed. When a campaign underperforms, that tab shows whether you cut the wrong rows, and next quarter you can re-check old rows instead of starting from scratch.

Frequently asked questions

What order should I use? Dedupe, titles, ICP fit, then verify.

Why verify last? So you only check addresses you plan to use.

Can the cleaner say a lead is outside my ICP? Not in rule mode. It says yes or unclear.

Common questions

In what order should I clean a lead list?

Dedupe first, then normalize job titles, then judge fit against your ideal customer profile, then verify the emails. Each pass removes rows, so the paid step sees the fewest rows.

Why verify emails last?

Every earlier pass removes rows. Verifying last means you only check the addresses you actually plan to send to.

How many rows can the AI lead list cleaner handle?

25 rows when signed out and 200 when signed in.

Can the cleaner tell me a lead is outside my ICP?

Not in rule mode. It marks fit yes when the title or company shares a word with your ICP text, and unclear otherwise. A word match cannot show that a lead is outside your ICP, so it never says no. AI mode says coming soon.

Check your list before you send

Real mailbox checks over SMTP, and nothing is sent to the address. Sign in with Google and your first 100 email checks are free, no card. Plans for bigger lists are on the pricing page.