CRM migration
Field-level mapping, validation, and rollback between e-shot and Mailchimp. We move data and schema; workflows are rebuilt natively in Mailchimp.
e-shot
Source
Mailchimp
Destination
Compatibility
8 of 9
objects map 1:1 between e-shot and Mailchimp.
Complexity
BStandard
Timeline
1-2 weeks
Overview
Moving from e-shot to Mailchimp is primarily a contact data migration with a content template pass-through. e-shot stores contacts with custom field schemas, merge-tag personalisation with fallback values, and tier-gated preference data tied to live/active object limits. Mailchimp uses an Audience model where contacts are segmented using tags, groups, and merge fields, and it prices per contact count rather than per-seat. We extract the e-shot contact field schema and replicate it as Mailchimp merge fields with equivalent default values before loading, preserving every fallback definition so contacts without a field value do not display raw merge tags to recipients. Automated Series and landing pages are not migrated as code; we deliver a written inventory of every active Series trigger and landing page element for the customer's admin to rebuild in Mailchimp Customer Journeys and the Mailchimp website builder respectively. e-shot's restriction on file attachments in bulk sends requires us to identify all campaign links pointing to hosted files and convert them to hyperlink references that work within Mailchimp's tracked-click environment.
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 e-shot 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.
e-shot
Contact
Mailchimp
Audience Member (Subscriber)
1:1e-shot Contacts map to Mailchimp Audience members. We extract every standard system field (email, first name, last name, opt-in date, unsubscribe date) and custom contact field, then map each to a Mailchimp merge field of the matching type. The audience is created in Mailchimp before contact import so that merge field definitions are in place before any subscriber records arrive. Bounced and unsubscribed contacts from e-shot are imported as suppressed members in Mailchimp rather than active subscribers, preserving suppression list hygiene.
e-shot
Contact Fields (Custom)
Mailchimp
Merge Fields
lossye-shot's custom contact field definitions (name, type, merge-tag syntax *_fieldname_*) are extracted from Settings > Contacts field manager and replicated as Mailchimp merge fields in the Audience settings. Every fallback value defined with e-shot's fallback('text') syntax is set as the default value in the Mailchimp merge field. This prevents raw merge tags appearing in email content sent to contacts who lack that field value. Field type mapping converts e-shot text, date, number, and boolean types to Mailchimp TEXT, DATE, NUMBER, and PHONE merge field types respectively.
e-shot
Campaign
Mailchimp
Email Campaign
1:1e-shot campaign records (subject line, sender details, HTML template body, scheduling) migrate to Mailchimp campaigns. HTML template content is preserved as-is and imported into Mailchimp's template or campaign builder. We identify all e-shot merge tags in the template body and ensure corresponding merge fields exist in the destination Audience before the campaign content is set. Dynamic content blocks are noted as requiring manual reconfiguration in Mailchimp's Dynamic Content feature if the destination is Standard or above.
e-shot
Automated Series
Mailchimp
Customer Journeys (not migrated as code)
1:1e-shot Automated Series (tier-gated, up to 100 on omni) are exported as a written inventory rather than migrated as executable automation. We document each Series name, trigger condition, step sequence, delay durations, and conditional branching logic. The customer's admin rebuilds these in Mailchimp Customer Journeys, which uses a different trigger-and-action model. This inventory is delivered as part of the migration handoff package and is not part of the data migration scope.
e-shot
Forms
Mailchimp
Signup Forms
1:1e-shot form definitions (field types, field labels, subscription preference checkboxes) migrate as a documented form schema. Mailchimp signup forms use a different field definition model with embedded GDPR consent handling and double opt-in configuration. We extract form field types and labels from e-shot and map them to Mailchimp field equivalents, noting which forms had GDPR-compliant consent language that must be re-applied in the Mailchimp form builder. Actual form deployment and URL configuration are handled by the customer's admin post-migration.
e-shot
Preferences
Mailchimp
Groups
1:1e-shot contact preferences (subscription interests, topic opt-ins) map to Mailchimp Groups within the Audience. Active preference count is preserved; e-shot's tier limit (basic: 25 active, pro: 50, omni: unlimited) maps to Mailchimp Group categories and interest groups without a hard ceiling. Preference centre structure is documented so the customer can replicate the preference centre URL and topic groupings in Mailchimp's Groups section. Subscribe and unsubscribe status migrates as the member's Mailchimp status field.
e-shot
Tags
Mailchimp
Tags
1:1e-shot tags are stored as field values or list membership labels without a separate tag management API object. We extract every distinct tag assigned to any contact and apply those tags as Mailchimp Tags during subscriber import. Tags used for segmentation in e-shot saved filters become Mailchimp Tags that the customer can use to build equivalent segments post-migration. Tags used purely for internal labelling (not segmentation) migrate as informational tags only.
e-shot
Campaign Reports
Mailchimp
Historical Campaign Data
1:1e-shot campaign reports (opens, clicks, bounces, unsubscribes, delivery health) are exported as CSV snapshots and imported into Mailchimp as historical campaign performance data if the Mailchimp plan supports historical data import. Mailchimp's 90-day window for API-sourced historical data means we load the CSV-exported report data separately and note the reporting gap for the customer's analytics team. Campaign-level engagement metrics (open rate, click rate, bounce rate) are preserved in the CSV for reference even when the direct import into Mailchimp's reporting UI is not possible.
e-shot
Landing Pages
Mailchimp
Website Builder (not migrated as code)
1:1e-shot landing pages are tier-gated (basic: 0 live, pro: 25, omni: 100) and store form elements and published content. Mailchimp does not offer native landing pages in its core email plans; the Mailchimp Website Builder is a separate product. We export landing page content as HTML snapshots and deliver a written inventory of every live landing page URL, form field schema, and lead-capture destination for the customer to rebuild in Mailchimp's website builder or a third-party tool. This is not a data migration scope item.
| e-shot | Mailchimp | Compatibility | |
|---|---|---|---|
| Contact | Audience Member (Subscriber)1:1 | Fully supported | |
| Contact Fields (Custom) | Merge Fieldslossy | Fully supported | |
| Campaign | Email Campaign1:1 | Fully supported | |
| Automated Series | Customer Journeys (not migrated as code)1:1 | Mapping required | |
| Forms | Signup Forms1:1 | Fully supported | |
| Preferences | Groups1:1 | Mapping required | |
| Tags | Tags1:1 | Mapping required | |
| Campaign Reports | Historical Campaign Data1:1 | Fully supported | |
| Landing Pages | Website Builder (not migrated as code)1:1 | Mapping required |
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.
e-shot gotchas
File attachments blocked in bulk email sends
Tier limits apply to active (live) objects only
Merge-tag fallback values must be replicated
No dedicated bulk export endpoint documented
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
Contact field schema extraction and merge field configuration
We audit e-shot's contact field manager in Settings and extract every custom field definition: field name, type, merge-tag syntax, and fallback value. We then configure the Mailchimp Audience with matching merge fields, setting default values from the e-shot fallback definitions so no raw merge tags appear after migration. This step must complete before any contact records are imported into Mailchimp.
Contact export with suppression list separation
We paginate through e-shot contacts using API calls within the customer's tier rate limit (500-5,000 calls/hour depending on plan). Bounced, unsubscribed, and cleaned contacts are exported to a separate suppression file. Active subscribers are exported with all standard and custom field values, and tags are extracted as a separate tagging manifest. If the export exceeds the hourly rate limit, we implement resume logic to continue from the last successfully exported page.
Campaign template export and HTML conversion
We export e-shot campaign records including subject line, sender name, sender email, HTML template body, and scheduling. Merge tags in the template body are mapped to Mailchimp merge field names. Any link pointing to a file attachment is converted to a tracked hyperlink. The exported HTML is validated to ensure it renders correctly in Mailchimp's email client compatibility preview.
Audience import and suppression list upload
We import contacts into Mailchimp using the platform's import tooling with the merge fields configured in step one. The suppression list (unsubscribed and bounced contacts) is uploaded separately as a non-subscribed member list. We validate the import by spot-checking field values against the e-shot source and confirming that merge fields are populated correctly for contacts with and without field values.
Preference data and tag application
We map e-shot contact preferences to Mailchimp Groups and apply preference group assignments during or after contact import. Tags are applied to each subscriber record using Mailchimp's bulk tag API. The preference centre structure is documented as a reference for the customer to replicate in Mailchimp Groups.
Cutover, deliverability check, and automation handoff
We freeze writes to e-shot during the cutover window, run a final delta export of any contacts modified during migration, and upload the delta to Mailchimp. We recommend domain authentication (SPF, DKIM) is confirmed in Mailchimp before the first campaign send from the new platform. We deliver the written Automated Series inventory and landing page snapshot package to the customer's admin team for rebuild in Mailchimp Customer Journeys and the Mailchimp Website Builder respectively. Post-cutover, we support a three-day window for reconciliation of any import discrepancies.
Platform deep dives
e-shot
Source
Strengths
Weaknesses
Mailchimp
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between e-shot and Mailchimp.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across e-shot and Mailchimp.
Object compatibility
All 8 core objects map 1:1 between e-shot 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
e-shot: 500–5,000 requests per hour depending on tier (basic: 500, pro: 2,000, omni: 5,000).
Data volume sensitivity
e-shot doesn't expose a bulk API — REST + parallelization used for high-volume runs.
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 e-shot to Mailchimp migration scoping. Not seeing yours? Book a call.
Walk through your e-shot 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 e-shot
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.