Mailchimp Migration Guide
Upgrading to 2.0.0
Version 2.0.0 introduces state changes to some incremental streams and new primary key for stream Segment Members
.
We're continuously striving to enhance the quality and reliability of our connectors at Airbyte. As part of our commitment to delivering
exceptional service, we are transitioning source Mailchimp from the Python Connector Development Kit (CDK) to our innovative low-code
framework. This is part of a strategic move to streamline many processes across connectors, bolstering maintainability and freeing us to
focus more of our efforts on improving the performance and features of our evolving platform and growing catalog. However, due to
differences between the Python and low-code CDKs, this migration constitutes a breaking change.
We’ve evolved and standardized how state is managed for incremental streams that are nested within a parent stream. This change impacts how
individual states are tracked and stored for each partition, using a more structured approach to ensure the most granular and flexible state
management. This change will affect the unsubscribes
, segments
, segment_members
, list_members
and email_activity
streams.
To gracefully handle these changes for your existing connections, we highly recommend resetting your data before resuming your data syncs with the new version.
Migration Steps
Refresh affected schemas and reset data
- Select Connections in the main nav bar.
- Select the connection(s) affected by the update.
- Select the Replication tab.
- Select Refresh source schema.
- Select OK.
Any detected schema changes will be listed for your review.
- Select Save changes at the bottom of the page.
- Ensure the Reset affected streams option is checked.
Depending on destination type you may not be prompted to reset your data.
- Select Save connection.
This will reset the data in your destination and initiate a fresh sync.
For more information on resetting your data in Airbyte, see this page.
Upgrading to 1.0.0
Version 1.0.0 of the Source Mailchimp connector introduces a number of breaking changes to the schemas of all incremental streams. A full schema refresh and data reset are required when upgrading to this version.
Upgrade steps
- Select Connections in the main navbar.
- From the list of your existing connections, select the connection(s) affected by the update.
- Select the Replication tab, then select Refresh source schema.
Any detected schema changes will be listed for your review. Select OK when you are ready to proceed.
- At the bottom of the page, select Save changes. Ensure the Reset all streams option is checked.
Depending on the destination type, you may not be prompted to reset your data
- Select Save connection. This will reset the data in your destination (if applicable) and initiate a fresh sync.
Changes
- The
._links
field, which contained non-user-relevant Mailchimp metadata, has been removed from all streams. - All instances of datetime fields have had their type changed from
string
to airbyte-typetimestamp-with-timezone
. This change should ensure greater precision and consistency in how datetime information is represented and processed by destinations. - The Mailchimp API returns many fields without data as empty strings. To accomodate the above changes, empty strings are now converted to null values:
{"id": "record_id", "last_opened": ""} -> {"id": "record_id", "last_opened": null}
Updated datetime fields
-
Automations:
create_time
send_time
-
Campaigns:
create_time
send_time
rss_opts.last_sent
ab_split_opts.send_time_a
ab_split_opts.send_time_b
variate_settings.send_times
(Array of datetime fields)
-
Email Activity:
timestamp
-
List Members:
timestamp_signup
timestamp_opt
last_changed
created_at
-
Lists:
date_created
stats.campaign_last_sent
stats.last_sub_date
stats.last_unsub_date
-
Reports:
send_time
rss_last_send
opens.last_open
clicks.last_click
ab_split.a.last_open
ab_split.b.last_open
timewarp.last_open
timeseries.timestamp
-
Segment Members:
timestamp_signup
timestamp_opt
last_changed
last_note.created_at
-
Segments:
created_at
updated_at
-
Unsubscribes:
timestamp