24/7 Support: 800.608.6482

How To Guides

How To Guides


1. Overview

2. Setup & Configuration

3. Historical Data Scheduled Task

4. Incremental Synchronization - Scheduled Task

5. Ecommerce Order Data

6. Abandoned Cart Support

7. Newsletter Signup Box

8. Customize CSS and JavaScript

9. Working with Merge Fields

10. Unsubscribing a Customer

11. Checkbox During Checkout

12. Upgrading From Existing MailChimp Module

13. Using MC.js

14. Create a Custom Landing Page with MailChimp

15. Create a Subscriber Pop-Up with MailChimp


The MailChimp integration for Miva allows you to link your store to MailChimp sending up ecommerce data and allowing your customers to easily subscribe to your MailChimp lists without leaving your store.

Now you can take advantage of MailChimp’s advanced suite of ecommerce tools including: Abandoned Cart Emails, Product Recommendations, Product Follow Up and much more.

Setup & Configuration

The mailchimp module needs to first added to your store under Order Fulfillment Settings -> Add/Remove Modules.

Click "Install" to Add it to your store


Once installed, you’ll have a new MailChimp tab where you can link your Miva store to your MailChimp account:

MailChimp Get Started

Click the "Get Started" button

MailChimp Tab

This will attempt to open a popup window where you can log into your MailChimp account:

MailChimp login

Keep in mind, some browsers may try to block this window. If you don’t see this popup check your browser’s blocked windows. If the happens you'll need to allow popups then reclick the get started window. If after you login to MailChimp you get a blank window, you will need to close the window and click get started again after allowing popups. The browser popup blocker is breakig the connection between Miva and MailChimp so the two cannot communicate correctly.


Once you successfully login to your MailChimp account, you’ll be asked to choose an account to link to Miva:

MailChimp Link Account

Upon completion, this popup window will automatically close and you’ll see the account setup screen in Miva:

MailChimp Configuration

Here you will attach your Miva store to a single mailing list you have set up in MailChimp. Each Miva store can only be linked to one list in MailChimp. This list is where all your subscribed customers will be added to.

Important Note: If you ever need to change this list (or currency) to a different list, you will need to uninstall the module and reinstall it in order to select a new list.

MailChimp List

Once you hit "Save," you’ll see the module settings screen:

Order Fulfillment Settings

Module Setting:

MailChimp List: This shows you what MailChimp list your subscribers are being added to. Each store can only be linked to a single list in MailChimp. To change this value, the module needs to be uninstalled and re-installed in Miva.

Subscriber Settings

Automatically Opt-In All Customers - With this selected any customer who purchases from your store will automatically be added into your MailChimp mailing list. Important: If you enable this setting, be sure your website policies clearly states that all customers will automatically be added to your mailing list to avoid breaking any anti-spam laws.

Require Double Opt-In - With this selected any customer who gets added to your mailing list (via any method) a secondary email will be sent to the customer asking them to click a link to confirm their registration. Without this secondary confirmation, the customer will not be added to the mailing list.

Image Types - Miva syncs product data with MailChimp. The image type setting allows you to determine which product images get sent to MailChimp.

Keep Synced Baskets Alive - If the sync baskets to MailChimp box is selected, Miva will automatically push up cart data to MailChimp. This is required if you wish to use MailChimp's abandoned cart features. If in use, any abandoned cart will have its expiration extended 48 hours (2880 minutes) so that when the abandoned cart emails are sent by MailChimp, the basket is still active.

