Mautic and Mailchimp integration

Mautic can send contacts into Mailchimp lists from contact actions or point triggers. This page covers the plugin method, what must be in place first, and the decisions that determine whether the sync is reliable.

On this page

How the Mautic Mailchimp integration sends contacts to lists

Teams running Mautic and Mailchimp side by side need to know that Mautic's MailChimp plugin sends contacts to Mailchimp lists based on contact actions or point triggers. The trigger is the decision point: a contact action in a campaign, or a point threshold reached on a contact record, causes that contact to be sent to a list, so list membership follows what Mautic already knows about the person. The plugin is the supported method for this, and it is authorized with a MailChimp account username and an API key. Your Mautic configuration decides which contacts qualify and the plugin carries them across. It does not decide which audiences exist in Mailchimp, how those audiences are structured, or whether a given contact should receive a particular email.

The API key is created in Mailchimp under Account, Extras, API Keys, and the plugin needs the account username alongside it. Treat that key as a production credential. Store it with the same controls you apply to other secrets, limit who can view or edit it in Mautic, and record which Mailchimp account it belongs to. During a transition, confirm with the team that administers the Mailchimp account that the key is tied to an account they will keep. A key linked to a single staff member can cause a sudden break when that person leaves, so include the key in your rotation schedule and handover notes from the start.

Before you build campaigns around the plugin, read the plugin documentation for two behaviors that affect your data. First, confirm the sync direction: whether changes made in Mailchimp flow back into Mautic, or whether Mautic is the only system that writes list membership. Two-way updates without a clear owner for each field can produce conflicting records during a transition. Second, confirm whether unsubscribes made inside Mailchimp return to Mautic. If they do not, a contact who opts out in Mailchimp may still be eligible for Mautic campaigns, which creates a consent risk that should be resolved before any send goes out.

Decide early which system owns each list during the transition. A workable plan names the Mautic segments or campaign actions that feed each Mailchimp list, the person who approves changes to those mappings, and the point after which new contacts are no longer added to Mailchimp directly. Test the mapping with a small set of internal test contacts before enabling it for live audiences, and record the results. Ask your implementation partner or the vendor to confirm which plugin version your Mautic release line supports, because plugin behavior can change between releases, and retest after every Mautic or plugin upgrade.

What you need before connecting Mautic to Mailchimp

The Mailchimp plugin needs three things in place: a Mautic installation on a supported release with its background processes running, a Mailchimp account with the audiences you plan to feed, and a network path that lets the Mautic server call Mailchimp. Work through these before configuring the plugin so that failures surface during setup, not in live campaigns.

Supported Mautic release line

Choose a release line that still receives security support for the full length of your rollout. Check the Mautic releases page and the requirements page together, because a line can be supported on paper but still be incompatible with the PHP version your server runs. As an illustration, Mautic 7.2 has security support through 30 September 2026, and Mautic 7.3 is planned as the long-term support release with security support through 31 December 2027. Confirm these dates on the day you start.

Server and database requirements

Mautic 7.0 requires PHP 8.2, 8.3, 8.4 or 8.5, MySQL 5.7 or higher with InnoDB or MariaDB 10.2 or higher, and Apache, Nginx or IIS. From Mautic 5.0 onward, npm is also required. The project states that Mautic should not run on shared hosting, so plan a VPS or dedicated server. Ask your hosting provider to confirm the PHP extensions, scheduler access and root or sudo rights you need before you commit to a platform.

Cron jobs and messenger consumer

Mautic depends on cron jobs for segment updates, campaign updates and campaign triggers, and the documentation says these jobs should be staggered. The broadcasts command handles segment emails, and a messenger consumer must run whenever emails are queued. Because the MailChimp plugin acts on contact actions and point triggers, a stalled campaign process delays contacts from reaching Mailchimp. Confirm that your scheduler keeps these processes running and restarts them after a server reboot.

Target Mailchimp audiences

Create each Mailchimp audience before you configure the plugin, because the integration sends contacts into lists that already exist. Decide which Mautic segments or campaign actions map to which audience, and document the field names so they match your Mailchimp merge fields. Check that each audience has the consent language and opt-in settings your organization requires. Confirm with the Mailchimp account owner who is allowed to change list structure.

API key and owner authorization

Create the API key under Account, Extras, API Keys in Mailchimp. The plugin authorizes with your Mailchimp account username and that key, so the key is tied to the account that owns the audiences. The owner of the Mailchimp account must authorize the key, so involve them early. Record who holds the key, store it in your secrets manager rather than a shared document, and plan a rotation whenever ownership or the integration changes.

Outbound network access from Mautic

