EmailNa

Home › For senders

How to clean a Mailchimp audience before your next campaign

Mailchimp already cleans up some bad addresses for you, but only after you've emailed them and they've bounced. If your audience has old contacts, imported lists or sign-up-sheet entries, it's worth checking it before you hit send.

By David Ray · Updated November 5, 2026 · 7 min read · How we research

Quick answer

Export your audience, tidy the spreadsheet (duplicates, typos, stray spaces), check which addresses still work, then archive the bad ones in Mailchimp: import only their email column with a tag, make a segment of that tag and archive it. Mailchimp cleans an address only after it bounces, so checking first stops those bounces from happening.

This guide walks through the whole job with Mailchimp's real menu names: export, clean the spreadsheet, check which addresses still work, and then archive the bad ones in Mailchimp without overwriting anyone's details.

What Mailchimp already does for you

It helps to know what Mailchimp handles on its own, so you don't do double work:

The catch is timing. Mailchimp only learns an address is dead by sending to it. A campaign to an old list can rack up a burst of bounces in one go, and a high bounce rate is exactly what mailbox providers watch when they decide whether to trust your mail. Checking first means those bounces never happen.

Step 1: Export your audience

Only account Owners and Admins can export. In Mailchimp:

  1. Click Audience. If you have more than one audience, pick the right one from the Audience drop-down.
  2. Click Export audience.
  3. In the Export all contacts? pop-up, click Export CSV. Mailchimp emails you when the file is ready.

You'll usually get a ZIP file with a separate CSV for each type of contact: subscribed, unsubscribed, non-subscribed and cleaned. You only need to check the subscribed file, because those are the people you're about to email. Mailchimp keeps each export in your account for 30 days under Audience → More options → Export history.

Save an untouched copy of the original file before you change anything, and do your work on a second copy. If names or accented letters look garbled when you open the file in Excel, that's a character-encoding issue, not damaged data. Mailchimp's help pages suggest opening it as UTF-8 text instead.

Step 2: Clean up the spreadsheet

Email AddressFirst NameLast NameTAGSWhat's wrong
jane.cooper@northwind.comJaneCoopercustomerNothing obvious
Jane.Cooper@northwind.com JaneCoopernewsletterDuplicate (capital letters and a trailing space)
tom.reyes@gmial.comTomReyesopen houseTypo in the domain
info@harborlogistics.comvendorRole address, no name
sam.lee@oldbrokerage.comSamLeepast clientLooks fine, but the company closed
Example data only. Two of these problems you can spot in a spreadsheet. The last one you can't: it looks perfect and still won't receive mail.

Some problems are visible without any special tool:

When you remove a duplicate, delete the whole row, not just the email cell. And be careful with shared addresses: a couple or a small office can genuinely share one email.

Step 3: Check which addresses still work

A spreadsheet can only tell you whether an address is written correctly. It can't tell you whether the mailbox still exists. In the example above, sam.lee@oldbrokerage.com looks perfect, but the company closed and the address is dead. Finding that out takes an email checker that asks the receiving mail server, without sending an actual email.

Whatever checker you use, look at what it does with your data before you upload a file of customer details, and whether it keeps your other columns. A results file that only contains email addresses means extra work matching everything back up.

Email AddressFirst NameTAGSVeml StatusVeml Reason
jane.cooper@northwind.comJanecustomer, newsletterPassedMailbox accepted
tom.reyes@gmail.comTomopen housePassedTypo fixed (gmial.com → gmail.com)
info@harborlogistics.comvendorRiskyRole address
sam.lee@oldbrokerage.comSampast clientInvalidDomain no longer receives mail
Example data only. Your original columns stay put, and each address gets a status and a plain-English reason.

Step 4: Decide what to do with each result

Don't treat everything except "Passed" as garbage. A sensible starting point:

Your own data is the tie-breaker. Someone who opened your last campaign is worth keeping even if a checker can't confirm their mailbox. Someone who hasn't opened anything in two years is a good candidate for removal, whatever the result.

Step 5: Archive the bad addresses in Mailchimp

Here's the safest way to act on your results inside Mailchimp, without overwriting anyone's name or custom fields:

  1. In your results file, filter to the rows you've decided to remove (usually Invalid, plus any Risky ones you've chosen to drop). Copy only the email column into a new CSV.
  2. In Mailchimp, click Audience, open the Add contacts drop-down and choose Import contacts. Choose Upload a file and select that small CSV.
  3. Tick Update any existing contacts, then click Continue to tag and add a new tag such as remove-invalid-nov-2026.
  4. On the match step, make sure only the email column is matched. Mailchimp warns that with "update existing" on, blank cells erase existing data, which is why you're importing nothing but the email column. The import won't change anyone's subscription status.
  5. Finish the import, then create a segment of contacts with that tag. In the segment preview, select all, click Actions, then Archive, and type ARCHIVE to confirm.

Archived contacts stop receiving campaigns and don't count toward your Mailchimp billing tier. Nothing is lost: you can bring them back any time from Audience → More options → Archived contacts.

Don't delete your original audience or re-import your whole cleaned file over the top of it. Archiving the bad ones is quicker, keeps your history, and can be undone.

A quick checklist

  1. Export the audience and save an untouched copy.
  2. Work on the subscribed file.
  3. Remove confirmed duplicates (whole rows).
  4. Fix obvious typos and broken entries.
  5. Check the remaining addresses with an email checker.
  6. Decide on each result, using your engagement data as the tie-breaker.
  7. Import just the emails to remove, tag them, and archive the tagged segment.
  8. Keep the original export until you're happy with the result.

Do this before any campaign to an old or imported list, and every few months for a list you send to regularly. See how often to clean your email list for a schedule.

See also: moving away from Mailchimp? Read how to clean your list before you switch email platforms.

This is general information, not legal advice. Mailchimp is a trademark of its owner; EmailNa and Veml aren't affiliated with it.

Questions people ask

Doesn't Mailchimp clean my list automatically?
Partly. Mailchimp marks an address Cleaned after a hard bounce, or after 7 soft bounces (15 for contacts with past activity). But it only finds out by sending to the address, so a send to an old list can still produce a burst of bounces. Checking first avoids them.
Do cleaned or archived contacts cost me money in Mailchimp?
No. Mailchimp doesn't charge for cleaned addresses, and archived contacts don't count toward your billing tier.
Can I just re-import my whole cleaned file?
It's risky. With "Update any existing contacts" ticked, blank cells in your file erase existing data in Mailchimp. Importing only the emails you want to remove, tagging them and archiving that segment is safer.
Which export file should I check?
The subscribed CSV. Those are the people your next campaign goes to. Unsubscribed and cleaned contacts aren't emailed anyway.
Can I undo archiving?
Yes. Go to Audience, More options, Archived contacts, select the contacts and click Unarchive. They come back with their most recent subscription status.