Migrate from Mailchimp
Moving your email marketing from Mailchimp to Broadcast is straightforward. This guide walks through every step – from exporting your subscriber list to verifying your first send. Plan for one to three hours depending on the size of your list and the complexity of your automations.
Before You Start
Make sure you have the following ready:
- A Broadcast account. Sign up at sendbroadcast.com if you haven’t already.
- A broadcast channel configured. This is your organizational home for subscribers, campaigns, and settings. Create one from your dashboard if you don’t have one yet.
- An email server connected. You’ll need an ESP (Amazon SES, SendGrid, Mailgun, Postmark, Resend, or SMTP) connected to Broadcast before you can send. See our Email Servers guide for setup instructions.
- Your sending domain verified with your ESP, including SPF and DKIM records.
Step 1: Export Subscribers from Mailchimp
- Log into your Mailchimp account
- Navigate to Audience from the left sidebar
- Click All contacts
- Click Export Audience (or use the dropdown menu and select Export contacts)
- Mailchimp will prepare a ZIP file containing CSV exports of your contacts, including subscribed, unsubscribed, and cleaned contacts
- Download the ZIP file and extract it
- Open the CSV file labeled with your audience name – this contains your active subscribers
Keep the unsubscribed contacts file as well. You may want to add those email addresses to a suppression list in Broadcast to ensure you don’t accidentally re-subscribe them.
Step 2: Prepare Your CSV
Broadcast’s import tool expects specific column headers. Open your Mailchimp CSV and rename the columns to match:
| Mailchimp Column | Broadcast Column |
|---|---|
| Email Address | |
| First Name | first_name |
| Last Name | last_name |
| TAGS | tags |
| CONFIRM_TIME or OPTIN_TIME | subscribed_at |
A few notes on preparation:
- Tags. Mailchimp exports tags as comma-separated values in a single column. Broadcast handles this format during import, so no additional formatting is needed.
- Custom fields. If you have merge fields beyond first name and last name (e.g., COMPANY, PHONE), you can include them in your CSV. Broadcast stores custom data as flexible JSON fields that you can map during import.
- Unsubscribed contacts. Do not include unsubscribed contacts in your main import. Instead, add them to your suppression list after import to prevent accidental re-enrollment.
- Cleaned contacts. Mailchimp marks hard bounces as “cleaned.” Do not import these addresses – they’ll harm your deliverability.
Step 3: Import Subscribers into Broadcast
- In your Broadcast dashboard, navigate to Subscribers
- Click Import
- Upload your prepared CSV file
- Map each CSV column to the corresponding Broadcast field. The import wizard displays a preview of your data to help with mapping.
- Optionally, apply a tag like
mailchimp-importto all imported subscribers. This makes it easy to identify migrated contacts later. - Start the import. Large files process in the background – you’ll receive a notification when it completes.
See our Importing Subscribers guide for detailed instructions on column mapping, duplicate handling, and troubleshooting.
Step 4: Recreate Your Templates
Mailchimp templates don’t export in a portable format, so you’ll need to recreate them in Broadcast. There are two approaches:
Copy HTML directly. Open each Mailchimp template, switch to the code view, and copy the HTML. In Broadcast, create a new template and paste the HTML into the editor. Adjust any Mailchimp-specific merge tags to Broadcast’s Liquid syntax:
| Mailchimp Merge Tag | Broadcast Liquid Variable |
|---|---|
*|FNAME|* |
{{ subscriber.first_name }} |
*|LNAME|* |
{{ subscriber.last_name }} |
*|EMAIL|* |
{{ subscriber.email }} |
*|UNSUB|* |
{{ unsubscribe_url }} |
*|LIST:COMPANY|* |
Your company name (hardcode or use a custom variable) |
Rebuild from scratch. If your Mailchimp templates relied heavily on the drag-and-drop builder, it may be faster to recreate them in Broadcast using the rich text editor or writing clean HTML. This is also a good opportunity to simplify your email designs.
Step 5: Rebuild Automations as Sequences
Mailchimp’s automations (Classic Automations and Customer Journeys) need to be recreated as Broadcast sequences.
- In Mailchimp, go to Automations and open each automation you want to migrate
- Document the trigger, email content, delays, and any conditional logic
- In Broadcast, go to Sequences and click New Sequence
- Add steps corresponding to each email in your Mailchimp automation
- Set delays between steps to match your original timing
- Add conditional logic where needed
- Copy and update email content for each step, converting merge tags to Liquid variables
Common Mailchimp automation types and their Broadcast equivalents:
| Mailchimp Automation | Broadcast Equivalent |
|---|---|
| Welcome email series | Sequence triggered by opt-in form enrollment |
| Onboarding drip | Multi-step sequence with timed delays |
| Date-based automation | Sequence with date-based enrollment via API |
| Tag-triggered automation | Sequence enrollment via API when tag is applied |
Step 6: Update Opt-in Forms
Replace Mailchimp embedded forms and pop-ups on your website with Broadcast opt-in forms.
- In Broadcast, go to Opt-in Forms and create a new form
- Configure the form fields (email, first name, etc.) and customize settings
- Copy the embed code
- Replace the Mailchimp form code on your website with the Broadcast embed code
- Optionally, configure the form to auto-enroll subscribers into a sequence
If you use custom forms that POST to Mailchimp’s API, update them to use Broadcast’s subscriber API instead. The API accepts the same basic data (email, name, tags) with a different endpoint and authentication method.
Step 7: Set Up Webhooks and Integrations
If you had integrations connected to Mailchimp (via Zapier, direct API, or webhooks), you’ll need to reconnect them.
- Zapier. Update your Zaps to use Broadcast’s API endpoints instead of Mailchimp triggers/actions. You can use Zapier’s webhook integration to connect to Broadcast’s API.
- Direct API integrations. Update API calls from Mailchimp’s API to Broadcast’s REST API. See the API documentation for endpoints and authentication.
- Webhook endpoints. Set up webhook endpoints in Broadcast to receive real-time notifications about subscriber events, delivery status, and engagement metrics.
Step 8: Verify and Test
Before declaring the migration complete, run through this verification checklist:
- Send a test broadcast. Create a short broadcast and send it to yourself. Verify that it arrives, displays correctly, and that tracking links work.
- Check subscriber counts. Compare the number of imported subscribers in Broadcast to your exported count from Mailchimp. Small discrepancies can happen from deduplication or invalid email filtering.
- Test a sequence. Enroll a test subscriber in one of your sequences and confirm that each step fires on schedule.
- Verify opt-in forms. Submit a test entry through each of your replaced forms and confirm that subscribers appear in Broadcast.
- Test unsubscribe flow. Click the unsubscribe link in a test email and verify that the subscriber is properly unsubscribed.
- Check webhook delivery. If you configured webhooks, trigger an event and confirm that your receiving endpoint gets the payload.
What Doesn’t Transfer
Some Mailchimp features don’t have equivalents in Broadcast. Be aware of what you’ll need to handle separately:
- Landing pages. Mailchimp landing pages don’t migrate. Use a standalone landing page tool or your website instead.
- Ad campaigns. Google and Facebook ad integrations are Mailchimp-specific.
- Social media posting. Broadcast does not include social media management.
- CRM data. Mailchimp’s contact profiles with notes and activity logs don’t export in a usable format. Relevant data should be captured in subscriber custom data fields during import.
- Historical campaign analytics. Open rates, click rates, and engagement data from past Mailchimp campaigns cannot be imported.
DNS Considerations
If you’re changing your email sending infrastructure as part of this migration (e.g., moving from Mailchimp’s shared IPs to your own ESP), update your DNS records:
- SPF – add your new ESP’s sending servers to your SPF record
- DKIM – add the DKIM records provided by your ESP
- DMARC – ensure your DMARC policy is set up and monitoring is enabled
Your ESP’s documentation will provide the specific DNS records needed. Broadcast’s Domain Names guide covers this in more detail.
Post-Migration Checklist
- All subscribers imported and verified
- Suppression list populated with Mailchimp unsubscribes and cleaned contacts
- Templates recreated and tested
- Sequences rebuilt and tested
- Opt-in forms replaced on website
- API integrations updated
- Webhook endpoints configured
- DNS records updated for new ESP
- Test broadcast sent and verified
- Mailchimp account downgraded or canceled (only after confirming everything works)