How to Import Leads from a CSV Without Breaking Your Campaign

A step-by-step way to clean, map and import a spreadsheet of leads so your merge tags fill in, bad addresses stay out and your first send goes right.

Updated Nov 6, 2026 · 5 min read

You have a spreadsheet of leads. Maybe it came from a past client, an event list, a directory export or months of manual research. Now you want those people in an email campaign, and the import is where things quietly go wrong: names show up blank, the business name lands in the city field, duplicates get emailed twice, and dead addresses hurt your sending account.

This guide walks through the whole job, from a messy file to a campaign-ready list, with steps you can finish today.

Step 1: Save a copy and look at the raw file

Before touching anything, duplicate the original file. Work on the copy. If a cleanup step goes wrong, you can start again.

Then open it and check three things:

  • Encoding. Save as CSV UTF-8. Plain "CSV" in some spreadsheet apps can turn accented names (José, Zoë) into garbage characters.
  • One header row. Row 1 should hold column names, nothing else. Delete title rows, notes or merged cells above it.
  • One lead per row. If a cell holds two emails separated by a comma or slash, split them into separate rows or pick the best one.

Step 2: Clean the columns that matter

You don't need every column perfect. You need the ones you will send to and personalize with.

Email

  • Trim spaces before and after the address.
  • Lowercase it.
  • Remove rows with no email, or move them to a separate file for phone outreach.
  • Delete obvious junk: placeholder addresses, your own address, anything without an @.

Names

First names are where personalization breaks most visibly. "Hi JOHN," or "Hi john smith," reads like a mail merge. Split full names into first name and last name, and fix capitalization. If you are not sure of a first name, leave it blank rather than guessing; you can write the email so it still reads fine without one.

Business name, website, city, category

Strip legal suffixes where they sound stiff in a sentence ("Smith Plumbing LLC" often reads better as "Smith Plumbing"). Make websites consistent: either all with https:// or all without. Use one spelling per city.

Duplicates

Sort by email and remove repeats. Then sort by website or business name: two different addresses at the same small business usually means one person gets your email twice through different inboxes. Decide whether you want one contact per company.

Step 3: Rename headers to match your fields

Mapping is much easier when your headers already say what they are. A simple, clear set:

Header in your CSVWhat it holds
emailThe address you will send to
firstnameContact's first name
nameBusiness name
websiteCompany site
cityCity or area
categoryType of business

Anything else you want to use later (last service date, rating, the reason you picked them, an opening line you wrote by hand) can stay as an extra column. You will map it as a custom field.

Step 4: Import and map the fields

Most outreach tools follow the same pattern: upload the file, match each column to a field, then choose where the leads go.

In GetClient, this happens in My Leads. You upload the CSV, map each column, add custom fields for the extra columns, and save the leads into a folder. Name folders by source and date (for example "Event list - March") so you can tell batches apart later and avoid mixing tested and untested lists.

Once mapped, the standard fields fill merge tags when you send. In GetClient they must be written exactly like this in your emails:

  • {{params.name}} for the business name
  • {{params.firstname}} for the first name
  • {{params.website}}
  • {{params.city}}
  • {{params.category}}

After the import, open a handful of leads and check that each field landed where you expected. Five spot checks now save an embarrassing send later.

Step 5: Verify emails before the first send

A CSV from anywhere is only as good as its oldest row. People change jobs, businesses close, domains lapse. Sending to many dead addresses raises your bounce rate, which can hurt how inbox providers treat your account.

Run email verification on the list and drop addresses marked invalid. Treat "risky" or "unknown" results with care: you might send to them in a smaller, separate batch. GetClient lets you verify a list before sending; check plans and credits for how verification uses credits.

Also check where the list came from. If you are emailing people in the EU or UK, or the source is unclear, read up on GDPR for outreach and check the rules that apply to you. This is not legal advice, but at minimum you should know why each person is on your list and give an easy way to opt out.

Step 6: Build the campaign and preview real rows

With clean, verified leads in a folder, set up your sequence. A short drip campaign of three or four steps with a few days between them is a sensible starting point.

Write with your fields in mind. If some leads have no first name, use an opening that doesn't need one, like "Hi there" or a sentence that starts with {{params.name}}. A custom column you prepared, such as a hand-written reason for reaching out, often does more than any standard tag.

Before scheduling, preview each step against several different leads, including ones with missing fields. Look for blank gaps, odd capitalization and double spaces. For a stronger first impression, work on your cold email subject lines too.

Finally, start with a modest daily send limit from each connected account and raise it gradually as you watch bounces and replies.

Step 7: Watch the first batch closely

The first few days tell you whether the import worked. Check bounces first: a high number means the verification step missed something or the source was stale. Then look at replies and opens per step. Our guide on campaign metrics that matter explains which numbers to act on.

If something looks off, pause, fix the list or the copy, and restart. A clean import is the cheapest way to protect your sending reputation.

Frequently asked questions

Save it as CSV UTF-8 from Excel or Google Sheets first. Only the active sheet is saved, so move all leads onto one sheet and remove formulas or merged cells before exporting.

AI-powered lead generation from 8 sources

Live leads from Google Maps, Yelp, Yellow Pages, YouTube, Facebook Ads, TrustMRR, Skool and Skool Discovery — AI finds the owner, emails and socials for every one. Start with free credits.

More from Blog

See all