Do not connect a whole Mailchimp audience to Brevo until you have separated people who may receive marketing from those who must stay suppressed. Brevo’s Mailchimp integration guide says synced contacts become subscribed in Brevo, while later subscription-status changes in Mailchimp are not reflected there. The integration moves and updates contact data; its documented features do not include transferring automation definitions. A dependable migration therefore has two tracks: reconcile contact and permission state, then rebuild and test each live journey before changing which platform sends it.

This guide uses Mailchimp and Brevo documentation checked on October 3, 2026. Your actual audience, permission records and automation configuration determine which records are eligible and which paths can be reproduced. Preserve access to the source account and an export while validating the new setup.

Choose the contact route by status, not convenience

A Mailchimp migration separates reviewed eligible contacts, excluded contacts that must stay blocked for the relevant campaign channel, and uncertain contacts held for review.
Status mapping comes before connector activation; an imported row count does not prove the destination is safe to send to.

The connector can be useful for a carefully selected eligible cohort. It supports contact import and updates, up to one million contacts under the current integration limits. But its automatic subscription behavior makes an unfiltered whole-audience sync unsafe when the Mailchimp audience includes unsubscribed, cleaned or otherwise excluded records. Its subscription-status limitation also means a later unsubscribe in Mailchimp cannot be treated as an automatic Brevo update. Before enabling ongoing sync, identify how a status change will reach Brevo and who checks it until Mailchimp stops sending.

Brevo states that contacts synced through this integration must have consented to updates within the last two years. That is a condition in Brevo’s connector instructions, not a universal legal rule or proof that a particular contact can be emailed. Review the evidence and applicable rules for each audience before selecting a sync cohort. A contact being marked “subscribed” in one system is a starting data point; it does not resolve a missing or contradictory permission history.

Use a controlled export and import when you need to stage several source statuses, reconstruct channel blocklists or examine fields before any record is made sendable. The Brevo import guide provides separate campaign blocklist settings for email, SMS and WhatsApp. Its importer can overwrite existing attributes, and an empty source field can erase a populated destination value. Review field mapping and the final import settings on a small, known batch before importing the audience. A generic contact-cleaning procedure, including duplicates and suppression handling, is covered in the contact migration checklist; the additional issue here is the Mailchimp connector’s particular status behavior.

The connector also does not bring over Mailchimp tags or composite address attributes under its documented limitations. Before choosing it, list every tag used to enter a flow, exclude a segment or personalize a campaign. Decide what each tag should mean in Brevo and which source record will populate the replacement field or list. A tag that nobody uses can be archived in the manifest; a tag controlling a welcome flow cannot be silently dropped. Treat addresses similarly: if a message needs a city or postal detail, verify that the required values arrive in the destination fields you plan to use. A connector that moves an email address successfully can still leave the automation without its entry condition.

Preserve a source snapshot that explains each cohort

Export before deleting, combining or changing the audience. Mailchimp’s export instructions describe subscribed, non-subscribed, unsubscribed and cleaned contacts in audience exports; the ZIP may contain separate CSV files by status. Report, open and click data are omitted. Archived contacts need separate export handling, and prepared export files are available for 30 days, so store the downloaded source snapshot in a controlled location you can access during the cutover. Restrict access because it contains customer information.

For each cohort, record more than a row count. A working manifest might look like this:

Scroll horizontally to read all columns.

Source cohortKeep from MailchimpIntended Brevo stateCheck before activation
Eligible subscribed contactsSource ID, address, permission evidence pointer, relevant fieldsSendable only after eligibility reviewSample records show expected status and attributes
Unsubscribed contactsSource ID, address, unsubscribe details and channelCampaign email blockedA sample remains blocked after import
Cleaned or otherwise undeliverable contactsSource type and available failure contextHeld out or blocked according to the reviewed policyNo accidental sendable record
Non-subscribed or uncertain contactsSource type and unresolved permission noteHold pending reviewNo campaign enrollment
Archived contacts, if neededSeparate export and reason for archivingExplicit hold or documented destinationNo automatic reactivation

These are decisions to record, not automatic mappings that fit every business. Keep source audience ID, tag or group meaning, destination contact ID, target campaign channel, import batch, and a person responsible for unresolved rows in the full manifest. Reconcile source row counts, unique identities, imported rows, existing matches, invalid rows and blocked rows. A lower destination count may reflect deduplication or invalid data; do not assume the reason from the total alone. Brevo’s blocklist import report gives added, existing and invalid counts that help locate differences.

Permission evidence can vary by how Mailchimp collected the contact. Its GDPR FAQ says some hosted-form exports include opt-in time and IP fields, and confirmed opt-in or GDPR permission fields can appear depending on the form and audience configuration. Combining audiences can leave OPTIN_TIME unavailable. Inspect the columns you actually receive rather than assuming every record has the same evidence. Where evidence is missing or a status is ambiguous, flag the row for review rather than filling the gap with a guess.

Keep the manifest at the level where a person can explain a discrepancy. Suppose a source export has a subscribed CSV, an unsubscribed CSV and a separate archive export. Count each separately before deduplicating addresses; an address can appear in more than one source file or audience. Record the rule used to select its destination state and flag conflicts for review. Then compare the planned eligible count with contacts that are actually sendable in Brevo, rather than declaring the migration complete because the import report says rows were processed. The first number reflects your decision about permission; the second reflects what the destination would do if a campaign were activated.

Import exclusions in separate channel batches

