How to configure my module (for versions < 2.0.0)?

This FAQ details the different steps to follow (in order!) to correctly configure your module.

Note: once all the manual synchronizations are made, your new data (as new customer / order / cart / product) will automatically be synchronized via PrestaShop hooks. Then, once you have configured the module, you will not normally have to synchronize again your data.

Log in to your MailChimp account.

Then, click on your user name at the top right of the interface and select "profile":

 

In this chapter, click on "Extras" and select "API keys":

 

then you'll be able to see the API key, for example, looks like : 2fezr45f4v64ret676746r5e4t6re-us13

 

Copy/paste this key in the module "Basics" tab:

 

For information, the dash plus "usXXX" (XXX = a number) define which web server you are hosted in MailChimp side.

In the module "Basics" tab, for the "Newsletter subscription" option, you can choose between "Include all customers" or "Include only customers who opted in":

 

This option is for customers who do not already exist in your MailChimp lists. For these customers and only for those, you have the possibility to force or not their subscription to your newsletter.

Warning : depending on your business area and as you're responsible for protecting your customer personal data, you must make sure that, by default, register all your customers to receive your newsletter is not a violation of law. You also must inform them clearly. In general, make sure you comply with the General Data Protection Regulation. We accept no responsibility for your company's possible non-compliance with the new GDPR regulations.

The principle of this option is as follows:

But, for the exported customers who were already in your MailChimp lists, their opt-in status will remain unchanged. Likewise if they had chosen to unsubscribe, their choice will be respected. No status updates will be made for these customers.

To read the MailChimp documentation about opt-in status of customers click here.

Please note that this option only relates to the newsletter subscription (and therefore only to purely promotional emails) and not to the transactional emails receiving. No matter what you select for this option, ALL of your customers will receive transactional emails (e-commerce notifications, abandoned carts, product recommendation and other e-commerce automation advanced options), since MailChimp doesn't require opt-in for this type of emails.

Please follow the following steps in order.

1) Create/Activate lists

Once you have indicated your MailChimp API key, go to the module "Lists & Stores". If you have already created MailChimp lists you should see them appear. The first step is to activate the lists that you want to manage and update through the module. For each of them, click on the red cross in the "Active" column:

 

Then, you have to associate a language with each list. Indeed, this step is essential to send the emails (whether promotional or transactional) in the language of the clients of the list:

 

 

If you have not created yet lists in MailChimp (or if you want to create others, for other languages for example), you can create them directly in the module. To do this, click on the green "+ List" button:

 

A window opens to allow you to create your list.

First of all, enter a name for this list. Knowing that a list corresponds to only one language, we advise you to indicate the ISO code of this language in the name of the list. For example: EN list. Select the language of the list and write a short reminder text indicating the reason for receiving the e-mail. For example: "You are receiving this e-mail because you have already ordered on our shop or because you have subscribed to our newsletter". Displaying this reminder can prevent your emails from being considered spam. MailChimp automatically inserts your authorization reminder at the bottom of your e-mails (*|LIST:DESCRIPTION|* merge tag).

 

Then you are asked to fill in your company's information that will be displayed at the bottom of the e-mails in order to comply to anti-spam international laws:

 

Finally, fill in the default values for your campaigns: your shop/company's name, your e-mail address, a subject. Of course, these are only default values and you will be able to change them when you prepare your campaigns. Then, click on "Create":

 

Once the liste is created, check that it's active (green check in the "Active" column).

Repeat the process to create as many lists as there are languages for which you want to send campaigns.

Important note: know that you can create multiple lists for the same language. This may be useful if you want to segment your campaigns by customer groups. In this case, you will have to associate each list with a different store (one for each customer group). For more information on what the term "store" means, go to the 2nd paragraph.

 

2) List-Store combination

The next step consists in associating each list with a "store".

MailChimp uses the concept of "store" to designate a set of e-commerce data (carts, customers, orders ans products) matching with a "language-currency-customer group" combination. For example a "EN-USD-Customers" store will contain different data of a "FR-USD-Customers" store (it is enough to change one of the three parameters so that the store is different). Each store must be tied to only one specific MailChimp list. After a store is created and tied to its list, it cannot be connected to a different list.

Click on the "+Store" green button:

 

A window opens. You are going to create your first store corresponding to one of your lists. First, select the list to associate with this first store. Note that once you have chosen a list for this store, you will not be able to use this list for another store.

 

After having chosen a list, select the currency that matches with:

 

and the customer group:

 

If for example you select the "Visitor" customer group, when you activate the synchronisation of your old customers in this list, only those belonging to the "visitor" group will be added to the list.

Finally, give a name for this first store. We advise you to indicate in this name, the corresponding language, currency and customer group. For example, the name of the store below clearly indicates that the created store ("boutique" in french) is associated with an English language list, the "Dollar" currency and the "Customer" group ("Client" in french). Click on "Create":

 

