Cleaning a list before it reaches Mailchimp

For small businesses and newsletters.

A Mailchimp audience is one big pool with tags and segments layered on top, so the file you export is every contact you have rather than a tidy campaign list. Expect it to hold people who joined through a landing page in 2019, a Shopify pop-up last month and a paper form somebody typed up by hand.

Getting the addresses out of Mailchimp

Audience, then Manage audience, then Export audience. Mailchimp emails a zip with one CSV per status, and the Subscribed file is the one to check.

Before the import, always. Mailchimp bills on audience size and judges a new list on its first campaign, so an address that fails is charged twice: once on the invoice and once against your sender reputation.

What Mailchimp does with the file you bring back

The import rules decide what a re-import actually changes, which is worth knowing before you upload.

The short version

  • Mailchimp matches on email address and updates the existing contact, so a re-import of a checked file won't create duplicates.
  • Subscribed, unsubscribed and non-subscribed contacts all count toward your plan limit. Cleaned, archived and pending contacts don't.
  • A contact Mailchimp has cleaned can't be re-added by import. It stays blocked, which protects you from mailing the same dead address twice.
  • Import with a tag naming the source and the date, so the next bounce cluster traces back to one batch.

The mistake to avoid

Some addresses come back unresolved, and that is a fact about the receiving server rather than a gap in the check. We label those and never bill for them. What that means, and why roughly 28% of business addresses land there, is set out on our page about catch-all domains.

How to remove bounced emails from Mailchimp

Hard bounces take care of themselves. Mailchimp moves a hard-bounced address to Cleaned, stops mailing it and drops it from your bill. You'll find them under Audience, All contacts, with the status filter set to Cleaned. Export that view before you touch anything, because it holds the Source field that tells you which import caused the damage.

Soft bounces are the ones that cost you. A contact who keeps bouncing soft stays subscribed until Mailchimp's limit is reached: 7 soft bounces with no activity, or up to 15 if they've engaged before. Until then you pay for them and mail them. Open the campaign report, go to Bounced, and select the soft bounces. Filter your audience to those addresses and archive the ones that have bounced on more than one campaign.

Archive rather than delete. Archived contacts leave your plan count, keep their history and can be unarchived. A permanent delete is for a data request. It also means that person can only come back by signing up again.

An 8% bounce rate on a 9,000-contact send

Say your newsletter goes to 9,000 contacts and 720 bounce, an 8% rate. Most of the 720 trace back to a 2021 event list you imported last month. Mailchimp cleans the hard bounces on its own. The other 2,100 addresses from that event list haven't failed yet, but they're the same age and came from the same place.

Archive the 2,100, export them, and run them through ZapBounce with the rest of the audience before the next campaign. That's 8,280 addresses, which fits inside one 10,000 pack at $25, and the 1,720 credits left over never expire. Results that come back unknown aren't charged. Unarchive the addresses that come back valid, tag the catch-all results so they go out last, and leave the invalid ones archived.

Questions people ask

Does Mailchimp verify addresses at import?

No. Mailchimp checks the format and imports anything shaped like an address. The first real test is your first send, and every failure there counts against your sender reputation.

Will verifying my list lower my Mailchimp bill?

Yes, when the file holds dead addresses. Subscribed contacts are billed whether they deliver or not, so leaving invalid addresses out of the import keeps your contact count, and your tier, lower.

What should I do with catch-all results before a Mailchimp import?

Import them with their own tag and mail them after your main audience. ZapBounce returns catch_all as its own result, so you can judge those addresses by whether they open instead of guessing.

Can I delete cleaned contacts from Mailchimp?

You can, and you rarely need to. Cleaned contacts are free and already blocked. Delete permanently only for a data request, because a permanent delete also removes the record of where the address came from.

Check a sample first

100 free checks a month, no card. The share we could not resolve is the number worth comparing between vendors.