Brevo’s blocklisted-contact import instructions apply the selected blocked campaign channels to every row in that file. A file of email-only exclusions therefore should not be casually imported with SMS or WhatsApp also selected. Separate cohorts when their channel restrictions differ, and record the settings used for each batch. Then inspect sample contacts in Brevo, including one intended to remain sendable and one blocked for each relevant channel.

Do this before activating any campaign or automation. If the connector is also running, check whether it can reintroduce or update a contact after the blocked batch is staged. Because the documented connector does not mirror Mailchimp subscription-status changes, the owner of this migration needs an explicit way to handle changes during the overlap period. Review the destination state again immediately before the first live send.

Rebuild the automations as workflows, not just emails

An automation is a trigger, a timing rule, possible branches and exclusions, and one or more messages. Moving only its text can change who enters it or when an email arrives. Brevo’s automation documentation lists triggers, rules and actions that can be used to construct a replacement. The Mailchimp connector feature list describes contact sync, not an import of existing journey definitions. Plan to map each important flow and verify the destination version contact by contact.

Create one row per active Mailchimp path:

Scroll horizontally to read all columns.

Source item to documentDestination questionAcceptance check
Entry trigger and audience segmentWhich Brevo event or contact condition starts it?Test contact enters exactly once
Delay and sending windowWhen is the next message due?Observed schedule matches intended timing
Branch and exclusion rulesWhich contacts should stop or take another path?Eligible and excluded contacts take different expected paths
Email and personalization fieldsWhich template and attributes produce the message?Preview and delivered test contain correct values
In-flight contacts and next scheduled actionShould they finish in Mailchimp, start at a mapped Brevo step, or be held?No duplicate send and no unplanned gap

The last row requires the most care. A person halfway through a Mailchimp sequence does not automatically have the same position in a newly built Brevo automation. For each current journey, count or identify the in-flight cohort and decide its next message. Some contacts may finish under the old system while new entrants start under Brevo; others may need a carefully controlled transfer. Record which platform owns each cohort during the overlap. Do not import every in-flight contact into a new entry trigger and assume it will continue at the right step.

If a welcome series is being rebuilt, the five-email sequence guide can help document the messages and branches. The migration sheet still needs the source trigger, current position and exclusion rules. Check the target plan’s contact and send limits using the monthly send worksheet before moving a flow that could enroll a large audience at once.

Templates need their own portability check

Mailchimp documents HTML export for custom-coded templates but says its drag-and-drop templates cannot be exported using that method. Brevo’s template-sharing import is for Brevo-to-Brevo sharing; third-party HTML belongs in its HTML editor. This does not mean every Mailchimp design must be rebuilt from scratch, nor that pasted HTML will render identically. Inventory the templates used by live flows, decide whether to rebuild or bring custom HTML across, and check merge fields, links, sender details and mobile rendering with controlled recipients.

The first delivered test should exercise real personalization, including a record with a missing optional field. A pretty preview with one ideal record does not reveal whether a fallback greeting, product value or preference link works for the rest of the audience. Keep the source template available until the new output is accepted.

Cut over one message path at a time

The safe sequence is a controlled handoff, not a single “migrate” click. Preserve a read-only source export and the flow inventory. Stage contact cohorts and blocklists, then build destination workflows with test contacts. Confirm the sender and account are ready to send before pausing a source journey. Mailchimp’s bulk-action limits note that automation flows can restrict some audience combine or delete actions, so avoid deleting journeys as a shortcut to cleanup. Keep them available for inspection and a possible rollback while you validate.

For each flow, agree on a cutover time and an owner who can see both accounts. Stop new eligible entrants from starting the old path when the new one is ready, while giving existing in-flight contacts their documented next action. Activate the Brevo path for a small, controlled cohort first. Send one test contact through the normal path and another through each material exclusion or branch. Compare the source and destination automation records and the recipients’ inboxes after the expected delays. A pass means the right contact received the right number of messages at the intended step; merely seeing one successful send is insufficient.

If the contact count, blocked status, trigger or next-message timing differs, hold that path and correct the mapping before expanding the cohort. Retain the source account and exports for a defined verification window, with a named person able to restore its sending path if Brevo is not ready. Running both live paths for the same entrant risks duplicate email; stopping Mailchimp too early risks a missed message. The recorded cohort owner and next scheduled action tell the team which risk it is controlling.

Use a short written acceptance record for each path: the source cohort and count, the Brevo cohort and count, one sendable test contact, one blocked test contact, the expected next event, the actual event time, the sender and the number of messages received. For a branched flow, add a contact for each branch that changes the outcome. Name the person who can say “go” and the person who can restore the previous route. This record is especially useful when a delay means the result will appear hours or days after the settings were changed. Wait until the expected window has passed; an empty inbox immediately after activation is not evidence that the trigger is broken.

After expanding, monitor the first real cohort for the same signals. If a contact is unexpectedly subscribed, stop the affected campaign or flow while checking its source status and import batch. If an automation sends twice, inspect whether both platforms owned the entry event or whether Brevo admitted the contact twice. If no message sends, check the trigger event, eligibility and sender readiness in that order. Correct the specific broken path and rerun its controlled case before continuing; a broad audience resend could turn a mapping mistake into duplicate mail for everyone.

Before the first wider Brevo send, compare the current source opt-outs with the staged destination blocklist once more. The connector’s status limitation makes this final check particularly important during an overlap period. Keep the migration manifest and workflow table afterward: they explain why a given contact was sendable, blocked, held or assigned to a particular next step when someone later asks about an unexpected email.

Get started
Get Brevo

Check contact eligibility, subscription state, required automation triggers and the current account plan before starting a live cutover.

Sources and checking

Product terms can change. These are the sources checked for this article; follow the links to verify current details before you buy.