Overview
Mailchimp is an email marketing and automation platform used for audience management, email campaigns, and marketing analytics. This connector extracts audiences and their members, segments, email campaigns, campaign reports, and automation workflows from the Mailchimp Marketing API.Configuration
1
Add account access
You can connect Mailchimp using either an API key or OAuth.
Instead of an API key, you can click Authorization to connect via OAuth and grant access without copying a key. Use one method or the other.
2
Select streams
Choose which streams you want to sync. Available streams are listed in the Streams and Fields section below.
3
Configure data streams
For each selected stream, configure:
- Layer: Choose the destination layer (e.g., Bronze).
- Folder: Organize data within the layer.
- Table name: The table name in your lakehouse.
- Sync Type: Incremental (recommended) or Full Sync.
4
Configure data source
Set up the source-level configuration:
- Description: Add a description for this data source.
- Triggers: Configure sync triggers (schedule or manual).
- Delta Log Retention Days: Number of days to retain delta log history.
- Full Sync: Optionally force a full sync on first run.
5
Check your new source
After saving, verify the source appears in your Sources list. Run a manual sync to validate that data flows correctly.
Streams and Fields
lists
lists
Audiences (lists) in the account, including contact details, signup settings, and aggregate stats. Synced as a full table.
list_members
list_members
Members (contacts) of each audience. Child of
lists. Supports incremental sync via last_changed.segments
segments
Segments within each audience. Child of
lists. Supports incremental sync via updated_at.campaigns
campaigns
Email campaigns including recipients, settings, tracking, and a report summary. Supports incremental sync via
create_time.reports
reports
Per-campaign aggregate reports. The
id matches the campaign id. Supports incremental sync via send_time.automations
automations
Classic automation workflows including recipients, settings, and a report summary. Supports incremental sync via
create_time.Implementation Notes
- Authentication: HTTP Basic Auth with the API key (any username, API key as password), or OAuth via the Authorization button. The data center (e.g.
us9) is resolved from the API key suffix or the OAuth metadata endpoint. - Pagination: The connector paginates with
countandoffset, fetching all pages up to each endpoint’s total. - Incremental sync:
list_members,segments,campaigns,reports, andautomationssync incrementally using Mailchimp’ssince_*date filters.listsis full-table only, since Mailchimp exposes only a creation date for audiences. - JSON fields: Fields with audience-specific or variable structure —
merge_fields,interests(members),options(segments), andtrigger_settings(automations) — are serialized as JSON strings. Parse them downstream as needed. - Child streams:
list_membersandsegmentsare synced per audience, using the parentlistsstream to provide eachlist_id.