Skip to content

Migrate from Mailchimp

How-to guide
For:
Publishers and marketers, Workspace admins
Needs permission:
subscribers:import
In the app:
Import contacts

To migrate from Mailchimp, you connect ReputeCast to your Mailchimp account with an API key and import each audience into a ReputeCast list, with its merge fields, tags, opt-in evidence and every unsubscribe, bounce and complaint. ReputeCast only reads from the Mailchimp Marketing API; nothing is written to Mailchimp.

  • You need the subscribers:import permission (Owner, Admin and Editor have it).
  • Create a Mailchimp API key. In Mailchimp, click your profile icon, choose Profile, open Extras › API keys and click Create A Key. Copy the key when it is shown: Mailchimp displays it only once. Users with Manager permissions in Mailchimp can create keys, and a key can reach what its creator can. Keys created since June 22, 2026 expire one year after creation. Source: Mailchimp, About API Keys (checked October 2026).
  • Read how a migration carries consent if this is your first import.
  1. Open Import contacts at the bottom of the sidebar and choose Mailchimp.

  2. Paste the whole key, including the data center suffix after the dash (for example -us21), and select Connect. The Data center box fills in from the suffix. When the key works, the wizard shows the account name and its audiences with their subscribed, unsubscribed, cleaned and pending counts.

    Mailchimp selected in the Import contacts wizard: the key is connected to the account Acme Inc, data center us21, and the Acme Customers audience goes into the Product Updates list, with 9 tags to import.
  3. Tick the audiences to import and pick the ReputeCast list each one goes into, or a new list. Leave Import tags as ReputeCast tags on to keep Mailchimp tags, and keep pulling suppressions from your sending providers on. Continue to field mapping: ReputeCast now reads every member of the chosen audiences in the background.

  4. Check the field mapping. EMAIL is required; merge fields such as FNAME and LNAME are matched to ReputeCast fields from their names and sample values, and new custom fields are created for the rest. Address and phone merge fields are listed last and skipped unless you map them.

  5. On the consent step, check what each Mailchimp status becomes (see the next section). Keep trusting Mailchimp’s opt-in when your audience used double opt-in; choose Re-permission everyone first for older or single opt-in audiences.

    Consent step for a Mailchimp audience: 12,480 subscribed contacts stay subscribed with their opt-in date and IP as evidence; 1,033 unsubscribed, 212 cleaned and 14 abuse complaints are locked to suppressions, 1,259 addresses in all.
  6. Run the preview, set what happens to risky addresses and to contacts you already have, then start the import. You can leave the page: the import keeps running and you get a notification with the report.

  • Audiences become the ReputeCast lists you chose.
  • Merge fields become contact fields. Dropdown, radio, ZIP code and image URL fields arrive as text; an address field arrives as one line (“street, city, state, ZIP, country”).
  • Tags become ReputeCast tags, in lowercase. Tags longer than 60 characters are dropped.
  • Time zone comes from each member’s location.
  • Opt-in evidence: OPTIN_TIME and OPTIN_IP are stored as consent evidence on each contact, and the signup date becomes the contact’s creation date.
  • Member rating is used once, to find stale contacts: a rating of 1 with no change for two years puts the contact in the Never engaged, 2+ years old group of the preview, which imports them as pending with a re-permission email by default.
Mailchimp status Becomes in ReputeCast
subscribed Subscribed · confirmed, with the opt-in date and IP as evidence (or pending, or Skip)
pending Subscribed · pending, with a re-permission email (or Skip)
transactional Skip (or Subscribed · pending)
unsubscribed Suppressed · unsubscribed: no Broadcasts or Automations, System mail allowed (locked)
cleaned Suppressed · hard bounce, all streams (locked)
In the audience’s abuse reports, whatever the status Suppressed · complaint, all streams (locked); the wizard shows archived with "abuse" complaint
Any other status, such as archived Suppressed · unsubscribed (locked)

New suppressions keep Mailchimp’s reason, such as “cleaned in Mailchimp”, and are pushed to every connected sending provider that keeps its own suppression list. A suppression belongs to the address: a member unsubscribed from one audience gets no Broadcasts or Automations on any ReputeCast list, even when another audience lists them as subscribed.

Campaigns and their reports, per-member open and click history, Customer Journeys and other automations, saved segments, signup forms and email templates are not imported. Rebuild what you need with segments, automations and the composer.

The Mailchimp Marketing API allows 10 simultaneous connections per user and answers 429 when you exceed it. Source: Mailchimp, Rate limits and timeouts (checked October 2026). ReputeCast’s importer sends one request at a time and backs off on its own:

SettingDefaultHow to change
Largest CSV or XLSX file100 MB and 500,000 rows (XLSX reads the first sheet)Fixed
Source API rate limit (429)Up to 5 retries, each after the source's Retry-After (2 s when absent, at most 60 s); then the import pauses and resumes by itself after 1 minuteResume now, or Slow down to 3 req/s on the paused import
Source server or network errorsUp to 5 retries, after 1, 2, 4, 8 and 16 sFixed
  • The summary page shows how many contacts were imported, merged, suppressed, left pending and skipped, and how many each list now has. Download full report · CSV gives every row with what happened to it.
  • Open Audience, then Suppression list: the unsubscribed, cleaned and complained addresses are there with Mailchimp’s reason.
  • Open a contact’s profile: its consent history reads “Imported from Mailchimp by …” with the evidence date.
  • “Mailchimp keys end with the data center, like xxxxxxxx-us21”: you pasted part of the key. Copy the whole key, suffix included.
  • “Mailchimp rejected the API key … from the us21 data center”: the key was revoked or has expired, or it belongs to another account. Create a new key in Mailchimp and paste it in place of the old one.
  • “Mailchimp is rate-limiting us (429), import paused”: another tool is using the same Mailchimp user’s connections. The import resumes by itself after a minute; select Resume now, or Slow down to 3 req/s if it happens again.
  • The ReputeCast list has fewer contacts than the Mailchimp audience: unsubscribed, cleaned and complained members become suppressions, not list members, and transactional members are skipped by default. The report lists every skipped row with its reason.
  • A contact Mailchimp lists as subscribed wasn’t imported: the address was already on the ReputeCast suppression list. A suppression always wins over an import.