Loader Mailchimp
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 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
To find out 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.
Refer: 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
orfalse
(an empty string is treated asfalse
). - Nested fields are separated from a parent with
__
(double underscore aka the "dunder"). So,contact__company
means that thecompany
field is nested inside thecontact
. The same applies to merge tags.
Create new listsCreate a new list(s) without adding new members to the list(s).
Input new_lists.csv
Fields
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 deleted
email_address* | 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