Migrating from Mailchimp to AWS SES: the complete checklist
Migrating from Mailchimp sounds daunting. In practice, it's a half-day job if you follow the right order. This checklist has been tested by SES Mailbox users who have moved lists of all sizes — from 2,000 contacts to 280,000.
Complete migration checklist
| Step | Task | Time |
|---|---|---|
| 1 | Request AWS SES production access | 5 min (then wait 24h) |
| 2 | Verify sending domain in SES console | 10 min (then wait 30–60 min DNS) |
| 3 | Add SPF, DKIM, DMARC records to DNS | 10 min (included in step 2) |
| 4 | Create IAM user with SES permissions | 5 min |
| 5 | Connect AWS credentials to SES Mailbox | 2 min |
| 6 | Export active audience from Mailchimp | 5 min |
| 7 | Export unsubscribes from Mailchimp | 5 min |
| 8 | Export hard bounces from Mailchimp | 5 min |
| 9 | Import suppressions into SES Mailbox FIRST | 10 min |
| 10 | Import active subscribers into SES Mailbox | 10 min |
| 11 | Recreate key segments | 20 min |
| 12 | Send test campaign to seed list | 15 min |
| 13 | Begin 4-week warmup | 2–4 weeks parallel sending |
| 14 | Pause Mailchimp automations | 15 min |
| 15 | Cancel Mailchimp subscription | 5 min |
Phase 1: Prepare your AWS account
Request production access before anything else — it takes 24 hours on average and you can do everything else while waiting. See our guide on getting approved fast for word-for-word answers to the application form.
Verify your domain in Verified Identities → Create Identity → Domain. AWS gives you four DNS records. Add all of them. Propagation is typically under 30 minutes but can take up to 72 hours on slow DNS providers like GoDaddy.
Phase 2: DNS record migration guide
# 1. SPF record (TXT on your root domain) @ TXT "v=spf1 include:amazonses.com ~all" # 2–4. DKIM CNAME records (AWS gives you exact values) abc123._domainkey CNAME abc123.dkim.amazonses.com def456._domainkey CNAME def456.dkim.amazonses.com ghi789._domainkey CNAME ghi789.dkim.amazonses.com # 5. DMARC record (start with p=none, monitor first) _dmarc TXT "v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com; pct=100" # Note: if you had Mailchimp's DKIM records in DNS, # you can remove them after you cancel Mailchimp. # Do NOT remove them before canceling or existing # queued emails may fail authentication.
Phase 3: Subscriber export and import
In Mailchimp: Audience → Manage Audience → Export Audience. You get a ZIP with multiple CSV files. You need:
subscribed_members.csv— your active listunsubscribed_members.csv— people who opted outcleaned_members.csv— hard bounces
CSV column mapping for SES Mailbox import:
Mailchimp column → SES Mailbox field ────────────────────────────────────────── Email Address → email (required) First Name → first_name Last Name → last_name MEMBER_RATING → (skip or custom field) OPTIN_TIME → (skip) CONFIRM_TIME → (skip) TAGS → tags (comma-separated) Any custom merge tag → custom field (same name)
Phase 4: Pre-send checks
Before your first real send, run through this checklist:
- Send a test to addresses at Gmail, Outlook, and Apple Mail — does it land in inbox?
- Check the From name and From address look correct
- Click every link in the email — are they working?
- Click the unsubscribe link — does the hosted unsubscribe page load?
- View on mobile — does the template render correctly?
- Check spam score on mail-tester.com (aim for 9.5+)
Total time: Most migrations take 3–6 hours end to end, including DNS propagation wait time. The actual hands-on work is closer to 90 minutes.
Frequently asked questions
How long does a Mailchimp to AWS SES migration take? +
Most migrations take 3–6 hours of hands-on work, plus 24 hours of waiting for DNS propagation and AWS production access approval. The actual clicking and uploading is under 2 hours. The rest is waiting. Schedule a weekend or a low-traffic weekday so you are not under pressure.
Will I lose my subscriber history and tags when I migrate? +
You will lose open and click history from past Mailchimp campaigns — that data lives in Mailchimp and cannot be exported meaningfully. You can export and import subscriber tags, custom fields, and segment assignments as CSV columns. What matters most is bringing over your unsubscribes and hard bounces, which you must do before sending.
Do I need to re-verify subscribers after migrating? +
No, provided you can demonstrate the original opt-in. Your existing subscribers gave consent to your brand, not to Mailchimp. You are simply changing the technical infrastructure. However, if your list is older than 12 months and has not been mailed recently, consider a re-engagement campaign before the full migration to clean out cold addresses.
What happens to subscribers who are in Mailchimp automation sequences? +
Contacts mid-flow in Mailchimp automations will be paused when you cancel Mailchimp. Rebuild critical automations in your new stack before canceling. For less critical sequences, it is acceptable to let them expire. Make a list of every active automation before you start the migration.
Can I keep my Mailchimp account active during the warmup period? +
Yes, and this is the recommended approach. Keep Mailchimp active during the 2–4 week warmup period. Send smaller warmup campaigns through SES Mailbox while continuing regular sends through Mailchimp. Once warmup is complete and you are confident in deliverability, flip fully to SES Mailbox and cancel Mailchimp.
What CSV columns does SES Mailbox accept for subscriber import? +
Required: email. Recommended: first_name, last_name. You can add any custom fields as additional columns — SES Mailbox maps them on import. The status column accepts "subscribed", "unsubscribed", and "bounced" values. Import suppressions separately using the Suppressions import tool, not the contacts import.