Then create as many stores as lists:

 

In this example, you can note that each list is tied to a specific store with an unique id. The "Liste FR visiteurs" and "Liste FR" lists are tied to the same french language but not to the same customer group.

 

3) Synchronization of lists with customers data base

You have now to synchronize your lists with your customer data base.

For each of your lists, click on the double arrow of the "Sync customer list" column. For example below for the "Liste EN" list:

 

A window opens reminding you the associated store details:

 

Then, the module indicates the number of the customers who exactly matche with the combination "Language-Currency-Customer group". For example, here, this corresponds to all the customers belonging to the English language, the Dollar currency and the "Customer" group. Check that the number matches.

The synchronization of your list by MailChimp will be done according to the "batches" concept (data bulk processing) for performance reason. The field "Number of customers per cycle" allows you to indicate how many customers you want to send in a "data bulk" i.e how many customers will be processed per synchronization cycle. The size of your customer list will influence the number of customers to process per cycle. In any case, do not indicate more than 1000 customers per cycle. This value represents the maximum of data that can be sent per cycle for a standard server configuration. The default value of 200 seems to be a good setting to start. However, if you notice that some "batches" end up generating an error, lower the value, such as 100 or even 50. Once you have found the appropriate settings corresponding to the performance of your server, don't modify the value anymore.

 

