Mailchimp Source

More than 10 million people and businesses around the world use MailChimp to send marketing emails, automated messages, and targeted campaigns. Segment makes it easy to get your data from Mailchimp (and lots of other sources) into your Data Warehouse for advanced analysis.

Take your company’s analysis to the next level by having SQL access to all your Mailchimp data alongside your customer event data in Redshift and Postgres.

With your Mailchimp data in your warehouse, you’ll be able to analyze your campaigns, conversations and lists in SQL. Even cooler, you’ll be able to join your Mailchimp data with the Segment event data you’re already sending to your warehouse, so you can now do things like combining your email campaign and activity data with website and product usage data and analyzing them using your favorite business intelligence and sql querying tools.

Please Note: The Mailchimp Source is still in alpha. Data may sometimes be inaccurate, and the service may occasionally be unavailable or buggy. That said, we’re totally committed to fixing things as quickly as we can, and we’re working to improve it quickly. Our hope is that by opening this up to more users, we can more rapidly improve! In return for early access, we ask for your feedback and bug reports. Thanks!

Getting Started

  1. From your workspace’s /sources page, click add source.

  2. Choose Mailchimp.

  3. Give the source a nickname and a schema name. The nickname will be used to designate the source in the Segment interface, and the schema name is the namespace you’ll be querying against in your warehouse. Both can be whatever you like, but we recommend sticking to something that reflects the source itself, like Mailchimp for nickname and mailchimp or email or chimp_prod for the schema name.

    Note that you can add multiple instances if you have multiple Mailchimp accounts. That’s why we allow you to customize the source’s nickname and schema name!

  4. Next, provide credentials to an account with API permissions to access your Mailchimp data. It is recommended that you create a brand new api key for the Segment source. MailChimp restricts each api key to a maximum of 10 concurrent requests, so creating a dedicated one for Segment will ensure maximum throughput. You can find your API key in Account > Extras > API Keys. You can read more about API keys on MailChimp’s docs.

  1. Paste the newly created key into the Segment setup flow:



Mailchimp has a sync component, which means we’ll make requests to their API on your behalf on a 3 hour interval to pull the latest data into Segment. In the initial sync, we’ll grab all the Mailchimp objects (and their corresponding properties) according to the Collections table below. The objects will be written into a separate schema, corresponding to the source instance’s schema name you designated upon creation. For example, if you went with mailchimp, the lists collection will be accessible at mailchimp.lists in SQL.

Our sync component uses an upsert API, so the data in your warehouse loaded via sync will reflect the latest state of the corresponding resource in Mailchimp. For example, if status goes from subscribed to unsubscribed between syncs, on its next sync that tickets status will be unsubscribed.

The source syncs and warehouse syncs are independent processes. Source runs pull your data into the Segment Hub, and warehouse runs flush that data to your warehouse. Sources will sync with Segment every 3 hours. Depending on your Warehouses plan, we will push the Source data to your warehouse on the interval associated with your billing plan.

At the moment, we don’t support filtering which objects or properties get synced. If you’re interested in this feature, please let us know!


Collections are the groupings of resources we pull from your source. In your warehouse, each collection gets its own table.

For a complete visual breakdown of the Mailchimp collections, all their properties, and ID linkages between objects, view the visual schema here or download it in PDF form here.

conversationsobjectConversation tracking is a paid feature that lets you view subscribers’ replies to your campaigns from inside your MailChimp account. Fetched via Mailchimp’s /conversationsendpoint.
listsobjectThe state of your various lists in Mailchimp. Fetched via Mailchimp’s /lists endpoint.
campaignsobjectYour Mailchimp campaigns. Fetched via Mailchimp’s /lists endpoint.
subscriber activityobjectCurrently unavailable Mailchimp’s subscriber activity endpoint cannot support our Sources product. If you are interested in this collection, please reach out to your MailChimp Client Success Manager and request that they update their export API functionality.*

If you have any questions or see anywhere we can improve our documentation, please let us know or kick off a conversation in the Segment Community!