Mailchimp Integration: setup and help

Quick start

  1. Upload and install the mprmailchimp ZIP in Module Manager.
  2. Click Configure and enter API Key and Audience/List ID.
  3. Choose Opt-in Mode.
  4. Enable Sync Opted-in New Customers.
  5. Optionally enter Connected Site Script URL and review Enable Connected Site Script.
  6. Enable Mailchimp and save.
  7. Register a new customer with newsletter opt-in and verify the subscribed or pending member in Mailchimp.

Requires PrestaShop 1.6 or later and PHP 7.1 or later.

Setup manual

Install and connect

  1. Upload and install the mprmailchimp ZIP in Modules > Module Manager.
  2. Click Configure to open Mailchimp Settings.
  3. Enter API Key and Audience/List ID for the intended audience.
  4. Choose Opt-in Mode and enable Sync Opted-in New Customers if you want account-creation sync.
  5. Configure the connected-site script separately if you want storefront tracking.
  6. Turn on Enable Mailchimp and save.
  7. Create a test customer who explicitly selects the newsletter subscription. Check the member in Mailchimp.

The API key suffix selects the Mailchimp data center, for example -us1. Copy the audience identifier from the relevant audience's settings. Do not paste an audience name in Audience/List ID.

Configure Mailchimp Settings

Setting Default How to use it
Enable Mailchimp Off Master integration switch.
API Key Empty Mailchimp API credential, including its data-center suffix. The form masks it.
Audience/List ID Empty Audience receiving eligible new customer contacts.
Sync Opted-in New Customers Off Sync new accounts only when their explicit newsletter subscription is enabled.
Opt-in Mode Single opt-in (added immediately) Choose Double opt-in (Mailchimp confirmation email) to create new members as pending.
Enable Connected Site Script On Allow the configured site script to load after marketing consent.
Persist Marketing Consent Withdrawals Off Enable the shared handler to persist visitor marketing withdrawals.
Connected Site Script URL Empty Paste only your HTTPS chimpstatic.com/mcjs-connected/js/users/<account>/<site>.js URL. Empty means no connected-site loading.

Customer sync and the connected-site script are separate functions. For sync without storefront tracking, enable Sync Opted-in New Customers and turn off Enable Connected Site Script.

Understand customer synchronization

The module listens to actionCustomerAccountAdd. It checks the customer's newsletter flag, staff markers and outbound policy before admitting a sync job. The sync switch does not supply consent.

The request uses a stable member endpoint:

PUT https://us1.api.mailchimp.com/3.0/lists/YOUR_LIST_ID/members/MD5_OF_LOWERCASE_EMAIL

It sends email_address, FNAME and LNAME. For a new member, status_if_new is subscribed in single opt-in mode or pending in double opt-in mode. The PUT does not force an existing unsubscribed member back to subscribed.

The module queues the contact sync and tries the new job right away. Before sending, it checks again the customer's current state, newsletter opt-in, identity, the configured destination and the recorded opt-in mode. A job is held when the opt-in record is missing or the destination has changed.

For retries, the module declares the optional shared cron task mailchimp_member_sync, labelled Retry opted-in Mailchimp audience sync, with schedule every:60. It is disabled by default and requires the shop's existing MPR cron runner. This module does not bundle that runner. Enable the task there if you need scheduled retries. There is no module-specific public retry URL.

It does not bulk-import old customers, subscribe separate newsletter block signups or manage Mailchimp campaigns, tags, segments and journeys.

Configure and check the connected site

Copy the script URL from your Mailchimp connected-site snippet into Connected Site Script URL. Paste the URL only. Enable Enable Connected Site Script and save. The former generic .../users/mc.js snippet is not the current configuration.

The module bootstraps through displayBeforeBodyClosingTag. It uses live marketing-consent, staff and outbound checks, with a private configuration endpoint. Public page markup does not contain customer names or email addresses.

Test in a fresh customer browser with marketing consent. Check Network requests for your exact connected-site URL. The module itself does not send product, cart or purchase event payloads.

If you override the template, preserve its public configuration and runtime scripts:

themes/your-theme/modules/mprmailchimp/views/templates/hook/tracking.tpl

Verify and troubleshoot

  • New member absent: confirm Enable Mailchimp, credentials, Sync Opted-in New Customers and an explicit newsletter selection at registration.
  • Double opt-in test: check for a pending member and Mailchimp confirmation workflow rather than expecting immediate subscription.
  • Existing unsubscribed contact: the module does not force resubscription.
  • Retry held: inspect integration diagnostics, current newsletter state, destination and opt-in mode. Confirm shared queue storage is available.
  • Script absent: check the exact site URL, script switch, marketing consent, browser blocking and employee markers.
  • Installation warning: use the module's Integrity page for required credentials and shared table checks.