The "Sync the customer's birthday" next option will only be available when you have synchronized your customer list (for server performance reasons, it's better not to synchronize everything at the same time). We will talk again about this option a little further.

 

Click on "Synchronize":

 

Note: For time to time Mailchimp may have some synchronization problems and in this case, you just have to repeat your customer list synchronization (sometimes some customers may not have been synchronized if you use for example a module like "Store Manager" to add or modify customer information). For people with technical knowledge, you always have the possibility to check the already synchronized content by connecting to MailChimp's "playground" (see the last section of this FAQ).

When the synchronization is done, you should have this message:

 

Check on the line of the list you just synchronized that the "done!" message is displayed:

 

On your MailChimp online account, check that the import has been done by refreshing the "Lists" tab and clicking on the corresponding list:

 

Be careful, the indicated number (20 in the example above) corresponds to the number of newsletter subscribers and not to the number of list members.

If you want to also synchronize the birthday dates of the customers, click again on the double arrow. In the bottom of the windows that opens, click on "YES" for the "Sync the customer's birthday?" option:

 

First of all you have to create the "BIRTHDAY" merge field for the store concerned. To do this select the birthday date format (dd / mm or mm / dd) and then click on "Create the "BIRTHDAY" merge_field":

 

Once the merge field is created, you should get the following message: 

 

Close the window (or wait a few seconds until it automatically closes) then click again on the double arrow, select "YES" for the option "Sync the customer's birthday?" and click on "Synchronize":

 

That's it, the birthdays of your customers have been synchronized. You can check it on your MailChimp online account by clicking on the name of the corresponding list again (see above).

Reproduce exactly the same steps for the other created lists.

The next step is essential to start the e-commerce data real-time synchronization. You will have to synchronize your product catalogs. Indeed, as long as they will not be synchronized, the data real time sending to Mailchimp cannot be done. So, to do that, go to the next section.

This step is essential to start the real-time synchronization of e-commerce data.

Go to the module "Product Catalog" tab. You should have the list of stores created in the tab "Lists & Stores":

 

For each store, click on the double arrow in the "Sync" column. A window opens reminding you first of all the information about the store:

 

The following section allows you to set your synchronization preferences.

First of all, you have to know that MailChimp requires to send each product combination separately. Thus, if your products have many combinations, the synchronization may take a little time. For information, the module indicates the total number of products as well as the total number of combinations.

The synchronization of your catalog by MailChimp will be done according to the "batches" concept (data bulk processing) for performance reason. The field "Number of products per cycle" allows you to indicate how many products you want to send in a "data bulk" i.e how many products will be processed per synchronization cycle. The size of your catalog will influence the number of customers to process per cycle. In any case, do not indicate more than 1000 products per cycle. This value represents the maximum of data that can be sent per cycle for a standard server configuration. The default value of 200 seems to be a good setting to start. However, if you notice that some "batches" end up generating an error, lower the value, such as 100 or even 50. Once you have found the appropriate settings corresponding to the performance of your server, don't modify the value anymore.

 

The module then allows you to choose the type of description to export, the size of the images and the value to be considered as the name of the seller of the product (brand or supplier). We advise you to use the short description or the meta description because the MailChimp email templates offer a reduced space for the product description. As for the size of the images, we advise you to choose a width between 250 and 300 pixels for an optimal result. In any case, try not to exceed 600 pixels wide. You can still experiment by doing several manual synchronizations to find the best configuration.

 

This configuration will also be applied for future real-time synchronizations. So, if you choose "home_default" for the image size, it will be this image size that will be sent in real time to MailChimp for all new products that you create in your back office.

Finally click on "Synchronize":

 

Note: For time to time Mailchimp may have some synchronization problems and in this case, you just have to repeat your catalog synchronization. For people with technical knowledge, you always have the possibility to check the already synchronized content by connecting to MailChimp's "playground" (see the last section of this FAQ).

When the synchronization is done, you should have this message:

 

Check on the line of the store you just synchronized that the "done!" message is displayed:

 

Repeat exactly the same steps for the other created stores.

Once all your product catalogs have manually been synchronized for the first time, you shouldn't have to redo manual synchronizations because any changes will be taken into account by MailChimp in real time. The same applies to new e-commerce data that will automatically be sent to MailChimp without you having to do anything.

To synchronize all your past orders, go to the module "Past orders" tab.

Start by selecting the order status(es) to import:

 

Be sure to select only the statuses that represent valid commands.

Then, for each store that have been created in the "Lists & Stores" tab, select a period for the past orders export.

Important note: according to MailChimp's official documentation, the MailChimp algorithm that calculates the product recommendations for your customers requires an order history of at least 1 year, and at least 500 orders placed, to work. Otherwise, MailChimp will recommend your best sellers. So, we advise you to go back at least 1 year back for your synchronizations. However, don't exceed 2 years. Indeed, the longer the selected period, the longer the synchronization takes. Orders over 2 years will not be relevant anyway.

 

Then click on one of the double arrows of the "Sync" column. A window opens. First, the module reminds you the selected perdiod and the store information:

 

Then the module reminds you the selected statuses and ask you to define the number of orders per cycle:

 

The number shown represents the total number of orders placed over the period for the selected language, currency, and statuses.

The synchronization of your pas orders by MailChimp will be done according to the "batches" concept (data bulk processing) for performance reason. The field "Number of orders per cycle" allows you to indicate how many orders you want to send in a "data bulk" i.e how many orders will be processed per synchronization cycle. The total number of your past orders over the selected period will influence the number of orders to process per cycle. In any case, do not indicate more than 1000 orders per cycle. This value represents the maximum of data that can be sent per cycle for a standard server configuration. The default value of 200 seems to be a good setting to start. However, if you notice that some "batches" end up generating an error, lower the value, such as 100 or even 50. Once you have found the appropriate settings corresponding to the performance of your server, don't modify the value anymore.

Click on "Synchronize":

 

Please note that, depending on the volume of orders, the synchronization can take a long time: from a few minutes to several hours ... but that is perfectly normal.

Note: For time to time Mailchimp may have some synchronization problems and in this case, you just have to repeat your catalog synchronization. For people with technical knowledge, you always have the possibility to check the already synchronized content by connecting to MailChimp's "playground" (see the last section of this FAQ).

When the synchronization is done, you should have this message:

 

Check on the line of the store you just synchronized that the "done!" message is displayed:

 

Repeat exactly the same steps for the other created stores.

Once all your past orders have manually been synchronized for the first time (for all the stores), you shouldn't have to redo manual synchronizations because any new e-commerce data will automatically be sent to MailChimp without you having to do anything.

MailChimp makes an interface named "playground" available to allow you to explore the API in order to control the activity of your MailChimp account, such as the details of the synchronizations performed. You just have to enter your MailChimp API key and click on "Go":

 

For information, here is the whole kind of content you can export to MaiChimp via the API:

- Customers: the synchronization of your customer list for each MailChimp list sends all the information on your MailChimp account (see this FAQ 3rd section "How to create / synchronize my customer list?"). For customers who are not already present in your Mailchimp lists, you can automatically subscribe them to your newsletter or you can respect their opt-in choice (see this FAQ 2nd section "Basics: how to understand the "Newsletter subscription" option?")

- Products: thanks to the manual synchronization of your product catalog for each MailChimp "store", all your products have been sent to your MailChimp account (see this FAQ 4th section "How to synchronize my product catalog?"). Then, each new product will be automatically added to the associated store according to the corresponding language and currency.

- Carts: over time, the carts made on your site are automatically saved in MailChimp (provided of course that customer and product synchronization has been manually done a first time, as explained in this FAQ).
If a cart turns into a valid order then it will be automatically deleted in MailChimp (it will be considered as "order"). If the cart doesn't turn into an order then MailChimp will consider it as an "abandoned" cart. Please note that our module keeps a record of this cart in one of our MySQL tables.

- Orders: if you have synchronized past orders (see this FAQ 5th section "How to synchronize my past orders?"), these will be saved in MailChimp. Any new order will then be taken into account in real time and sent to MailChimp.

Other FAQs in this category