Strategy

How to Build a B2B Lead List for Cold Email (and Clean It Before You Send)

By Kaysid Team · · 5 min read

How to Build a B2B Lead List for Cold Email (and Clean It Before You Send)

Your lead list decides more about a cold email campaign than your copy does. The best email in the world won't get a reply from the wrong person, and a list full of invalid addresses can damage your domain before anyone reads a word.

This guide shows how to build a list that's targeted, accurate and ready to personalize: where to find leads, what to collect, how to verify and clean it, and how to format it so importing takes seconds.

B2B lead list pipeline: define, source, enrich, verify, clean, import
A good list is built in stages, and cleaning is the stage most people skip.

Step 1: Define who you're looking for

Before collecting a single email, write down your ideal customer profile (the companies) and your buyer persona (the people at those companies).

QuestionsExample
CompanyIndustry, size, location, technology, signalsPhysiotherapy clinics, 2–20 staff, UK, using online booking
PersonRole, seniority, responsibilityClinic owner or practice manager
SignalSomething that makes now a good timeHiring receptionists, recent bad reviews about phone access

Step 2: Where to find B2B leads

SourceGood forWatch out for
B2B databases (e.g. Apollo, ZoomInfo, Lusha)Speed and filters by role and company sizeData decay, emails that need verifying
LinkedIn and Sales NavigatorFinding the right person and contextYou still need a verified work email
Google Maps and directoriesLocal businesses, clinics, tradesGeneric info@ addresses
Company websitesAccurate names, roles and contextTime-consuming without help
Job boardsTiming signals (hiring = budget and need)Matching the job to the decision-maker
Event, award and association listsNiche, relevant audiencesCheck terms of use
AI research assistantsResearching each company and writing notes at scaleVerify everything; AI can invent details

Step 3: Collect the right fields

Collect what you need to target, personalize and stay compliant, and nothing more:

FieldWhy
EmailRequired
First name, last nameGreeting and personalization
CompanyPersonalization and duplicate checks
Job titleRelevance (and GDPR legitimate interest)
WebsiteResearch and personalization
City / countryTime zones, local relevance and which laws apply
SourceWhere you found them (GDPR Article 14 requests)
A personal note or observationYour first line
Their own email (optional)If you write a full email per lead

Step 4: Verify every email address

Run the list through an email verification service before importing. It checks syntax, whether the domain accepts mail, and whether the mailbox exists. Typical results:

ResultWhat to do
ValidSend
InvalidRemove
Catch-all / accept-allThe domain accepts everything, so the mailbox can't be confirmed. Send carefully, in small batches, or skip
UnknownSkip, or re-verify later
Disposable / roleRemove disposable; think twice about role addresses

Aim for a bounce rate under 2% in your campaigns. If verification says a list is clean and you still see high bounces, stop and investigate.

Step 5: Clean the list

  1. Remove duplicates (same email, different capitalisation counts as a duplicate).
  2. Remove existing customers and anyone already in an active campaign.
  3. Remove people who've unsubscribed, bounced or said no in the past.
  4. Flag shared inboxes like info@, sales@ and hello@: they reply less and complain more.
  5. Fix names: "JOHN" → "John", and don't use the email address as a first name.
  6. Check fields used in merge tags aren't empty, or set fallbacks.

Why overlap between campaigns matters

If the same person sits in two campaigns, they get two cold sequences at once, which feels spammy and doubles your complaint risk. Someone who already replied (even "not interested") should never be cold-emailed again by a new campaign.

Step 6: Format for import

Use one row per lead and clear column names. If you're sending a personal email to each lead, add columns for each email:

EmailFirst NameCompanyJob TitleWebsiteSubject 1Email 1
ann@acme.comAnnAcme PhysioOwneracmephysio.co.ukacme's booking pageHi Ann, I tried booking...

Excel and CSV both work. Keep the column names simple and consistent across lists.

Keep your list fresh

  • B2B data decays as people change jobs. Re-verify lists older than about three months.
  • Remove bounces immediately.
  • Keep a single do-not-email list for all campaigns.
  • Delete data you no longer need.

How big should your list be?

Smaller than you think. A list of 200 to 500 people who all share the same problem lets you write specific emails, learn quickly from replies, and protect your domains. Once a segment works, build the next one. Scale comes from repeating a working segment, not from mailing 10,000 people at once.

GoalSuggested list sizeWhy
Test a new audience or offer100–200Enough replies to learn, small enough to fix mistakes
Run a proven campaign300–1,000 per segmentKeeps emails specific to one group
Ongoing outreachFresh batches weeklySteady volume, current data

Segment before you write

Split the list into groups that would get a different email: by industry, role, company size, location or signal. Then write (or generate) emails per segment, or per lead. A clinic owner and a hospital operations director both care about missed calls, but not in the same words.

  • Use a List column to put each segment in its own list when you import.
  • Add a column for the detail you'll personalize with, such as Observation, and use it as a merge field.
  • Keep a Source column so you can see which sources produce replies, not just leads.

How Kaysid helps with lead lists

  • Import Excel or CSV with automatic column detection, plus a ready-made template.
  • Duplicates are skipped, and a downloadable report explains every row that wasn't imported.
  • When importing into a campaign, people already being emailed by another campaign, or who replied before, are left out, with an "Add them anyway" option.
  • Unsubscribed and bounced addresses are never emailed, however many times they're imported.
  • The pre-launch review flags shared inboxes, empty fields and leads with no email written.

Frequently asked questions

How do I build a B2B lead list for cold email?

Define your ideal customer and buyer, find leads in databases, LinkedIn, directories and company websites, collect name, role, company and work email, verify every address, remove duplicates and past contacts, then import.

Should I buy an email list?

No. Bought lists are usually outdated, full of invalid addresses and spam traps, and hard to use lawfully. Build or source targeted lists and verify them.

How often should I verify my email list?

Before every campaign if the list is more than about three months old. B2B data changes quickly as people change jobs.

What is a catch-all email address?

An address on a domain that accepts all mail, so a verifier can't confirm the mailbox exists. Send to these carefully and watch your bounce rate.

Should I email info@ or sales@ addresses?

Usually not for personal outreach. Shared inboxes reply less and complain more. Find the named decision-maker instead.

About Kaysid

Kaysid sends cold email from your own Google, Microsoft 365 or SMTP mailboxes at a human pace, with warm-up, one-click unsubscribe, reply detection and a unified inbox built in. You can import a spreadsheet where every lead has its own written email, review them all before launch, and start on the free plan. Try it free.