This integration is powered by Singer's MailChimp tap and certified by Stitch. Check out and contribute to the repo on GitHub.
For support, contact Stitch support.
MailChimp integration summary
Stitch’s MailChimp integration replicates data using the MailChimp API 3.0. Refer to the Schema section for a list of objects available for replication.
MailChimp feature snapshot
A high-level look at Stitch's MailChimp (v1) integration, including release status, useful links, and the features supported in Stitch.
STITCH | |||
Release status |
Released on March 9, 2020 |
Supported by | |
Stitch plan |
Standard |
API availability |
Available |
Singer GitHub repository | |||
REPLICATION SETTINGS | |||
Anchor Scheduling |
Supported |
Advanced Scheduling |
Supported |
Table-level reset |
Unsupported |
Configurable Replication Methods |
Unsupported |
DATA SELECTION | |||
Table selection |
Supported |
Column selection |
Supported |
Select all |
Supported |
||
TRANSPARENCY | |||
Extraction Logs |
Supported |
Loading Reports |
Supported |
Connecting MailChimp
MailChimp setup requirements
To set up MailChimp in Stitch, you need:
-
To verify your access in MailChimp. Stitch will only be able to replicate the same data as the user who authorizes the integration.
If this user has restricted permissions - meaning the user doesn’t have access to all campaigns or lists, for example - Stitch may encounter issues replicating data.
Step 1: Add MailChimp as a Stitch data source
- Sign into your Stitch account.
-
On the Stitch Dashboard page, click the Add Integration button.
-
Click the MailChimp icon.
-
Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.
For example, the name “Stitch MailChimp” would create a schema called
stitch_mailchimp
in the destination. Note: Schema names cannot be changed after you save the integration.
Step 2: Define the historical replication start date
The Sync Historical Data setting defines the starting date for your MailChimp integration. This means that:
- For tables using Key-based Incremental Replication, data equal to or newer than this date will be replicated to your destination.
- For tables using Full Table Replication, all data - including records that are older, equal to, or newer than this date - will be replicated to your destination.
Change this setting if you want to replicate data beyond MailChimp’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.
Step 3: Create a replication schedule
In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.
MailChimp integrations support the following replication scheduling methods:
-
Advanced Scheduling using Cron (Advanced or Premium plans only)
To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.
Step 4: Authorize Stitch to access MailChimp
- When finished in the Integration Settings page, click the Authorize button. You’ll be prompted to sign into your MailChimp account.
- Sign into your MailChimp account.
- After the authorization process is successfully completed, you’ll be directed back to Stitch.
- Click All Done.
Step 5: Set objects to replicate
The last step is to select the tables and columns you want to replicate. Learn about the available tables for this integration.
Note: If a replication job is currently in progress, new selections won’t be used until the next job starts.
For MailChimp integrations, you can select:
-
Individual tables and columns
-
All tables and columns
Click the tabs to view instructions for each selection method.
- In the integration’s Tables to Replicate tab, locate a table you want to replicate.
-
To track a table, click the checkbox next to the table’s name. A blue checkmark means the table is set to replicate.
-
To track a column, click the checkbox next to the column’s name. A blue checkmark means the column is set to replicate.
- Repeat this process for all the tables and columns you want to replicate.
- When finished, click the Finalize Your Selections button at the bottom of the screen to save your selections.
- Click into the integration from the Stitch Dashboard page.
-
Click the Tables to Replicate tab.
- In the list of tables, click the box next to the Table Names column.
-
In the menu that displays, click Track all Tables and Fields:
- Click the Finalize Your Selections button at the bottom of the page to save your data selections.
Initial and historical replication jobs
After you finish setting up MailChimp, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.
For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.
Initial replication jobs with Anchor Scheduling
If using Anchor Scheduling, an initial replication job may not kick off immediately. This depends on the selected Replication Frequency and Anchor Time. Refer to the Anchor Scheduling documentation for more information.
Free historical data loads
The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.
MailChimp table reference
Schemas and versioning
Schemas and naming conventions can change from version to version, so we recommend verifying your integration’s version before continuing.
The schema and info displayed below is for version 1 of this integration.
This is the latest version of the MailChimp integration.
Table and column names in your destination
Depending on your destination, table and column names may not appear as they are outlined below.
For example: Object names are lowercased in Redshift (CusTomERs
> customers
), while case is maintained in PostgreSQL destinations (CusTomERs
> CusTomERs
). Refer to the Loading Guide for your destination for more info.
automations
Replication Method : |
Full Table |
Primary Key |
id |
API endpoint : |
The automations
table contains summary info about your MailChimp account’s automations. In MailChimp, an automation is a feature that sends a series of emails to subscribers when triggered by a specific date, activity, or event.
id
The automation ID. |
||||||||||||
create_time
The date and time the Automation was created in ISO 8601 format. |
||||||||||||
emails_sent
|
||||||||||||
recipients
The list settings for the automation.
|
||||||||||||
report_summary
A summary of opens, clicks, and unsubscribes for sent campaigns.
|
||||||||||||
settings
The settings for the automation workflow.
|
||||||||||||
start_time
The date and time the Automation was started in ISO 8601 format. |
||||||||||||
status
The current status of the Automation. Possible values are:
|
||||||||||||
tracking
The tracking options for the automation.
|
||||||||||||
trigger_settings
Available triggers for automation workflows.
|
campaigns
Replication Method : |
Full Table |
Primary Key |
id |
API endpoint : |
The campaigns
table contains info about the campaigns in your MailChimp account.
id
The campaign ID. Reference: |
||||||||||||||||
archive_url
The link to the campaign’s archive version in ISO 8601 format. |
||||||||||||||||
content_type
How the campaign’s content is put together. Possible values are:
|
||||||||||||||||
create_time
The date and time the campaign was created in ISO 8601 format. |
||||||||||||||||
delivery_status
Updates on campaigns in the process of sending.
|
||||||||||||||||
emails_sent
The total number of emails sent for this campaign. |
||||||||||||||||
has_logo_merge_tag
Determines if the campaign contains the |
||||||||||||||||
long_archive_url
The original link to the campaign’s archive version. |
||||||||||||||||
needs_block_refresh
Determines if the campaign needs its blocks refreshed by opening the web-based campaign editor. |
||||||||||||||||
recipients
List settings for the campaign.
|
||||||||||||||||
report_summary
For sent campaigns, a summary of opens, clicks, and e-commerce data.
|
||||||||||||||||
resendable
Determines if the campaign qualifies to be resent to non-openers. |
||||||||||||||||
send_time
The date and time a campaign was sent. |
||||||||||||||||
settings
The settings for the campaign.
|
||||||||||||||||
social_card
The preview for the campaign, rendered by social networks like Facebook and Twitter.
campaigns (table), social_card (attribute)
|
||||||||||||||||
status
The current status of the campaign. |
||||||||||||||||
tracking
The tracking options for the campaign.
|
||||||||||||||||
type
The type of the campaign. Possible values are:
|
||||||||||||||||
web_id
The ID used in the MailChimp web application. View this campaign in your MailChimp account at |
Replication Method : |
Full Table |
Primary Key |
id |
API endpoint : |
The lists
table contains info about all the lists in your MailChimp account. A list is also known as an audience, and is where all contacts are stored and managed in MailChimp.
id
The list ID. Reference: |
||||||||||||||||
beamer_address
The list’s Email Beamer address. |
||||||||||||||||
campaign_defaults
Default values for campaigns created for this list.
|
||||||||||||||||
contact
Contact information displayed in campaign footers to comply with international spam laws.
|
||||||||||||||||
date_created
The date and time that this list was created in ISO 8601 format. |
||||||||||||||||
double_optin
Whether or not to require the subscriber to confirm subscription via email. |
||||||||||||||||
email_type_option
Whether the list supports multiple formats for emails. When set to |
||||||||||||||||
has_welcome
Whether or not this list has a welcome automation connected. |
||||||||||||||||
list_rating
An auto-generated activity score for the list ( |
||||||||||||||||
marketing_permissions
Whether or not the list has marketing permissions (eg. GDPR) enabled. |
||||||||||||||||
modules
Any list-specific modules installed for this list. |
||||||||||||||||
name
The name of the list. |
||||||||||||||||
notify_on_subscribe
The email address to send subscribe notifications to. |
||||||||||||||||
notify_on_unsubscribe
The email address to send unsubscribe notifications to. |
||||||||||||||||
permission_reminder
The permission reminder for the list. |
||||||||||||||||
stats
Stats for the list. According to MailChimp,
|
||||||||||||||||
subscribe_url_long
The full version of this list’s subscribe form (host will vary). |
||||||||||||||||
subscribe_url_short
MailChimp’s EepURL shortened version of this list’s subscribe form. |
||||||||||||||||
use_archive_bar
Whether campaigns for this list use the Archive Bar in archives by default. |
||||||||||||||||
visibility
Indicates if the list is public or private. Possible values are:
|
||||||||||||||||
web_id
The ID used in the MailChimp web application. View this list in your MailChimp account at |
list_members
Replication Method : |
Key-based Incremental |
Replication Key |
last_modified |
Primary Key |
id : list_id |
API endpoint : |
The list_members
table contains info about the members in a specific MailChimp list, including currently subscribed, unsubscribed, and bounced members.
id
The list member ID. This is the MD5 hash of the lowercase version of the list member’s email address. |
||||||
list_id
The list ID. Reference: |
||||||
last_changed
The date and time the member’s info was last changed in ISO 8601 format. |
||||||
email_address
Email address for a subscriber. |
||||||
email_client
The list member’s email client. |
||||||
email_type
The type of email this member asked to get. Possible values are:
|
||||||
ip_opt
The IP address the subscriber used to confirm their opt-in status. |
||||||
ip_signup
The IP address the subscriber signed up from. |
||||||
language
If set/detected, the subscriber’s language. |
||||||
location
Subscriber location information.
|
||||||
member_rating
Star rating for this member, between |
||||||
merge_fields
An individual merge var and value for a member. |
||||||
source
The source from which the subscriber was added to this list. |
||||||
stats
Open and click rates for this subscriber.
|
||||||
status
Subscriber’s current status. Possible values are:
|
||||||
tags
The tags applied to this member.
list_members (table), tags (attribute)
|
||||||
tags_count
The number of tags applied to this member. |
||||||
timestamp_opt
The date and time the subscribe confirmed their opt-in status in ISO 8601 format. |
||||||
timestamp_signup
The date and time the subscriber signed up for the list in ISO 8601 format. |
||||||
unique_email_id
An identifier for the address across all of MailChimp. |
||||||
unsubscribe_reason
A subscriber’s reason for unsubscribing. |
||||||
vip
The VIP status for the subscriber. |
||||||
web_id
The ID used in the MailChimp web application. View this campaign in your MailChimp account at |
list_segments
Replication Method : |
Full Table |
Primary Key |
id |
API endpoint : |
The list_segments
table contains info about the available segments for a specific list.
id
The unique ID for the segment. |
||||||
updated_at
The date and time the segment was last updated in ISO 8601 format. |
||||||
created_at
The date and time the segment was created in ISO 8601 format. |
||||||
list_id
The list ID. Reference: |
||||||
member_count
The number of active subscribers currently included in the segment. |
||||||
name
The name of the segment. |
||||||
options
The conditions of the segment. Static segments (tags) and fuzzy segments don’t have conditions.
|
||||||
type
The type of segment. Possible values are:
|
list_segment_members
Replication Method : |
Full Table |
Primary Key |
id |
API endpoint : |
The list_segment_members
table contains info about members in a saved segment
id
The MD5 hash of the lowercase version of the list member’s email address. |
||||||
email_address
Email address for a subscriber. |
||||||
email_client
The list member’s email client. |
||||||
email_type
The type of email this member asked to get. Possible values are:
|
||||||
interests
The key of this object’s properties is the ID of the interest in question. |
||||||
ip_opt
The IP address the subscriber used to confirm their opt-in status. |
||||||
ip_signup
The IP address the subscriber signed up from. |
||||||
language
If set/detected, the subscriber’s language. |
||||||
last_changed
|
||||||
list_id
The list ID. Reference: |
||||||
location
Subscriber location information.
|
||||||
member_rating
Star rating for this member, between |
||||||
merge_fields
An individual merge var and value for a member. |
||||||
stats
Open and click rates for this subscriber.
|
||||||
status
Subscriber’s current status. Possible values are:
|
||||||
timestamp_opt
The date and time the subscribe confirmed their opt-in status in ISO 8601 format. |
||||||
timestamp_signup
The date and time the subscriber signed up for the list in ISO 8601 format. |
||||||
unique_email_id
An identifier for the address across all of MailChimp. |
||||||
vip
The VIP status for the subscriber. |
reports_email_activity
Replication Method : |
Key-based Incremental |
Replication Key |
dateTime of email activity |
Primary Key |
action : campaign_id : email_id : timestamp |
API endpoint : |
The reports_email_activity
table contains info about a member’s subscriber activity in a specific campaign.
action
The action performed on the email. Possible values are:
|
campaign_id
The campaign ID. Reference: |
email_id
The MD5 hash of the lowercase version of the list member’s email address. |
timestamp
The date and time recorded for the action in ISO 8601 format. |
email_address
Email address for a subscriber. |
ip
The IP address recorded for the action. |
list_id
The list ID. Reference: |
list_is_active
|
type
Applicable to
|
url
Applicable to |
unsubscribes
Replication Method : |
Full Table |
Primary Key |
campaign_id : email_id |
API endpoint : |
The unsubscribes
table contains info about members who have unsubscribed from a specific campaign.
campaign_id
The campaign ID. Reference: |
email_id
The MD5 hash of the lowercase version of the list member’s email address. |
email_address
Email address for a subscriber. |
list_id
The list ID. Reference: |
list_is_active
The status of the list used, namely if it’s deleted or disabled. |
merge_fields
An individual merge var and value for a member. |
reason
If available, the reason listed by the member for unsubscribing. |
timestamp
The date and time the member opted-out in ISO 8601 format. |
vip
The VIP status for the subscriber. |
Related | Troubleshooting |
Questions? Feedback?
Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.