ePrivacy and GPDR Cookie Consent by Cookie Consent Skip to main content

Loader Mailchimp

Mailchimp is a widely used marketing automation platform that allows businesses to create and manage email campaigns, design newsletters, and engage with their audience effectively. It serves as a comprehensive tool for email marketing, providing features like audience segmentation, personalized content creation, and performance analytics.

Business value in CDP

When used as a loader to export data from a Customer Data Platform (CDP) to Mailchimp, it becomes a valuable bridge for seamless integration. This process enables businesses to synchronize customer information, preferences, and behavior data from their CDP to Mailchimp, ensuring that marketing efforts are highly targeted and personalized. By leveraging Mailchimp as a loader, organizations can enhance their email marketing strategies, delivering more relevant content to their audience and ultimately improving overall campaign effectiveness.


Steps to set up Mailchimp

Follow this step-by-step guide to configure the component:

  1. The first step is to set up the loader within Meiro Integration by following the instructions given in this article below.
  2. Set up the loader as a destination in CDP. 
  3. Continue with exporting your segmented customer profiles. Refer to this article.

Setting up the loader in MI

The Mailchimp loader allows you to:

  • Create new list(s),
  • Update existing list(s), 
  • Add members to a new list(s),
  • Add members to an existing list(s),
  • Update members data in an existing list(s),
  • Delete members from an existing list(s),

The only input parameter in the Mailchimp loader is an API key. The behaviour of the component is defined by the name(s) of the input CSV file(s) in Data In and its fields (columns).

Requirements

To set up the Mailchimp loader configuration, you will need a Mailchimp account with at least a manager level of access to obtain an API key.

Learn more: about user levels in Mailchimp, please refer to this article

Data In/Data Out

Data In

CSV files for the Mailchimp loader should be located in the `data/in/tables` folder.

The names and the structure of the tables are the key parameters for setting up the Mailchimp loader configuration. The structure of the input data is described below in the Configuration Parameters section.

Data Out N/A

Learn more: about the folder structure here.

 

Parameters

API Key (required)

The API Key allows accessing the data without sharing credentials with third-party applications and is needed for Meiro Integrations to get access to the Mailchimp data. 

The API key can be generated in Mailchimp account (manager level of access is needed) and copy-pasted to Meiro Integrations:   go to Account → Extras → API Keys → Create A Key → Copy API key

Connector-Mailchimp-API-key.png

Connector-Mailchimp-Create-API-key.png

Learn more: about Mailchimp API keys, please check this article.

Input Data

The tables you provide will determine the component’s behaviour. The input table names are hardcoded and unambiguously determine the action of the component. 

An input table(s) for each action might contain many optional fields based on parameters described in Mailchimp API. To avoid redundancy in this article we will describe only required and the most important optional fields for each action.

Learn more:  the Mailchimp documentation to explore optional fields available for uploading.

Notation Conventions 

The following notation conventions are used:

  • Each action is followed by the name of the table(s) which determine the component’s behaviour.
  • Each field described as name | format/option | comments (if applicable).
  • Possible options if applicable are listed as follows: <option1, option2>.
  • Fields marked with * (below) are mandatory.
  • You can completely leave out the non-mandatory columns from the CSV table.
  • Boolean values must be either true or false (an empty string is treated as false).
  • Nested fields are separated from a parent with __ (double underscore aka the "dunder"). So, contact__company means that the company field is nested inside the contact. The same applies to merge tags.
Create new lists

Create a new list(s) without adding new members to the list(s).

Input: new_lists.csv   

 

Fields:

new_lists.csv

name* | string

contact__company* | string

contact__address1* | string

contact__address2 | string

contact__city* | string

contact__state* | string

contact__zip* | string

contact__country* | string

contact__phone | string

permission_reminder* | string

use_archive_bar | boolean

campaign_defaults__from_name* | string

campaign_defaults__from_email* | string

campaign_defaults__subject* | string

campaign_defaults__language* | string

notify_on_subscribe | string

notify_on_unsubscribe | string

email_type_option* | boolean

visibility | <pub, prv>

 

Update existing lists 

Updates existing information about the existing list(s). In the case of optional fields, only provided fields will be updated.

Input: update_lists.csv

Fields: the same as in new_lists.csv input.

Add members to a new list(s)

Allows to create a new list and add new members in one action. 

Input Data new_lists.csv, add_members.csv

Fields

new_lists.csv

custom_id* | string | is used as a reference for add_members.csv table

name* | string

contact__company* | string

contact__address1* | string

contact__address2 | string

contact__city* | string

contact__state* | string

contact__zip* | string

contact__country* | string

contact__phone | string

permission_reminder* | string

use_archive_bar | boolean

campaign_defaults__from_name* | string

campaign_defaults__from_email* | string

campaign_defaults__subject* | string

campaign_defaults__language* | string

notify_on_subscribe | string

notify_on_unsubscribe | string

email_type_option* | boolean

visibility | <pub, prv>

add_members.csv

custom_list_id* | string | reference to a new list defined as ‘custom_id’ in new_lists.csv

status_if_new* | <"subscribed", "unsubscribed", "cleaned", "pending", "transactional"> | defines status assigned to a new email address

email_address* | string

status | <"subscribed", "unsubscribed", "cleaned", "pending", "transactional"> | defines status assigned to an existing email address

language | string

Merge_fields__{merge_tag}__{merge_tag} | string | maximum 2 levels nesting (applies to ADDRESS merge tag. Check merge tags cheatsheet for the details.

Add members to an existing list

Adds members to an existing list(s).

Input add_members.csv

Fields

list_id* | string | the list where you want this member to be added

status_if_new* | <"subscribed", "unsubscribed", "cleaned", "pending", "transactional"> | defines status assigned to a new email address

email_address* | string

status | <"subscribed", "unsubscribed", "cleaned", "pending", "transactional"> | defines status assigned to an existing email address

language | string

Merge_fields__{merge_tag}__{merge_tag} | string | maximum 2 levels nesting (applies to ADDRESS merge tag. Check merge tags cheatsheet for the details.

Update members data in existing lists

Updates members’ data in existing lists.

Check documentation for the reference to optional fields.

Input update_members.csv

Fields

list_id* | string | the list from which you want this member to be updated

email_address* | string

status | <"subscribed", "unsubscribed", "cleaned", "pending", "transactional"> | defines status assigned to an existing email address

language | string

Delete members from existing lists

Input delete_members.csv

Fields

list_id* | string | the list from which you want this member to be deleted

email_address* | string