All posts

How to Import Contacts Into ActiveCampaign From CSV Without Importing Bad Emails

··5 min read

Before you import a CSV into ActiveCampaign, verify the addresses in it. The import takes minutes, but every invalid address you bring in is a hard bounce on your first send. A first campaign to an unchecked list is a common way to draw a closer look. This post is the preparation, step by step.

Format your file for ActiveCampaign →

The order that works

  1. Clean the file (headers, repeats, blanks).
  2. Verify every address.
  3. Split the result into valid and risky.
  4. Import valid rows, confirm mapping.
  5. Send to a small segment first.

Most people do these backwards: import first, discover bounces second, and clean up last. By then the damage is done.

Step 1: Tidy the CSV

Open the file in a spreadsheet.

  • Header row in row one, with plain names: email, first_name, last_name, phone, company.
  • One contact per row. A person with two emails is two rows, or one row with the address you want to mail.
  • No merged cells, formulas or extra sheets. Export as CSV.
  • UTF-8. If names show odd symbols, see fix garbled characters in CSV. Names with accents are common, and a bad encoding turns the opening of an email into noise.
  • Phone numbers as text. Leading plus signs and zeros get stripped in a spreadsheet. Clean phone numbers in CSV and keep leading zeros cover this.

The ActiveCampaign contact import file formatter does the header tidy-up in your browser. ActiveCampaign maps columns on its own import screen, so confirm the mapping there before you accept the import.

Step 2: Remove repeats and blanks

  • Remove duplicate addresses with the duplicate email remover. Two rows for one person can mean two welcome emails.
  • Remove rows without an email. See remove blank rows from CSV.
  • Check which columns are mostly empty. If your automation uses first name and a third of the cells are blank, either fill them or write a fallback.

Do this before verifying, so you do not spend checks on rows you were about to delete.

Step 3: Verify the addresses

Upload the cleaned file at /verify. SimpleVerifier runs real SMTP mailbox checks, not just syntax, and flags catch-all, disposable and role addresses such as info@ and sales@.

Result Meaning What to do
Valid Mailbox accepted the check Import
Risky Often a catch-all domain, where the server accepts any address Import as a separate segment, send slowly
Invalid Mailbox or domain does not exist Do not import

Catch-all domains accept all addresses at the SMTP step, so no verifier can confirm one mailbox there. That is true for every tool. See catch-all emails: what to do.

You can also drop rows with only a syntax check using remove invalid emails from CSV, but a syntax check will not catch a mailbox that does not exist. The SMTP check does.

Step 4: Import and map the fields

On ActiveCampaign's import screen, go through each mapping:

  • The email column maps to email. Anything else will not work.
  • First name and last name map to their standard fields.
  • Extra columns become custom fields. Create them first if they do not exist, so nothing is dropped.
  • Leave out columns you will never use. Fewer fields make segments easier later.

Decide before the import which list and tags the contacts should land in. Tag the batch with its source and date, for example import-2026-11-valid, so you can trace bounces back to it.

Step 5: Warm into the list

Send the first campaign to a small segment, then widen. Watching the bounce rate on a small batch gives you a safe signal. If it is high, stop and investigate before the full send.

Two guides cover what comes next:

Consent comes first

Verification tells you whether a mailbox exists. It does not tell you whether the person agreed to hear from you. Both matter. Import only people who gave permission, or who you have a legitimate reason to contact, and keep the proof of where each came from in a source column.

Where each import file comes from

  • Website forms and lead magnets: usually fresh, but typos like gmial.com are common.
  • Event lists: typed by hand at a booth, so error rates are higher than online forms.
  • Old CRM exports: most at risk of decay. The email list decay calculator shows how fast a list ages.
  • Another ESP: moving from Mailchimp or similar? Verify anyway. Cleaned lists in one platform can still hold addresses the old platform stopped sending to.

Cost of checking every file

SimpleVerifier Pro is $39 a month (or $390 a year), with the first 100,000 checks a month at full speed, then slower, never cut off. Per the pricing page, Pro also includes:

  • CSV upload, up to 100,000 rows per file
  • Real SMTP mailbox checks, not just syntax
  • Catch-all, disposable and role-address detection
  • Export valid, risky or invalid separately
  • An email finder and website enrichment
  • API: 10,000 calls a month included, then $1.50 per 1,000

Only email verification has the 100,000 full-speed fair-use line. The finder and API are not unlimited. We do not publish accuracy percentages. Check a sample of your own list and judge from that.

Pre-import checklist

  1. Header row in row one, plain names.
  2. One contact per row.
  3. Duplicates and blank rows gone.
  4. Permission confirmed for every source.
  5. Addresses verified. Invalid rows out.
  6. Risky rows held for a separate segment.
  7. Mapping checked field by field on the import screen.
  8. Tag added with source and date.

Quick answers

  • Does ActiveCampaign remove bounces for me? It handles bounces after sending. Verifying first stops them from happening.
  • Is verification worth it for a small list? A small list has the least room for error, because a few bounces are a large share of a small send.
  • How often should I re-verify? Before any campaign to a list older than a month or two.

Try it on your own list

Upload the file at /verify. The first 100 checks are free with a Google sign-in, no card.

Pro, $39 a month: Unlimited email verification.* Never metered, never cut off. See pricing.

*Fair use: the first 100,000 checks a month at full speed, then slower, never cut off.

Common questions

What format should a CSV be in for ActiveCampaign?

A CSV with a header row and one contact per row, with an email column. Name and other fields can be mapped to contact fields on the import screen. Confirm the exact mapping on ActiveCampaign's own import screen, since fields and options change.

Should I verify a list before importing it into ActiveCampaign?

Yes. Verifying first keeps invalid addresses out of your contacts, which protects your sender reputation and keeps your contact count lower.

What happens if I import old contacts?

Old addresses bounce more. A list that sat unused for a year or more should be verified before its first campaign, and sent to in a small batch first.

Can I import contacts I bought?

That is a consent question as much as a quality one. ActiveCampaign expects permission-based lists, and importing a list with no permission is the fastest way to a review. Do not import lists you cannot account for.

How do I handle risky addresses?

Do not import them into your main list. Hold them, import them as a separate segment, and send small batches while you watch bounces.

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.