When nonprofits decide to migrate from Mailchimp, the risky part is rarely the email addresses. It is everything attached to them: when and how each donor opted in, which marketing permissions they granted, who unsubscribed years ago, and which addresses bounced. Lose that history and you risk emailing people who said no, or being unable to show consent if a supporter or regulator asks. This checklist walks through exporting, mapping, importing and warming up so your donor list arrives on the new platform with its consent records intact.
Key takeaways
- Export every status: Mailchimp exports subscribed, unsubscribed, non-subscribed and cleaned contacts as separate CSV files. You need all of them.
- Keep the consent columns: OPTIN_TIME, OPTIN_IP, CONFIRM_TIME, CONFIRM_IP and marketing-permission columns are your proof of consent.
- Import suppressions first: unsubscribed and cleaned addresses should be blocked on the new platform before any send.
- Rebuild, don't copy: segments and automations don't transfer; document them before you leave.
- Warm up: authenticate your domain and ramp volume gradually on the new sending setup.
Before you migrate from Mailchimp: inventory what you have
Spend an hour documenting your current account before exporting anything. Open each audience and note:
- Every audience (Mailchimp's term for a list) and its contact counts by status.
- All audience fields (merge fields) with their tags, such as FNAME, LNAME, DONOR_TYPE or LAST_GIFT.
- Your tags and groups, and what each one means to your team.
- Saved segments and the conditions behind them (screenshot them).
- Active automations (flows/journeys): trigger, emails, delays and conditions.
- Signup forms and where they are embedded on your website.
- Integrations feeding contacts in, such as your donation platform or CRM.
Also check whether any audiences have GDPR fields enabled. If you combined audiences in the past, Mailchimp notes that combining can drop opt-in timestamps, so you may already have gaps to document.
Step 1: Export your Mailchimp audience and tags
Use Mailchimp's export contacts feature for each audience. According to Mailchimp's help center, the export may arrive as a ZIP file with one CSV per contact status: subscribed, unsubscribed, non-subscribed and cleaned (plus an SMS folder if you have SMS contacts). Archived contacts are exported separately.
Each export includes your audience fields (except language), marketing permissions, MEMBER_RATING, OPTIN_TIME, OPTIN_IP, CONFIRM_TIME, CONFIRM_IP, location and time-zone fields, LAST_CHANGED, LEID and EUID, NOTES and TAGS. It does not include email signup source, opens and clicks, purchase history, language, or a complete history of profile updates. If you need engagement data, download campaign reports separately before you close the account.
Step 2: Map custom fields and merge fields
Your new platform will not use Mailchimp's field names, so build a simple mapping sheet before importing.
| Mailchimp column | New platform field (example) | Notes |
|---|---|---|
| Email Address | Lowercase and trim spaces | |
| First Name / Last Name | first_name / last_name | Standard fields |
| Custom merge fields (e.g., DONOR_TYPE) | custom field, same name | Create fields before import; match data types |
| TAGS | tags | Split the comma-separated list into individual tags |
| OPTIN_TIME, CONFIRM_TIME | consent_optin_at, consent_confirmed_at | Keep as dates; note the time zone |
| OPTIN_IP, CONFIRM_IP | consent_optin_ip, consent_confirm_ip | Personal data; restrict access |
| Marketing permission columns | consent_email, consent_direct_mail, etc. | One field per permission |
| LAST_CHANGED | mc_last_changed | Useful for audits |
| LEID / EUID | mc_id | Optional; helps match records later |
Add one more field to every record: source = mailchimp_import_YYYY-MM-DD. It explains, in one glance, where and when the contact came from.
Step 3: Preserve consent timestamps and GDPR fields
Consent records are why this migration needs care. Mailchimp's GDPR FAQ explains that OPTIN_TIME and CONFIRM_TIME together show how someone joined; differing times usually indicate double opt-in. For GDPR-enabled audiences, the export includes a column for each marketing permission, headed with the label you used on your form.
- Import the timestamps as data, not just as a note. If someone later asks when they subscribed, you should be able to answer from the new platform.
- Do not re-collect consent you already have unless the original record is missing or unclear. A re-permission campaign shrinks lists and is only necessary when you cannot evidence consent.
- Flag gaps. Contacts with no OPTIN_TIME (often manual imports or combined audiences) should get a field like
consent_evidence = missingso you can decide how to handle them. - Keep the original export for as long as your retention policy says you must be able to prove consent.
Step 4: Import unsubscribed and cleaned contacts as suppressions
This is the step most often skipped, and the most damaging to skip. Unsubscribed contacts asked not to receive marketing email. Cleaned contacts are addresses Mailchimp stopped sending to after hard bounces or repeated soft bounces. Neither group should receive a single email from your new platform.
- Import the unsubscribed CSV into the new platform's suppression or blocklist (or as contacts with an unsubscribed status) before importing active contacts.
- Import the cleaned CSV the same way.
- Check the non-subscribed file: these are usually people who interacted (for example, a purchase or event) without opting into marketing. Import them without marketing consent, or leave them out.
- Run a test: search for a few known unsubscribed addresses and confirm they cannot be selected for a campaign.
Step 5: Rebuild segments and recreate automations
Segments and automations do not export from Mailchimp in a portable form. Use your inventory screenshots to rebuild them. Common donor segments to recreate first:
- Monthly (recurring) donors
- Donors in the last 12 months vs. lapsed donors
- Major donors or a giving-level tag
- Volunteers and event attendees
- New subscribers who have not yet given
Our guide to email list building and segmentation covers how to structure tags and fields so segments stay simple. For automations, rebuild your welcome series and donor thank-you sequences first, since they run every day. Our donor welcome email series and donor retention emails guides include sequences you can recreate. On eMailBase, these become journeys in the visual automation builder.
Watch for contacts mid-journey
Someone who received email 2 of a 5-email welcome series in Mailchimp should not restart at email 1. Tag contacts by their current step before export, or let in-progress journeys finish in Mailchimp before you switch.
Step 6: Set up DNS and warm up the new platform
A new platform usually means new sending infrastructure, and mailbox providers judge it on its own track record. Before your first campaign:
- Authenticate your domain with SPF, DKIM and DMARC records for the new platform or sending provider. See our SPF, DKIM and DMARC setup guide.
- Remove old records you no longer need only after Mailchimp sends have stopped, so in-flight email still authenticates.
- Warm up gradually. Start with your most engaged donors (recent openers and givers) and increase volume over a few weeks. Our IP and domain warmup guide has a sample ramp schedule.
- Update signup forms and integrations so new donors flow to the new platform, not the old one.
If you move to a bring-your-own-server setup such as eMailBase, you will also connect a sending provider like Amazon SES; eMailBase includes DNS checks and warmup strategies to help with this stage.
A realistic migration timeline
| Week | Tasks |
|---|---|
| Week 1 | Inventory audiences, fields, tags, segments, automations and forms. Choose the new platform. |
| Week 2 | Export all status files. Build the field mapping. Set up DNS on the new platform. |
| Week 3 | Import suppressions, then active contacts. Verify consent fields and suppression tests. |
| Week 4 | Rebuild segments and core automations. Update forms and integrations. Start warmup with engaged donors. |
| Weeks 5 to 6 | Ramp volume to the full list. Keep Mailchimp on a downgraded plan until you are confident nothing is missing. |
Avoid migrating in November or December. Year-end appeals are the worst time to be warming up a new sending reputation.
Frequently asked questions
Does Mailchimp let me export my unsubscribed contacts?
Yes. Mailchimp's contact export can include separate CSV files for subscribed, unsubscribed, non-subscribed and cleaned contacts. Import the unsubscribed and cleaned files as suppressions on your new platform.
Will opt-in dates transfer when I migrate from Mailchimp?
They transfer if you keep the OPTIN_TIME and CONFIRM_TIME columns and map them to fields on the new platform. Create those fields before you import.
Do I need to ask donors to re-subscribe after switching platforms?
Generally no, if you can evidence their original consent and your new platform's use matches what they agreed to. Re-permission only contacts whose consent you cannot show. Check your obligations under the laws that apply to your supporters.
Can I export open and click history from Mailchimp?
Not in the contact export. Mailchimp says engagement metrics are excluded; download campaign reports separately if you want that history.
How long does it take to migrate from Mailchimp?
Small lists can move in a week or two. Allow four to six weeks if you have several automations and need to warm up a new sending domain.
A careful migration protects both your donors and your deliverability. Export every status file, keep the consent columns, import suppressions first, rebuild segments and automations deliberately, and warm up before your full list hears from you. If you are still choosing where to move, compare options in our guide to the best Mailchimp alternatives for nonprofits or see how eMailBase stacks up in the eMailBase vs Mailchimp comparison.