Important: Keep in mind extending the basket expiration 48 hours could also tie up inventory during that time, depending on your inventory settings. It is recommended to utilize Inventory at Checkout (link: https://docs.miva.com/how-to-guides/inventory-at-checkout ) to avoid tieing up inventory in baskets.

Historical Data Scheduled Task

In order for MailChimp to send effective emails for things like product recommendations it needs historical order data imported into its system. This includes Products, Customers and Orders.

The MailChimp integration has an scheduled task to send up this data in bulk. It gets installed along with the module is setup but it must be enabled for it to run.

To access the scheduled task go to: Store Settings -> Scheduled Tasks

Scheduled Tasks

To run this task, select the task from the batch and then click “Run Scheduled Task(s)”. This will spawn off a background process which will push up Products, Customers and Orders to MailChimp.

Run Scheduled Task

Keep in mind that this process could take quite a while depending on how much data there is to send to MailChimp. You can look at the Scheduled Task Log to see when this starts and when it is completed, as well as any errors if they arise.

Search Scheduled Tasks

Scheduled Task Log

Incremental Synchronization - Scheduled Task

When the module is installed a second Scheduled Task is also setup. This task will run by default regardless if you choose to send historical data to MailChimp.

Any time a product, customer added or changed it is added to a queue of changed items. The MailChimp module utilizes the a Scheduled Task trigger so it automatically runs as soon as the product or customer is added/updated regardless of when the task is scheduled to run.

In addition, once per day, the scheduled task will run and push any data stored in the queue to MailChimp.

Incremental Synchronization

Order data is not included as part of the incremental scheduled task as that data is sent in real time when an order is placed.

Note: Orders placed via the admin do not automatically call the fulfillment actions. If you want to push orders created manually in the Miva admin to MailChimp you need to click the Order Fulfillment link then select MailChimp and hit Process for each order.

Order Fulfillment

Ecommerce Order Data

On invoice (INVC) all ecommerce data for each order is sent to MailChimp automatically. This allows you to take advantage of their advanced ecommerce automation tools. In addition if the customer came to your site via an email campaign you send them, we collect the campaign id and landing page they entered the site on and pass that data back to MailChimp so you can see the effectiveness and ROI of your MailChimp email Campaigns. This is also used to determine the ROI on abandoned cart emails.

Upon installation of the MailChimp module, a component item gets created and assigned automatically to all runtime pages. This is needed to properly track the campaign id back to the ecommerce data sent to mailchimp. After install if you create custom pages that will have direct links from email campaigns you’ll want to also assign the MailChimp item to those pages.

Abandoned Cart Support

With the MailChimp integration, you can optionally send up all cart data so that you can leverage MailChimp to send abandoned cart emails.

Keep Synced Baskets

This setting is enabled by default. You must uncheck it if you don’t wish to use it.

If enabled, Miva will push open baskets to MailChimp as soon as the customer email is known. This happens in three cases:

  1. The customer logs into their account
  2. The customer submits their Bill To / Ship To information during checkout
  3. The customer clicked an email campaign link (sent from MailChimp)

Once the basket is pushed to MailChimp, any changes to the basket will also be synced with MailChimp.

Technical Information: This occurs on the following actions in Miva: ADPR, ADPM, AUPR, AUPM, QNTY, QTYG, RPRD, RGRP

If the customer then completes a purchase, the cart is then deleted from MailChimp. However if the customer never completes their purchase, you can set up MailChimp to send one or more abandoned cart email campaigns.

Setup In MailChimp:

By default Miva will extend the basket expiration on any basket pushed to MailChimp by 48 hours. This is to ensure that when a customer clicks the abandoned cart email, the basket stil exists in the store.

Important: Keep in mind extending the basket expiration 48 hours could also tie up inventory during that time, depending on your inventory settings. It is recommended to utilize Inventory at Checkout (link: https://docs.miva.com/how-to-guides/inventory-at-checkout ) to avoid tying up inventory in baskets.

Newsletter Signup Box

Upon install, there is a mailchimp item which gets assigned automatically to all front end pages. This is used to display the newsletter signup box. To output this template to a page add this item to where you want it to display:

This item controls a global template which can be edited under User Interface -> Settings -> MailChimp Newsletter Signup Layout

User Interface

Default Template:

Newsletter Signup

Customize CSS and JavaScript

The CSS and JavaScript for the Newsletter Signup Box utilizes Miva’s new CSS and JS Asset Management Tool. Both files can be edited in the admin under:

CSS: User Interface -> CSS Resources

MailChimp Javascript

JavaScript: User Interface -> JavaScript Resources

Local File

In admin editing:

CSS Resource File

Both the CSS and JavaScript for Mailchimp are global so they will be output on every page by default. If you only need these files on certain pages you can restrict them to only the pages you need.

Working with Merge Fields

The newsletter signup box natively supports MailChimp’s Merge Fields. These are custom fields you can choose to pass to MailChimp in addition to the customer's email address. These are optional but give you the flexibility to send any data you need to MailChimp when adding a subscriber.

To add a merge field, simply add new form inputs to the newsletter signup for which have the following naming convention and data attribute

Merge_field_name = The code setup in MailChimp for the merge field. Ex. FNAME, LNAME 

Identifier = the value passed in the onClick for the form submit. Default is “global-mailchimp”


Unsubscribing a Customer

The newsletter signup box does not come with a unsubscribe button by default. However you can give you customers that choice if you choose to.

Here is an example of how to add a unsubscribe button to the form:


Checkbox During Checkout

It is common for merchants to offer customers the option to opt-in to their mailing list with a checkbox during checkout. To do this with MailChimp you add the following input inside the form on the OCST page.

Checked by Default

Subscribe To Newsletter:

Not Checked By Default

Subscribe To Newsletter:

The input name is the most important part and cannot be modified. This code must be in the same form as the ORDR action. When this action is processed, the MailChimp module will look for this input and if the value is set to 1, it will subscribe the customer.

Any success or error messages are suppressed and not displayed anywhere on the page.

Upgrading From Existing MailChimp Module

If you store currently uses the existing MailChimp module there is no direct upgrade path because they two integration use a completely different set of APIs. You will need to uninstall the old module and set up this new integration from the beginning. However, it should be fairly easy to take your existing newsletter signup form and convert it over the the new conventions used in this module. Most conversions should be able to be done in under an hour.

Using MC.js

When you install the MailChimp module, MailChimp automatically sends back a snippet of JS code which gets inserted into your stores head tag (This can be enabled or disabled under your stores JavaScript Resources). This code get output on every page and allows you to take advantage of things like Browse Abandonment Email Campaigns and automatically add email popups to your store without having to add additional code (only when you enable these within the MailChimp Admin as part of a broader campaign). There is nothing you need to do take advantage of this, it gets setup during installation.

MailChimp Tracker

Looking for Developer Docs?

We have a whole section for that, including: Developer Training Series, Template Language docs, Module Development tutorials and much, much more.

Head to the Developer Section

This website uses cookies to identify visitors, track visitors to our website, store login session information and to remember your user preferences. By continuing to use this site you agree to our use of cookies. Learn More.

This website uses cookies. By continuing to use this site you agree to our use of cookies. Learn More.


Copyright © 1997 – 2024 Miva®, Miva Merchant®, MivaPay®, MivaCon®, Camp Miva®, Miva Connect®, Miva, Inc. All Rights Reserved.