Mailchimp Integration: setup and help
Quick start
- Upload and install the mprmailchimp ZIP in Module Manager.
- Click Configure and enter API Key and Audience/List ID.
- Choose Opt-in Mode.
- Enable Sync Opted-in New Customers.
- Optionally enter Connected Site Script URL and review Enable Connected Site Script.
- Enable Mailchimp and save.
- 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
- Upload and install the
mprmailchimpZIP in Modules > Module Manager. - Click Configure to open Mailchimp Settings.
- Enter API Key and Audience/List ID for the intended audience.
- Choose Opt-in Mode and enable Sync Opted-in New Customers if you want account-creation sync.
- Configure the connected-site script separately if you want storefront tracking.
- Turn on Enable Mailchimp and save.
- 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
Tracking ignores changed consent or staff status
Security hardening
Translated back-office text
Module fails on PHP 7.1
Damaged translated text
Existing audience contacts fail to synchronize
Back-office pages failing to open
Feature Requests
4
Implemented
Mailchimp setup checks
Multilingual administration
One-click module updates
Single or double opt-in
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.
By downloading, you accept the demo terms and privacy policy.
By opening this demo you accept the demo terms and the privacy policy.