CRM migration
Field-level mapping, validation, and rollback between Cordial and Mailchimp. We move data and schema; workflows are rebuilt natively in Mailchimp.
Cordial
Source
Mailchimp
Destination
Compatibility
5 of 8
objects map 1:1 between Cordial and Mailchimp.
Complexity
BStandard
Timeline
2-3 weeks
Overview
Moving from Cordial to Mailchimp is a schema translation exercise. Cordial uses a flexible JSON-based data model with unlimited custom contact attributes, nested product variants, and behavioral event collections; Mailchimp uses a structured audience model with a fixed set of standard contact fields, up to 40 merge fields per audience, and no native variant concept. We resolve the structural gap by flattening Cordial product variants into individual product rows with parent-product references, normalizing Cordial array-type attributes (tags, color preferences, behavioral history) into Mailchimp merge fields or tags, and mapping channel preferences (email opt-in, SMS opt-in) to Mailchimp's unsubscribe status and interest groups. Cordial's dynamic segment rules do not export via API; we document each segment definition and which contacts currently match it so your team can recreate them as Mailchimp groups or pre-built filters. Cordial Programs and automation workflows similarly have no export path; we deliver a written inventory of every active Program with its triggers, delays, and actions for rebuild in Mailchimp's Customer Journey Builder. Message experiment results are not API-exportable from Cordial and must be captured manually from the UI before cutover.
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 Cordial 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.
Cordial
Contact
Mailchimp
Contact (Mailchimp Audience)
1:1Cordial Contacts map directly to Mailchimp contacts within an audience. Standard fields (email, first name, last name, phone) map to their Mailchimp equivalents. We export all custom contact attributes and map each to a Mailchimp merge field by key name. Array-type attributes (tags, color preferences, behavioral history) are normalized to delimited strings or tags during export. We flag any custom attributes that exceed Mailchimp's 40-merge-field limit and agree on consolidation strategy during scoping.
Cordial
Custom Contact Attribute (string, number, geo)
Mailchimp
Merge Field
1:1Cordial custom attributes of type string, number, and geo map to Mailchimp merge fields of corresponding type (text, number, address). We preserve the attribute key as the merge field tag and map the type to the closest Mailchimp-supported type. If the customer has more than 40 custom attributes, we identify the most business-critical ones for merge field mapping and document the remainder for tag-based tracking.
Cordial
Custom Contact Attribute (array-type)
Mailchimp
Merge Field or Tag
lossyCordial array-type attributes (favorite colors, tag lists, behavioral event arrays) require normalization. We discuss the strategy during scoping: small fixed-length arrays (e.g., color swatches) normalize to delimited text strings stored in a single merge field; larger or variable-length arrays (e.g., behavioral history) convert to Mailchimp tags where each array element becomes a tag on the contact. The customer chooses the strategy before migration.
Cordial
List
Mailchimp
Audience or Tag
1:manyCordial Lists are sub-collections within the Contact collection representing static segmented audiences. In Mailchimp, lists are audiences. We either create one Mailchimp audience per Cordial list (if the customer prefers strict separation) or migrate all contacts to a single audience and apply Cordial list membership as tags (if the customer prefers consolidation). The choice affects how segment rules translate to Mailchimp filters.
Cordial
Product
Mailchimp
Product
1:manyCordial Products store variants as nested JSON arrays under a single product record. Mailchimp has no native product variant concept. We unpack the variant array and generate one Mailchimp product row per SKU, preserving the parent Cordial product ID as a custom field (cordial_parent_product_id) to maintain the relationship. Variant-specific attributes (color, size, SKU code) become text fields on the product row.
Cordial
Channel Preferences (email, SMS)
Mailchimp
Unsubscribe Status and Interest Groups
1:1Cordial stores channel opt-in status as sub-attributes on contacts. Email opt-in maps to Mailchimp's global unsubscribe flag (Contacts who opted out in Cordial are unsubscribed in Mailchimp). SMS opt-in, if the customer activates Mailchimp SMS, maps to the SMS-specific consent flag. We export all channel preferences and map them to the appropriate Mailchimp subscription status field.
Cordial
Segment / Audience
Mailchimp
Group or Audience Filter
1:1Cordial Segments are dynamic rules-based audiences built from contact attributes and event conditions. Cordial's API does not export segment definitions or the segment rules logic. We export which contacts currently match each segment (the membership snapshot) and document the rule definition for the customer's team to recreate in Mailchimp as a Group or an audience filter-based segment. Dynamic event-triggered segments have no direct Mailchimp equivalent and require rebuilding in Customer Journey Builder.
Cordial
Program / Automation Workflow
Mailchimp
Customer Journey Builder (documented)
1:1Cordial Programs organize campaign automation sequences. The API does not export workflow logic, triggers, or delay rules. We document the Program structure, trigger conditions, step sequence, delay rules, and action types for each active Program. The customer rebuilds them in Mailchimp's Customer Journey Builder using this documentation. We do not migrate automations as executable code.
| Cordial | Mailchimp | Compatibility | |
|---|---|---|---|
| Contact | Contact (Mailchimp Audience)1:1 | Fully supported | |
| Custom Contact Attribute (string, number, geo) | Merge Field1:1 | Fully supported | |
| Custom Contact Attribute (array-type) | Merge Field or Taglossy | Fully supported | |
| List | Audience or Tag1:many | Fully supported | |
| Product | Product1:many | Fully supported | |
| Channel Preferences (email, SMS) | Unsubscribe Status and Interest Groups1:1 | Fully supported | |
| Segment / Audience | Group or Audience Filter1:1 | Fully supported | |
| Program / Automation Workflow | Customer Journey Builder (documented)1:1 | 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.
Cordial gotchas
Message experiment results are not API-exportable
Rate limits are method- and endpoint-specific
Custom contact attribute arrays require schema normalization
Products collection uses nested JSON with variants
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 schema audit
We audit the Cordial account across contacts, custom attribute types and counts, product catalog (including variant counts), active Programs, segment definitions, channel preferences, and behavioral event types. We document which attributes are array-type and require normalization strategy, whether the customer prefers one Mailchimp audience or multiple, and which Products have nested variants requiring unpacking. The discovery output is a written migration scope with field-level mapping and normalization strategy.
Field mapping design and merge field provisioning
We design the Mailchimp merge field schema based on the discovery audit. Each Cordial custom attribute maps to a Mailchimp merge field tag. Array-type attributes receive a documented normalization strategy (delimited string or tag per element). If attribute count exceeds 40, we agree on consolidation with the customer. We provision all merge fields in the destination Mailchimp audience before any data import begins.
Product catalog transformation
We extract the Cordial products collection and unpack the variant array for each product. Each variant generates one Mailchimp product row with variant-specific attributes (SKU, color, size) as text fields and the parent Cordial product ID preserved in a custom field. We validate the resulting product count against Mailchimp's catalog limits for the customer's plan tier.
Test migration and reconciliation
We run a full test migration into the destination Mailchimp account using a representative data sample. The customer spot-checks 25-50 random contacts against the Cordial source, verifies merge field values, product rows, and tag assignments, and signs off the mapping before production migration begins. Corrections to normalization logic or merge field mapping happen here.
Production migration in dependency order
We run production migration in phases: channel preferences and unsubscribe suppression list first (to protect deliverability), then contacts with all standard and custom fields mapped, then products, then tags and groups reflecting list membership and segment membership snapshots. Each phase emits a row-count reconciliation report. We pause writes to Cordial during the final delta pass.
Cutover, validation, and automation rebuild handoff
We validate the final Mailchimp audience against the Cordial source record counts, verify unsubscribe rates match, and confirm product catalog completeness. We deliver the Program and automation documentation to the customer's team for Customer Journey Builder rebuild. We do not rebuild Cordial Programs as Mailchimp automations inside the migration scope.
Platform deep dives
Cordial
Source
Strengths
Weaknesses
Mailchimp
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between Cordial and Mailchimp.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Cordial and Mailchimp.
Object compatibility
All 8 core objects map 1:1 between Cordial 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
Cordial: Method- and endpoint-specific limits; default limits vary per tier; X-Rate-Limit-* response headers exposed; Retry-After header for backoff; limits are customizable per customer contract.
Data volume sensitivity
Cordial 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 Cordial to Mailchimp migration scoping. Not seeing yours? Book a call.
Walk through your Cordial 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 Cordial
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.