The Mautic server must reach Mailchimp's API over outbound HTTPS through the egress path you control. Check firewall rules, proxies and any egress allow lists, since a blocked request can look like a sync that never happened. Test the connection from the same server and user that runs cron and the messenger consumer, not from a workstation. Record the destination hostnames your security team approves so the rule stays documented.

When Mautic adds contacts to Mailchimp lists

The MailChimp plugin sends contacts to MailChimp lists from two trigger points: contact actions in campaigns and point triggers. Each one fires at a different moment, so each produces a different timing pattern. A contact action runs when a contact reaches that step in a campaign, which means the timing depends on the campaign flow, any wait steps before the action and the point at which Mautic processes the contact. A point trigger runs when a contact's points reach the threshold you set, so timing depends on when the activities that award points happen. Before you choose, map which list each trigger should feed and how many contacts you expect each one to send.

Cron jobs decide how quickly a contact reaches the action. Mautic depends on cron jobs for segment updates, campaign updates and campaign triggers, and its documentation says these should be staggered rather than run at the same time. Campaign updates move contacts through campaign steps, and campaign triggers evaluate the events that start or continue a campaign. A contact can only reach a Mailchimp action after the relevant jobs have processed it, so it may wait one or more cycles after it qualifies. Confirm how often each job runs in your environment, set the schedule so the jobs do not overlap, and tell your marketing team that a delay between qualifying and syncing is normal.

Adding a contact to a list is a Mautic decision. The plugin does not choose who joins a Mailchimp audience. Mautic does, based on the campaign step or point threshold that fired. That makes segment membership and campaign logic the controls that decide who is sent to Mailchimp, so they need to be designed before the connection is switched on. Write down the entry condition for each list, the exit condition, whether a contact can enter more than once, and which contacts must never be sent, such as those who have withdrawn consent. Review those rules with the people who own consent and list hygiene, not only the campaign builders.

Test with a controlled set before going live. Confirm that the MailChimp account username and the API key created under Account, Extras, API Keys are valid for the account and audience you intend to use. Then run the campaign or point trigger against a small group of test contacts that you define and label as test contacts. Check in Mailchimp that each contact lands in the expected list, that no unexpected contacts arrive, and that the timing matches your cron schedule. Confirm with the plugin documentation how updates and removals are handled before you enable it for production contacts.

Connecting Mautic to Mailchimp step by step

This sequence connects a self-hosted Mautic instance to Mailchimp so that contacts from a test campaign reach a chosen Mailchimp audience. It ends with a verified contact in the target list, which gives your team a checkpoint before any live campaign depends on the connection.

  1. Confirm Mautic and cron health first

    Your Mautic administrator checks that the instance runs on a supported release and that cron jobs execute on schedule. The Mautic cron documentation covers segment updates, campaign updates and campaign triggers, which should be staggered, plus a messenger consumer when emails are queued. Campaign actions only fire when these jobs run, so a stalled cron can make a Mailchimp test look broken when the fault is elsewhere. Done when the scheduled jobs show recent successful runs and a test campaign trigger is processed on its next cycle.

  2. Create a Mailchimp API key

    A Mailchimp user with access to the target account opens the account menu, goes to Extras, then API Keys. Create a new key with a label that names this Mautic instance so it can be identified and rotated later. Copy the key into your organization's secrets manager at once, because you will paste it into Mautic in a later step. Done when the new key appears in the API Keys list with its label. Confirm exact menu names against the current Mautic MailChimp plugin documentation for your version and against Mailchimp's own interface, since labels can change.

  3. Install and enable the MailChimp plugin

    A Mautic administrator installs the MailChimp plugin using the method your deployment already uses for plugins, then enables it in the plugin settings. Check the plugin list to confirm the MailChimp entry shows as enabled and that the integration appears in the integrations configuration area. Done when the MailChimp integration is listed as available in Mautic and the logs show no plugin load errors.

  4. Authorize Mautic with username and API key

    In the MailChimp integration settings in Mautic, enter the Mailchimp account username and the API key from the earlier step, then save. Mautic attempts authorization on save, so the integration status should change to authorized. If it fails, check for stray spaces in the copied key, confirm the key belongs to the intended Mailchimp account, and confirm the user has the access needed on that account. Done when the integration reports a successful authorization and no error appears on the page.

  5. Confirm target lists in plugin configuration

    Open the MailChimp integration's feature settings and check that the audiences you plan to use appear in the list selector. Select only the lists that a campaign will write to, and record each list's name and ID, because changes made later inside Mailchimp can break an existing mapping. Done when the target audience is visible and selectable in the plugin configuration and you have written down its name for the test.

  6. Add the contact action to a test campaign

    Create a test campaign that targets a single segment containing only a contact you control, with a mailbox you can check. Add the MailChimp contact action or a point trigger that sends contacts to the target list, and keep the campaign unpublished until the action is saved and reviewed. Done when the campaign shows the action saved with the correct Mailchimp list selected, and the campaign is published so the next cron cycle can process the test contact.

  7. Verify the test contact in Mailchimp

    After the campaign processes the test contact, search for that email address in the target Mailchimp audience. Check that the contact appears in the correct list and that the fields you expected to send are populated. If the contact is missing, review the campaign log in Mautic, the cron run history from the first step, and the list selected in the action. Done when the test contact appears in the target Mailchimp audience with the expected fields, and you record the result before enabling any live campaign.

