The synchronization engine
PrestaMailchimp works in two stages: an initial synchronization, started from the back office to send your existing data, then an automatic real-time synchronization.
Initial synchronization
Each synchronization button (customers, products, orders, vouchers) opens a progress window:
- progress is shown live: items prepared, then sent to Mailchimp;
- keep the window open to go faster; if you close it, the import resumes where it stopped the next time you open the page;
- a network drop is retried automatically; if the server stops responding, the window says so and the progress remains saved;
- if Mailchimp reports errors, the window stays open, shows how many and offers to analyze them.
Recommended order: customers, then products, then orders, then vouchers.
A resumable engine
The work is split into chunks; each chunk becomes a Mailchimp batch, a series of operations that Mailchimp processes on its side. Progress (position, batches sent, errors) is saved in the database: closing the tab, a timeout or a network drop loses nothing. The chunk size adjusts to the real execution time of your server: large catalogs and long histories go through without exhausting memory.
Real-time synchronization
Once the existing data has been sent, the module keeps Mailchimp up to date with every event in the shop, with no scheduled task:
- customer created, updated or deleted: contact created, updated or unsubscribed;
- address created or updated: address and phone of the contact updated;
- customer group created or updated: interests updated;
- product or specific price added, updated or deleted: product updated, price included;
- order validated or order state changed: order sent, status updated;
- cart saved: cart sent, removed once ordered (abandoned carts);
- cart rule added, updated or deleted: promo code updated.
A language only switches to real time once its audience is chosen. If Mailchimp cannot be reached at that moment, the account creation or the order goes on normally.
Multilingual and multishop
The configuration is saved per shop, and per language within each shop: audience, Mailchimp store, synchronization dates, merge fields, order states. Each language of each shop has its own audience.
