CRM migration
Field-level mapping, validation, and rollback between Iterable and Mailchimp. We move data and schema; workflows are rebuilt natively in Mailchimp.
Iterable
Source
Mailchimp
Destination
Compatibility
5 of 8
objects map 1:1 between Iterable and Mailchimp.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Iterable to Mailchimp is a structural simplification in most cases. Iterable organizes contact data around a flexible user profile schema with unlimited custom fields, behavioral event tracking, catalog product data, and multi-channel journey orchestration across email, SMS, push, and in-app. Mailchimp organizes around Contacts within Audiences, using merge fields for profile data, Tags for segmentation, and Customer Journeys for email automation. We migrate the contact profile (including custom field values), list memberships (as multi-audience membership or tag-based segmentation), subscription status per channel, and campaign metadata. We flag three structural gaps upfront: Iterable's Catalog items have no native Mailchimp equivalent, custom objects require a flat-field or external table approach, and multi-channel Journey logic cannot migrate as code. We deliver a written automation inventory documenting every Iterable Journey and its recommended Mailchimp Customer Journey replacement so your admin can rebuild post-migration. SMS subscriptions, if present, require a separate Mailchimp SMS setup because Mailchimp's SMS add-on operates independently of the email audience.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Iterable object lands in Mailchimp, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Iterable
User Profile
Mailchimp
Contact
1:1Iterable user profiles map directly to Mailchimp contacts. The dataId and email fields are the primary identifiers; we use email as the Mailchimp contact key to avoid duplicates during import. Custom profile fields in Iterable (beyond email, first name, last name) map to Mailchimp merge fields (FNAME, LNAME, PHONE, and custom MERGE1-MERGE8 depending on plan tier). Iterable's field limit of 8,000 unique fields means large deployments may need field consolidation before mapping to Mailchimp's constrained merge field schema. We flag any Iterable field with no Mailchimp equivalent and recommend a tag taxonomy or external data store for data that cannot fit in merge fields.
Iterable
List
Mailchimp
Audience
1:1Iterable lists map to Mailchimp audiences. Each Iterable list becomes a separate Mailchimp audience so that existing segmentation logic and list-based Journey triggers can be mapped. Mailchimp allows a contact to belong to multiple audiences, which mirrors Iterable's list membership model. We export list names, list IDs, and the full user-to-list membership mapping from Iterable and create corresponding audiences in Mailchimp before importing contacts. Note that Mailchimp's Essentials plan is limited to 3 audiences and Standard to 5; Enterprise plans allow unlimited audiences.
Iterable
Subscription
Mailchimp
Contact Status
1:1Iterable's channel-level subscription state (email, SMS, push, in-app) maps to Mailchimp's contact status. Email unsubscribes migrate as unsubscribed status; bounces migrate as cleaned (bounced) status; complaints migrate as complaints. SMS opt-out status does not transfer directly because Mailchimp SMS operates on a separate consent mechanism. We export the full subscription event history from Iterable and create a suppression import file for Mailchimp to prevent emailing unsubscribed or bounced contacts during and after migration.
Iterable
Campaign
Mailchimp
Campaign
1:1Iterable campaigns (with channel type, send status, schedule, and template reference) map to Mailchimp campaigns at the metadata level. Campaign content (HTML, subject line, from name, preview text) is migrated as template content. We export campaign metadata but note that historical open rates, click rates, and delivery statistics are best-effort because Mailchimp recalculates engagement metrics from the moment of import rather than preserving Iterable's historical reporting data.
Iterable
Template
Mailchimp
Template
1:1Iterable templates (HTML email, plain text, and dynamic Handlebars-style personalization) map to Mailchimp templates. Handlebars variable syntax does not transfer directly; we convert Iterable personalization variables (e.g., {{firstName}}, {{event.ProductName}}) to Mailchimp merge field syntax (*|FNAME|*, *|MFVAL:field_name|*) during the content migration phase. Complex dynamic content blocks referencing Iterable Catalog data are flagged for manual rebuild because Mailchimp templates do not support Iterable's catalog content injection model.
Iterable
Custom Event
Mailchimp
Tag
1:manyIterable custom events have no native Mailchimp equivalent. We handle this as a tag-based proxy: event names become Mailchimp tags applied to the relevant contact (e.g., 'purchased', 'viewed_product', 'abandoned_cart'), and event metadata is stored as tag metadata or custom field values where space permits. Behavioral event history that requires temporal ordering (e.g., the sequence of events for a user) is documented in a separate event log file that the customer's team can reference or load into an external analytics tool. This is a known trade-off when migrating from event-driven Iterable to contact-centric Mailchimp.
Iterable
Journey
Mailchimp
Customer Journey
lossyIterable Journeys (multi-step, multi-channel automation paths) cannot migrate as code to Mailchimp Customer Journeys. The architectural models differ too significantly: Iterable Journeys support branching logic, multi-channel message actions (email, SMS, push, in-app), catalog content injection, and event-triggered re-entry. Mailchimp Customer Journeys support email-focused automation with trigger-based entry, simple branching, and delay actions. We deliver a written Journey inventory documenting every active Iterable Journey with its trigger conditions, message steps, branching logic, and a recommended Mailchimp Customer Journey rebuild recommendation. The customer's marketing team rebuilds Journeys post-migration.
Iterable
Catalog Item
Mailchimp
Product (via integration or custom fields)
lossyIterable Catalog is a structured product data store used for dynamic content insertion in messages (e.g., personalized product recommendations). Mailchimp has no native catalog object. For migrations where catalog data is central to the marketing operation, we export the catalog schemas and item records and design a flat product table (as custom fields or a separate product reference file) that can be used by the customer's development team to populate a connected e-commerce integration. If the customer uses Shopify, WooCommerce, or BigCommerce, Mailchimp's native product sync can replace Iterable's catalog functionality after migration.
| Iterable | Mailchimp | Compatibility | |
|---|---|---|---|
| User Profile | Contact1:1 | Fully supported | |
| List | Audience1:1 | Fully supported | |
| Subscription | Contact Status1:1 | Fully supported | |
| Campaign | Campaign1:1 | Fully supported | |
| Template | Template1:1 | Fully supported | |
| Custom Event | Tag1:many | Fully supported | |
| Journey | Customer Journeylossy | Fully supported | |
| Catalog Item | Product (via integration or custom fields)lossy | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Iterable gotchas
Iterable does not allow field deletion
Separate API endpoints for US and EU data centers
Soft limit of 8,000 unique fields per project
Enterprise pricing is opaque and contract-based
Usage metrics lag by one calendar day
Mailchimp gotchas
Contact count includes unsubscribed and non-subscribed records
Automation workflows cannot be exported
Account suspensions trigger silently during migration
Template HTML is Mailchimp-specific and may not render in other platforms
E-commerce data requires active store connection
Pair-specific challenges
Migration approach
Discovery and field audit
We audit the source Iterable account for user profile field count, list count and membership volume, campaign history, active Journey count, custom event types, and Catalog schemas. We confirm the Iterable data center (US or EU) and API key scope to use the correct base URL for extraction. We cross-reference the Iterable field count against Mailchimp's plan-tier merge field limits and flag any fields requiring tag-based or external-file handling. The discovery output is a written migration scope with object mapping, a field consolidation plan if needed, and a Journey inventory template for the customer to review.
Subscription and suppression list preparation
We export all Iterable subscription records by channel (email, SMS, push, in-app) and build a suppression import file for Mailchimp. This file includes unsubscribed, bounced, and complained contacts to ensure Mailchimp respects existing opt-outs from the moment of first send. We import suppression lists into Mailchimp before any contact import begins so that opt-out status is enforced from day one. SMS opt-out status is flagged separately because Mailchimp SMS consent is managed independently of the email audience.
Audience creation and contact import
We create Mailchimp audiences matching the Iterable list structure, respecting per-plan audience limits (3 for Essentials, 5 for Standard, unlimited for Premium). We import contacts using Mailchimp's bulk import API with email as the dedupe key to avoid duplicate contacts. Custom Iterable profile fields map to Mailchimp merge fields in priority order; remaining fields map to tags. We batch imports in chunks of 5,000 contacts to respect Mailchimp API rate limits and use exponential backoff on throttling responses.
Template and campaign content migration
We export Iterable template content and convert Handlebars personalization variables to Mailchimp merge field syntax. Campaign metadata (subject lines, send dates, from names) is imported into Mailchimp as a campaign history reference. Note that engagement metrics (opens, clicks) do not transfer; Mailchimp begins tracking from the migration date forward. We flag any template with Iterable Catalog content injection or dynamic product blocks as requiring manual rebuild in Mailchimp's template editor.
Automation inventory handoff
We document every active Iterable Journey in a written inventory that the customer's marketing team uses to rebuild in Mailchimp Customer Journeys. The inventory includes the Journey name, trigger type, step count, message actions per step, branching conditions, and a recommended Mailchimp Customer Journey rebuild recommendation. We do not rebuild Journeys as code; the complexity and structural difference between the two automation models makes a code-migration approach unreliable. The customer's admin uses the inventory to rebuild Journeys post-migration with Mailchimp's visual Customer Journey builder.
Cutover and validation
We freeze Iterable writes during the cutover window and run a final delta import to capture any contacts modified since the initial extraction. We reconcile contact counts between Iterable and Mailchimp (allowing for suppression list exclusions) and spot-check 20-30 records for field-level accuracy. We deliver the final migration report, the automation inventory document, and the catalog export file. We do not provide post-migration admin support as standard scope; any additional reconciliation, CRM integration setup, or workflow rebuild is a separate engagement.
Platform deep dives
Iterable
Source
Strengths
Weaknesses
Mailchimp
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between Iterable and Mailchimp.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Iterable and Mailchimp.
Object compatibility
All 8 core objects map 1:1 between Iterable and Mailchimp.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Iterable: Not publicly documented; returns RateLimitExceeded code on limit.
Data volume sensitivity
Iterable exposes a bulk API — large-volume migrations stream efficiently.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Iterable to Mailchimp migration scoping. Not seeing yours? Book a call.
Walk through your Iterable to Mailchimp migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Iterable
Other ways to arrive at Mailchimp
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.