Move-in · from Mailchimp
Moving from Mailchimp to SendBeam
Subscribers, the people who unsubscribed, tags, custom fields and whatever consent evidence Mailchimp kept — moved in the order that keeps you compliant, without asking a single person to confirm again.
Weighing it up first? Read SendBeam vs Mailchimp.
Before you start
What you need from Mailchimp.
A Mailchimp API key
Profile icon → Account & billing → Extras → API keys → Create A Key
Mailchimp does not issue a read-only key, so create one for the import and delete it afterwards. SendBeam only ever reads with it: the key stays in your browser tab for the visit, is sent with each request and is never stored, logged or shown again. Nothing on Mailchimp is changed.
Their help page: mailchimp.com/help/about-api-keys
Or a Mailchimp CSV export
Audience → (pick the audience) → Export audience → Export CSV
A ZIP with a CSV per contact type (subscribed, unsubscribed, non-subscribed, cleaned) carrying audience fields, TAGS, OPTIN_TIME, OPTIN_IP, CONFIRM_TIME, CONFIRM_IP and LAST_CHANGED.
Their help page: mailchimp.com/help/view-export-contacts
A workspace for each site
One SendBeam login covers every site you run: a workspace each, one pooled bill. Free is 500 contacts across 2 workspaces, Starter $9 is 2,500 across 5, Pro $29 is 10,000 across as many as you like. Move the sites one at a time if you prefer.
Your DNS, or someone who has it
Each sending domain needs two records — DKIM and an aligned return path — verified before an address is imported. On Cloudflare we can write them for you; anywhere else it is two values to paste.
The order
Five steps, in this order, and you keep sending throughout.
The order matters more than the tool. Opt-outs before subscribers, domain before the first send, and the old account stays open until the sync window closes.
- 01 Suppressions firstEveryone who unsubscribed, bounced or complained on Mailchimp goes in before a single subscriber. In SendBeam those rows land on the workspace's suppression list: campaigns never reach them, a later import cannot turn them back into subscribers, and they do not count towards your plan's contact limit.
- 02 Sending domainAdd the site's sending domain and verify it before anything is imported, so the first campaign is not waiting on DNS. Delivery is managed by SendBeam — there are no provider keys to set up — and each site gets its own DKIM record and aligned return path.
- 03 ImportPaste the Mailchimp key into Contacts → Import → Import from another platform, pick what to bring, and import. Contacts, statuses, tags, custom fields, original opt-in dates and the consent evidence Mailchimp keeps all come across in one pass.
- 04 Parallel runKeep sending from Mailchimp while you check this side: rebuild your forms, put the embed on the site, and send one campaign from SendBeam to a small segment before you trust it with the whole list.
- 05 Cutover with a 30-day unsubscribe syncSwitch your forms over, send from SendBeam and leave the Mailchimp account open for 30 days. Anyone who unsubscribes there in that window must be unsubscribed here too: Move-in syncs that for you, and on your own it is a weekly export of their opt-outs imported with status set to unsubscribed. Then close the old account.
The same order is written up in the docs: suppression list, sending domain, importing contacts and moving in.
Two routes
Do it yourself, or hand it over.
Route one
Import with your Mailchimp key
In the app, go to Contacts → Import → Import from another platform (/contacts/import/connect), pick Mailchimp, paste the key and press Connect. SendBeam checks the key with one call and shows the account, its lists with subscriber counts and exactly what will and will not come across before anything is written.
- Opt-outs are written to the suppression list before any contact, so nothing can be mailed by accident.
- A run handles up to 25,000 contacts and about 45 seconds of work, then offers Continue import from exactly where it stopped. Re-running is always safe.
- Nothing on Mailchimp is changed, and the import sends no email to anyone.
- Available in the app on every plan, up to the contacts your plan has room for.
Prefer a file? The CSV importer reads the same columns; the notes below are for a Mailchimp export.
Columns the importer recognises
- first_name
- last_name
- status
- tags
- subscribed_at
- unsubscribed_at
- source
- consent_ip
- consent_at
- consent_source
Any other column becomes a custom field keyed by its snake_cased header. Rows with status unsubscribed, bounced or complained go to the suppression list and never count towards your contact limit. Full reference: importing contacts.
Shaping a Mailchimp export
- The download is a ZIP with one CSV per contact type. Import the unsubscribed and cleaned files first — set the status column to unsubscribed and bounced — then the subscribed file.
- Most of Mailchimp's headers land as they are: Email Address is read as email, OPTIN_TIME as subscribed_at, CONFIRM_TIME as consent_at and TAGS as tags. The one to rename by hand is OPTIN_IP, which becomes consent_ip.
- Every remaining audience field becomes a custom field keyed by its snake_cased header.
Route two
Move-in, done for you
You give us a read-only key or a temporary seat that you revoke afterwards. We load the suppressions, set up a sending domain for each site, import every workspace, keep you sending from Mailchimp while you check, switch your forms over and sync unsubscribes from Mailchimp for 30 days after cutover. Two to five business days for the whole account.
- Included on Pro $29 and Business $79 — every site on the account, one request.
- Automations rebuilt at US$29 each and templates at US$49 each, quoted before any work starts and waived on Business annual.
- On Free and Starter you import yourself, and any Setup item can still be bought on its own.
What carries over
What arrives with your list.
- Subscribers with their names, their status and the day they originally joined.
- The people who unsubscribed, bounced or complained on Mailchimp, as suppression entries with their original dates.
- Tags — and groups, lists or segments that behave like tags — created here as they are matched.
- Custom fields, keyed by the lower-cased, snake_cased column or field name, ready for merge tags and segment rules.
- Consent evidence: OPTIN_TIME, OPTIN_IP, CONFIRM_TIME and CONFIRM_IP travel with each contact.
What does not
What no migration carries.
- Automations. No platform exports them in a form another can run, Mailchimp included. Rebuild them in the SendBeam editor at no cost, or have us do it as a Setup item.
- Designs. Templates are rebuilt in the SendBeam editor — by you at no cost, or by us as a Setup item.
- Engagement history. Opens and clicks recorded on the old platform stay there; your stats here start at cutover.
- People who never confirmed. Rows marked pending, unconfirmed or inactive are counted and left out rather than emailed.
Consent
Nobody has to confirm again.
Changing provider does not require fresh consent, and we do not ask your subscribers to opt in a second time. What matters is that the evidence travels with them. From Mailchimp that evidence is: oPTIN_TIME, OPTIN_IP, CONFIRM_TIME and CONFIRM_IP travel with each contact. It is stored on each contact as consent_ip, consent_confirmed_at and consent_source, so it shows on the contact and comes back out in an export.
Contacts with no evidence at all are left out rather than emailed, and you get the list of who they were so you can decide.
Suppressions go in before anything can send, every access during a Move-in is logged, working copies are deleted after cutover and you can ask for the migration log. The data processing agreement sets this out in full; double opt-in explains what is recorded from here on.
Checklist
Ten things, in order.
- 01 Create the Mailchimp API key (Profile icon → Account & billing → Extras → API keys → Create A Key), or export the CSV.
- 02 Separate the opt-outs, or check the export carries a status column for them.
- 03 Create a SendBeam workspace for the site — one per site, all on one login.
- 04 Add the sending domain and wait for it to verify.
- 05 Import the opt-outs first, with status set to unsubscribed.
- 06 Import the subscribers, keeping subscribed_at and the consent columns.
- 07 Read the import summary: imported, updated, suppressed, pending not imported, invalid rows, columns ignored.
- 08 Rebuild your forms, swap the embed on your site, and rebuild any automations you rely on.
- 09 Send one campaign from SendBeam to a small segment while Mailchimp is still live.
- 10 Cut over, then pull Mailchimp's new unsubscribes for 30 days before you close the account.
Bring every site across, not just this one.
One login, a workspace per site and one pooled bill. Start free with 500 contacts, or hand us the keys and keep sending from Mailchimp while we do it.
Still comparing? SendBeam vs Mailchimp · price your own sites · plans
Mailchimp is a trademark of its owner and SendBeam is not affiliated with it. The menu paths and export contents above describe Mailchimp as read on their own help pages (mailchimp.com/help/view-export-contacts) on 3 September 2026. Platforms move menus; if a path has changed, tell us and we will correct it. Other guides: Move-in and the comparisons.