Migrating from another email platform
Move your audience and email operation in stages: preserve opt-outs first, send to your most engaged subscribers, then expand as delivery results allow. Keep each recipient assigned to one platform for each send while you transition. For a tested walk-through with Mailchimp and Kit exports, see Move from Mailchimp or Kit without emailing people who opted out.
Prepare Mimeo and a migration plan
Complete Getting started before moving live sending: deploy the app, connect your provider and sending domain, configure media storage, check the footer and unsubscribe experience, and deliver a test email to yourself. Resend is the simplest starting point; Postmark is also supported. Use the sending setup guide for either provider.
Your Mimeo Manager workspace and a coding agent can help inventory the current platform, map exports, build segments, and review each batch. Give the agent a plan to review before any imports or sends. Record:
- What moves: active subscribers, suppressions, consent and subscription dates, tags and fields, templates, signup forms, automations, and integrations.
- Which platform owns each newsletter cohort and each automation during the transition.
- How new signups and opt-outs will be reconciled while both tools are in use.
- Who approves imports, audience changes, and live sends.
Keep the original exports securely outside the manager repository. A manager snapshot holds authored definitions and media, not subscriber records or a database backup. Do not commit subscriber CSVs or API tokens.
Import suppressions before active subscribers
Export unsubscribes, hard bounces, complaints, and other do-not-send addresses from the current platform. Import them into Mimeo first, using CSV import with Import everyone as already unsubscribed enabled. An address omitted from the active list still needs a suppression record so a later import cannot make it sendable.
For a mixed file, map a normalized column to Already unsubscribed. Use a recognized value such as true, 1, yes, or a timestamp; do not assume labels such as bounced or suppressed will be recognized. A separate suppression-only file with the whole-file switch is simpler to verify. Keep any original reasons in your migration records: CSV suppression is recorded as an imported unsubscribe, not as a reconstructed provider event.
Review the import report and check sample records under People. Already-unsubscribed people stay suppressed through subsequent CSV imports. Never resubscribe someone merely because they appear in another export.
Preserve subscribe dates and cohort information
Map the original join date to Subscribed on. Imports only move this date earlier, so batches arriving in a different order do not rewrite an older subscription date. Keep your consent evidence separately; a subscription date alone is not proof of permission to send.
Bring useful fields and tags, including the source platform and a migration cohort. For example, migration-wave-1 identifies your first group. Import tags are additive; rerunning a file does not remove earlier tags. Use the import's fill-or-overwrite choice deliberately and review a small sample before committing the full batch.
Build segments from those fields or tags. Mimeo's engagement score starts new subscribers at a neutral value; it does not automatically know their engagement in your previous tool. Use your exported recent clicks, replies, or other reliable engagement evidence to select the first cohort.
Review automations before importing history
Leave Treat this import as history, so it triggers nothing enabled when moving an existing list. This is on by default and marks import-generated events as historical. Flows ignore them by default, but a flow can explicitly opt in with trigger.ignore_historical: false.
Before importing, inspect the relevant flows and scheduled queue, and pause or cancel any automation or pending send that should not run during migration. The history checkbox does not cancel mail already queued. Keep rebuilt automations inactive until you have tested them and assigned a cutover owner.
For event backfills through the API, read the historical-event contract first and test a small batch. Do not treat a history flag as a global sending pause, especially when also changing person fields or tags.
Choose the active audience deliberately
Only send to people with current permission who can reasonably expect your email. Exclude stale or uncertain-consent addresses from active cohorts; retain the suppression records that prevent future accidental sends. Moving platforms is not a reason to reactivate people who opted out or to send to a years-cold list.
Transition over three newsletters
For a weekly newsletter, plan roughly three weeks and three sends. This is a starting schedule, not a promise that every audience can move that quickly. Follow your sending provider's limits and slow down if delivery signals worsen.
| Send | Mimeo audience | Current platform |
|---|---|---|
| Week 1 | A small first cohort of your most engaged, opted-in subscribers. | The remaining eligible subscribers, explicitly excluding the Mimeo cohort. |
| Week 2 | The first cohort plus another engaged batch, if week 1 results support expanding. | The remaining eligible subscribers, excluding everyone now assigned to Mimeo. |
| Week 3 | The remaining eligible audience if delivery remains healthy. Extend the transition if needed. | Only subscribers not yet assigned to Mimeo; none once cutover is complete. |
Import each additional cohort after reviewing the preceding send. Before each newsletter, refresh suppressions in both platforms, compare recipient counts, and verify that the two audiences do not overlap. A subscriber should receive that newsletter from exactly one tool.
Review reporting and your provider's delivery results after every send: bounces, complaints, unsubscribes, and engagement. Investigate deterioration before expanding; do not increase volume just because the next week has arrived.
Cut over in one direction
Rebuild and test emails, layouts, sequences, and flows before enabling them. Copying definitions does not move a person's position inside an old automation. Decide how existing journeys will finish or transfer, then disable the old equivalent before enabling a Mimeo flow for the same audience.
Point signup forms, checkout, and application integrations at Mimeo's events API at an agreed cutover time. Test a signup and inspect its People timeline. Record each integration in your manager workspace so your agent can see which system owns it.
Before retiring the previous platform:
- Reconcile new signups, updated fields, and suppressions since the first export. Apply suppression changes before new active batches.
- Check both tools for scheduled broadcasts and in-progress automations that could still send.
- Verify ongoing signups reach Mimeo once, opt-outs remain suppressed, and no newsletter audience overlaps.
- Keep the exports and any required consent records securely. Preserve old media URLs that already-sent emails still reference.
- Retire the old sending setup only after delivery, integrations, and remaining journeys are accounted for.
What Mimeo handles for you
Mimeo enforces suppression at send time, and CSV imports do not automatically resubscribe people. Those protections rely on bringing over the suppression data; Mimeo cannot infer an opt-out left behind in another platform. Keep checking the scheduled queue and recipient segments throughout the transition.
Continue using Mimeo Manager for regular snapshots of definitions and media, reviewed edits, and the bundled import and auditing skills. Use the CLI for file changes, MCP for agent tools, or the web UI for direct work.