Mapping Mautic contacts and campaign actions to Mailchimp lists

This table compares each Mautic element with its Mailchimp counterpart and sets out the decision your team should record before the first push. Read it as a checklist, where every row needs a written answer agreed before configuration starts. Field-level mapping is confirmed in the plugin configuration, so no mapping defaults are assumed here.

Mautic elementMailchimp elementDecision to record
Contact identityAudience member matched by email addressConfirm email is the match key and decide how blank or invalid addresses are skipped
Contact fieldsMerge fields in the target listList each Mautic field, its Mailchimp merge field and the mapping confirmed in the plugin configuration
Campaign action targeting a listTarget Mailchimp list for that actionAssign one list per campaign action and decide whether a contact may enter more than one list
Trigger for the pushAdd or update request sent to the listChoose a contact action or point trigger and confirm which events start the push
Duplicate handlingExisting audience member with the same emailDecide whether an existing member is updated, skipped or left unchanged, and name the owner of that rule
Unsubscribes and removalsMember status within the listDecide whether Mautic unsubscribes should reach Mailchimp and confirm the direction of sync
Mapping defaultsPlugin field and list settingsDo not assume defaults; confirm every mapping in the plugin configuration before go-live

Securing the Mailchimp API key and contact data in Mautic

The Mailchimp plugin authenticates with an API key that can read and change your Mailchimp lists, so the key, the people who can see it, and the Mautic server that uses it all need controls. The cards below cover the key itself, the server and background jobs that send contacts, and the fields that leave Mautic for Mailchimp.

Store the API key as a secret

The MailChimp plugin is authorized with your MailChimp account username and an API key created under Account, Extras, API Keys. Enter the key only in the plugin configuration and keep it out of spreadsheets, tickets, chat threads and configuration files committed to version control. Confirm with your team where the Mautic database backups go, because a backup holds the key in the same form as the live configuration.

Restrict plugin configuration by role

Anyone who can open the plugin settings in Mautic can usually see or replace the API key, so review which user roles can access the integration configuration. Give marketers permission to build campaigns that use the Mailchimp action without giving them edit rights over credentials. Check the role matrix after each change and confirm that former contractors and shared logins no longer hold access.

Rotate the key and dedicate it

Create a new key and replace the old one whenever someone with access to the plugin leaves or changes role. Use a separate Mailchimp API key for each Mautic instance or tool that connects to Mailchimp, so that revoking one key does not stop unrelated systems. Record the rotation date and the owner of each key so the next review has a clear starting point.

Harden the web endpoint and background jobs

Serve the Mautic web interface over TLS so logins and API traffic are encrypted in transit. Mautic depends on cron jobs for segment updates, campaign updates and campaign triggers, and on a messenger consumer when email is queued. Run these jobs under a dedicated service account with only the permissions they need, and confirm that shell access and queue monitoring tools are limited to the same operators who administer the server.

Run a supported Mautic release line

Mautic publishes monthly patch releases, minor releases every three months and major releases every two years. Mautic 7.2 receives security support until 30 September 2026, and Mautic 7.3 is planned as the long-term support release with security support through 31 December 2027. Confirm current support dates on the Mautic releases page before you plan an upgrade, and check that your PHP and database versions meet the Mautic requirements.

Limit contact fields sent to Mailchimp

The Mailchimp integration sends contacts into a list, so every mapped field becomes data held by a third party. Map only the fields the Mailchimp audience needs, such as email address and the merge fields used in your templates, and leave out internal scoring, notes and sensitive attributes. Review the mapping whenever a campaign adds a new field, and confirm with your legal or privacy team which consent status should travel with each contact.

Testing the Mailchimp sync before campaigns go live