No customer-by-customer audience-management screen is implemented here. Manage contact status and campaigns in Mailchimp.

Disable or uninstall

Turn off the sync switch to stop new contact sync. Turn off the script switch to stop storefront connected-site loading. Turn off Enable Mailchimp for both.

Uninstall through Module Manager to remove the menu and stored module configuration. Shared queue and consent-withdrawal data remain after uninstalling. It does not delete contacts already held by Mailchimp.

Compatibility

Requires PrestaShop 1.6 or later and PHP 7.1 or later.

Questions

1

Can a Mailchimp request delay customer registration?

Yes. Registration immediately attempts one queued sync job, with a 2-second connection timeout and a 6-second overall HTTP timeout. Scheduled retries require the optional mailchimp_member_sync task in the shared MPR cron runner; it is disabled by default.

Known Issues

8

Customers subscribed without explicit opt-in

ResolvedUpdated:
Fixed in: 1.3.0
A customer could be subscribed without an explicit subscription choice. Subscription now requires explicit opt-in.

Tracking ignores changed consent or staff status

ResolvedUpdated:
Fixed in: 1.3.0
Events could be sent with outdated consent or staff status. Tracking and matching now follow the current choices, including after withdrawal and on cached pages.

Security hardening

ResolvedUpdated:
Fixed in: 1.3.0
Security hardening for customer tracking and subscription handling.

Translated back-office text

ResolvedUpdated:
Fixed in: 1.3.0
Some back-office text remained in English even when another language was selected. Labels now use the available translations.

Module fails on PHP 7.1

ResolvedUpdated:
Fixed in: 1.2.2
The module could fail to load on shops running PHP 7.1. Compatibility with the supported PHP version has been restored.

Damaged translated text

ResolvedUpdated:
Fixed in: 1.2.1
Some translated Mailchimp text displayed damaged punctuation or escaping. The affected translations have been repaired.

Existing audience contacts fail to synchronize

ResolvedUpdated:
Fixed in: 1.2.0
Adding a customer who already existed in the Mailchimp audience could fail silently. Existing contacts are now updated without downgrading subscribed contacts to pending.

Back-office pages failing to open

ResolvedUpdated:
Fixed in: 1.2.0
Opening the module configuration could fail with an error instead of showing the settings. The settings pages now open correctly.

Feature Requests

4

Implemented

Mailchimp setup checks

Implemented
See which required Mailchimp connection settings still need to be completed before the integration is ready.

Multilingual administration

Implemented
Use translated Mailchimp settings in German, French, Spanish, Italian and Polish.

One-click module updates

Implemented
Check for and install module updates from the back office.

Single or double opt-in

Implemented
Choose immediate audience subscription or a Mailchimp confirmation email for new contacts. Existing subscribers keep their subscription status.

Changelog

v1.3.02026-10-18

  • Addedadmin menu management via MenuInstaller for streamlined module setup
Older releases

v1.2.02026-09-22

  • Addedfull compatibility with PrestaShop 9.x and Hummingbird theme
  • Addedecommerce activity sync: order placed, order updated, and cart abandoned events
  • Improvedsubscriber sync: double opt-in checkbox configurable per newsletter signup form
  • Fixedunsubscribe not propagating to Mailchimp when customer unchecked newsletter in account
  • Addedconfigurable audience merge fields: maps PS custom customer fields to Mailchimp tags

v1.1.142026-07-23

  • Addedcomplete FR/DE/ES/IT/PL translations

v1.0.02025-12-09

  • Initialrelease: Mailchimp integration with mc.js tracking snippet and Audience API v3
  • InitialAPI key and Audience ID configuration with connection test
  • InitialNewsletter subscription sync on customer registration and newsletter block opt-in
  • InitialSupports Mailchimp GDPR fields for compliant subscription management

v1.1.02025-09-12

  • Addedproduct catalogue sync: sends product data to Mailchimp for use in email templates
  • Improvederror handling: API rate limit responses trigger exponential back-off retry
  • Fixedsubscriber not being added to correct audience when multi-shop had separate lists
  • Addedwebhook receiver for Mailchimp unsubscribe/bounce events to update PS customer

Demo

Test the full module before you buy

Buy a licence later and keep your settings.

  • Your 30-day demo Test it on your own shop for 30 days from the first install.
  • Ready demo shop Explore a ready demo shop in your browser.
  • No registration No account, email or store domain needed.
Launch demo shop

By downloading, you accept the demo terms and privacy policy.

By opening this demo you accept the demo terms and the privacy policy.

Loading...
Back to top