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:
- The first step is to
- Set up the loader as a destination in CDP.
- Continue with exporting your segmented customer profiles. Refer to
thisthis 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.
Learn more: Mailchimp API reference, Merge tags cheatsheet
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
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 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
orfalse
(an empty string is treated asfalse
). - Nested fields are separated from a parent with
__
contact__company
means that thecompany
field is nested inside thecontact
. The same applies to merge tags.
Create new lists |
Create a new list(s) without adding new members to the list(s). Input:
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 |
Updates existing information about the existing list(s). In the case of optional fields, only provided fields will be updated. Input: Fields: the same as in |
Add members to a new list(s) |
Allows to create a new list and add new members in one action. Input Data Fields
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>
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 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 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 Fields list_id* | string | the list from which you want this member to be deleted email_address* | string |