Before any production list is targeted, run a scripted test of the Mautic to Mailchimp sync with a small, known set of contacts and record what you expect to happen at each step. The sync is triggered by Mautic contact actions or point triggers, so a mistake in campaign wiring or Mailchimp list selection will send real subscribers to the wrong audience. A dedicated test list in Mailchimp is the first control: create it in the Mailchimp account the integration will use, give it a name that makes it obvious it is for testing, and never point test campaigns at a production list.

In Mautic, create a small set of test contacts, for example a handful of records with different field values including one with an empty optional field and one with a character set your Mailchimp audience must accept. Build a test campaign with one contact action that sends the contact to the test Mailchimp list and one point trigger that fires when the contact reaches a set point value. Keep the campaign as simple as possible so that any failure points to a single component. Confirm in the MailChimp plugin settings which authorized account and list the action uses, because the plugin is authorized with the MailChimp account username and an API key created under Account, Extras, API Keys.

Check each test contact in Mailchimp individually. Confirm that the contact exists, that the email address and mapped field values match what Mautic holds, and that the contact is a member of the test list and of no other list. Record the result per contact. If a field is missing or formatted differently, correct the field mapping before continuing, since errors in mapping usually show up only after a large send.

Re-run the same campaign against the same contacts and confirm that no duplicate Mailchimp contacts are created and that existing members are updated rather than added again. Then confirm that the campaign trigger ran on schedule. Mautic depends on cron jobs for campaign updates and campaign triggers, and the docs say those jobs should be staggered. Check that the campaign trigger cron job has executed, using the Mautic logs or your scheduler output, and do not assume a trigger fired because the Mailchimp contact appeared.

Write the expected results down before the test runs: the contacts, the expected list membership, the expected field values, the expected count of Mailchimp records after the re-run, and the expected cron execution. Have the owner of the Mailchimp account and the marketing lead sign off on that record and on the actual results. Only after sign-off should production lists be added to the campaign. Confirm with your Mailchimp plan and account administrator which audience limits and sending rules apply to production lists, because these are outside Mautic and this test does not prove them.

Common Mailchimp connection failures and how to fix them

This table lists the failures teams most often see when Mautic sends contacts into Mailchimp, with the likely cause and first fix for each. Read it by symptom, then check the cause against your own configuration before changing anything. Confirm every fix against the MailChimp plugin documentation and the Mautic logs for your version.

SymptomLikely causeFix
Authorization fails on save or on every sendThe Mailchimp username or API key is wrong, or the key was copied with extra spaces or revoked.Create a new key under Account, Extras, API Keys, re-enter it with the username, and send one test contact.
Contacts meet the trigger but never reach the listCron jobs for segments, campaigns and triggers are not running, or they overlap and block each other.Confirm the schedule on the server, stagger the jobs as the cron documentation describes, and check logs for overlap.
Sync runs but the list is empty or missingThe plugin targets a list name or ID that was renamed, deleted or sits in another audience.Reselect the list from the current Mailchimp audience in the plugin settings and confirm the action targets it.
Mailchimp fields arrive blankField mappings do not match Mailchimp merge tags, or the source field is empty on the contact.Compare each pair with the merge tags in Mailchimp, correct mismatches, and test a fully populated contact.
Duplicate contacts appear in MailchimpA point trigger or campaign action fires more than once for the same contact, and matching against existing records fails.Limit repeating triggers where the design allows, and confirm how the plugin matches existing subscribers before bulk runs.
Contacts reach Mailchimp that should be excludedThe action runs against a broader segment than intended, or consent and do-not-contact status was not checked first.Trace segment membership and consent fields for a sample contact, tighten the filter, and confirm opt-out handling in the plugin docs.

Questions buyers ask before connecting Mautic to Mailchimp

How much does connecting Mautic to Mailchimp cost?

Cost depends on the written scope, and DeployOpen does not publish a price list, so a quote follows once the scope is agreed. The main cost components are planning, mapping fields and lists, configuring the plugin and its triggers, testing with your team, and handover documentation. Ask each quote to separate one-time work from anything recurring, such as ongoing support or a retainer. Your Mailchimp subscription and the hosting for your Mautic server are paid to those vendors or providers and stay in your own budget. Ask the provider to state exactly which of these items are included, and which are excluded.

How long does a Mautic to Mailchimp integration take?

The duration is set by the written scope, so any timeline quoted before scope is agreed should be treated as provisional. A single list with a simple field mapping and one trigger is the smallest case. Duration grows with each additional list, each complex mapping, each consent rule that needs review, and each campaign that depends on the trigger, because each one needs testing. The length of your test window depends on your team's review availability, so agree on it in the written plan. Ask for milestones (scope sign-off, configuration, testing and go-live) with a target date for each.

Which factors make the Mautic and Mailchimp work larger?

The biggest drivers are the number of Mailchimp lists, the complexity of the field mapping, the consent rules, the number of campaigns that use the trigger, and whether Mailchimp stays in use long term. Each list needs an owner and its own mapping decisions. Consent rules need to be checked so that a contact's consent status in Mautic is respected before anything reaches a Mailchimp audience. If Mailchimp is only a transition step, the integration may be temporary, which changes how much documentation and design effort is worth spending. Confirm your long-term plan for each list before the quote is requested.

What must our team provide before the integration starts?

Your team needs to provide four things. First, access to the Mailchimp account, with an owner who can create the API key. Second, a named list owner for each Mailchimp list, who approves the mapping and sign-off. Third, consent records or a clear description of how consent was collected for each group of contacts. Fourth, a test window with named reviewers who can check results in both Mautic and Mailchimp before go-live. Mautic admin access is also needed to configure the plugin and triggers. Missing any of these items usually delays testing, so confirm them in the written scope.

Can our internal team connect Mautic to Mailchimp alone?

Yes, an internal team can often do this alone when the work is limited to a single list with a simple field mapping. The plugin is authorized with a Mailchimp username and API key, and the sending rules are set in Mautic's contact actions or point triggers. The team still needs a written test plan that covers the trigger, the field values and the consent handling. Bring in outside help when the work involves several lists, complex mapping, detailed consent rules or many campaigns, because those cases need more testing and more review. Decide this before the first configuration change, not after.

Does a Mautic upgrade break the Mailchimp connection?

It can, so plan each upgrade as a change to the integration. Mautic publishes monthly patch releases, minor releases every three months and major releases every two years, so the plugin will be affected at some point during its life. Mautic 7.0 requires PHP 8.2, 8.3, 8.4 or 8.5, so PHP changes can also affect the connection. Mautic 7.2 receives active and security support until 30 September 2026, and Mautic 7.3 is planned as the long-term support release with security support through 31 December 2027. Before each upgrade, confirm with the plugin documentation that the MailChimp plugin supports the target release, and retest triggers and list sync in a staging copy.

How does Mautic authenticate to Mailchimp, and where is the key stored?

The MailChimp plugin is authorized with your Mailchimp account username and an API key. You create the key under Account, Extras, API Keys in Mailchimp. Decide who owns the key and which team member can view or replace it, because the key is the link between the two systems. Store it in a secrets store or a protected configuration location rather than in shared notes or documents. Plan a rotation step for staff changes and for any suspected exposure. Confirm with Mailchimp which account permissions the key carries, since that determines what the integration can change in your account.

What should we check after the Mailchimp integration goes live?

Start by checking that each contact action or point trigger sends a contact to the intended Mailchimp list once, and that repeat triggers do not create duplicate records. Next, confirm that the field values arrive in the correct Mailchimp fields, including any consent-related values. Mautic depends on cron jobs for segment updates, campaign updates and campaign triggers, and the documentation says these jobs should be staggered, so check the schedule against your campaign timing. Confirm whether the sync is one way (Mautic to Mailchimp) and document what happens when a contact unsubscribes on either side. Keep a short runbook so the next person can repeat these checks.

How DeployOpen scopes and delivers the Mautic Mailchimp integration

DeployOpen plans, implements, integrates and documents this connection inside infrastructure you control, from the first written scope to ongoing support. Each engagement is fixed-scope, with scope, deliverables and timelines agreed in writing before work starts. The steps below show what that covers for a Mautic to Mailchimp integration.

How we scope

  • Which Mautic contact actions and point triggers should send contacts to Mailchimp, and under what conditions.
  • Which Mailchimp audience lists receive each stream, and which lists stay in Mailchimp only during the transition.
  • Who owns the Mailchimp account and API key, and how credentials are issued, stored and rotated.

How we build

  • Authorize the MailChimp plugin with the account username and an API key created under Account, Extras, API Keys.
  • Build contact actions and point triggers, and confirm cron jobs for segments and campaigns run on staggered schedules.
  • Test with sample contacts and a non-production Mailchimp list before any live contact is sent.

How we hand over

  • Written documentation of trigger logic, field mappings, list IDs, and where each credential is stored.
  • A runbook for rotating the Mailchimp API key and confirming cron jobs keep running.
  • A walkthrough with your team covering who approves new lists and how sync failures are investigated.

How we support

  • Optional retainer covering ongoing support, Mautic upgrades on supported release lines, and post-change reviews.
  • Support requests routed by sync type, with logs and Mailchimp API errors captured for each investigation.
  • Scheduled retesting after Mailchimp API key rotations, plugin changes, or moves to a new Mautic release.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.