CRM migration
Field-level mapping, validation, and rollback between ActiveCampaign and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
ActiveCampaign
Source
Nutshell
Destination
Compatibility
7 of 10
objects map 1:1 between ActiveCampaign and Nutshell.
Complexity
BStandard
Timeline
2-3 weeks
Overview
Moving from ActiveCampaign to Nutshell is a shift from a marketing-automation-first platform to a sales-CRM-first platform. ActiveCampaign bundles CRM, email, SMS, and automation under one subscription but charges per contact including unsubscribes and bounces, and its pipeline and deal management features are secondary to its marketing automation stack. Nutshell offers unlimited contacts on all paid plans, a native pipeline builder, and an activity timeline purpose-built for sales teams. We migrate the core record types that both platforms share — Contacts, Accounts, Deals, and Activity history — and we flag the two high-severity gaps: deal notes are not exportable from ActiveCampaign via API or CSV, and automations cannot be exported or migrated programmatically. We do not migrate Automations, Forms, Landing Pages, Email Templates, or Campaign history as these are either not exportable or require manual recreation in Nutshell.
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 ActiveCampaign object lands in Nutshell, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
ActiveCampaign
Contact
Nutshell
Person
1:1ActiveCampaign Contacts map directly to Nutshell People. The Contact email address is the dedupe key. All standard fields (first name, last name, email, phone, title, address) migrate 1:1. Custom contact fields migrate as Nutshell custom fields, which we create during the schema design phase before record import.
ActiveCampaign
Account
Nutshell
Company
1:1ActiveCampaign Accounts map to Nutshell Companies. The Account name maps to Company name, and the Account domain maps to Company website. Company is created before Person import so the lookup relationship is satisfied at insert time.
ActiveCampaign
Deal
Nutshell
Deal
1:1ActiveCampaign Deals map to Nutshell Deals. The deal name, value, close date, owner, and stage migrate directly. Nutshell's Deal stage is a picklist that we configure to match the ActiveCampaign pipeline stages during schema setup. Note: ActiveCampaign deal notes are not exportable via the API (documented limitation); we flag this during scoping and offer a workaround to extract note content via a separate workaround or manual export if available.
ActiveCampaign
Pipeline
Nutshell
Pipeline
lossyActiveCampaign pipelines (container objects defining deal stage sets) map to Nutshell Pipelines. We extract the pipeline definition including stage names, stage order, and probability values from ActiveCampaign and configure equivalent Nutshell Pipelines before Deal import. Stage probability percentages migrate into the Nutshell stage probability settings.
ActiveCampaign
Tag
Nutshell
Tag
1:1ActiveCampaign Tags are flat labels applied to Contacts. We export the full tag taxonomy and reassign tags during Nutshell import. Tags migrate 1:1 with no value transformation required. Nutshell tags are a native feature available on all plans.
ActiveCampaign
Contact Custom Field
Nutshell
Person Custom Field
lossyActiveCampaign custom contact fields (text, number, date, dropdown, checkbox, currency, etc.) map to Nutshell custom fields on the Person record. We create the destination custom field schema in Nutshell before migration and map field values by type. Multi-value custom fields (e.g., multi-checkbox) require type mapping to Nutshell's supported field types.
ActiveCampaign
Deal Custom Field
Nutshell
Deal Custom Field
lossyActiveCampaign custom deal fields map to Nutshell custom fields on the Deal record. We extract the custom field schema from ActiveCampaign and pre-create matching fields in Nutshell. Custom field types (currency, date, dropdown) map to Nutshell equivalents.
ActiveCampaign
Owner
Nutshell
User
1:1ActiveCampaign Owners (users who own Contacts, Accounts, and Deals) map to Nutshell Users by email address. We extract the distinct owner set from ActiveCampaign, match by email against the Nutshell destination account, and resolve OwnerId to UserId. Any ActiveCampaign owner without a matching Nutshell user goes to a reconciliation queue for admin provisioning before Deal import.
ActiveCampaign
Engagement: Call
Nutshell
Call
1:1ActiveCampaign call engagements map to Nutshell Call records. Call duration, disposition, recording URL (if available via ActiveCampaign API), and timestamp migrate to Nutshell Call fields. The Call is linked to the Person (resolved via Contact mapping) and optionally to a Deal if the engagement is associated with a deal in ActiveCampaign.
ActiveCampaign
Engagement: Task
Nutshell
Task
1:1ActiveCampaign task engagements map to Nutshell Tasks. Subject, due date, completion status, and assignee migrate directly. Task status values are mapped between ActiveCampaign and Nutshell status conventions during the transform phase.
| ActiveCampaign | Nutshell | Compatibility | |
|---|---|---|---|
| Contact | Person1:1 | Fully supported | |
| Account | Company1:1 | Fully supported | |
| Deal | Deal1:1 | Fully supported | |
| Pipeline | Pipelinelossy | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Contact Custom Field | Person Custom Fieldlossy | Fully supported | |
| Deal Custom Field | Deal Custom Fieldlossy | Fully supported | |
| Owner | User1:1 | Fully supported | |
| Engagement: Call | Call1:1 | Fully supported | |
| Engagement: Task | Task1: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.
ActiveCampaign gotchas
Contact billing counts all statuses including unsubscribes and bounces
Deal notes are not exported via API or CSV
Automations cannot be exported or migrated programmatically
Bulk Contact Importer rate limit is 20 requests per minute for single contacts
HubSpot migration maps Products to custom deal fields, not a native equivalent
Nutshell gotchas
Contact tier limits enforced on import
No bulk API endpoint requires paginated extraction
Email sequences not exportable via API
Foundation plan disables key sales features
Pair-specific challenges
Migration approach
Discovery and scoping
We audit the source ActiveCampaign account across plan tier (Starter, Plus, Pro, Enterprise), contact count (including suppressed records), custom field schemas on Contact and Deal, pipeline definitions with stage names and probabilities, owner set, and engagement volume. We identify custom objects, active automations, and any exported deal notes. The discovery output is a written migration scope document that lists every object, field, and known limitation with the customer-approved mapping matrix.
Schema design and pipeline configuration
We design the destination Nutshell schema before any record import. This includes creating Nutshell custom fields to match ActiveCampaign custom field schemas (field type mapping), configuring Nutshell Pipelines with stages that mirror the ActiveCampaign pipeline stages and probabilities, and defining the Owner-to-User mapping table. Schema is validated in a Nutshell sandbox or test account before production migration begins.
Data extraction and transform
We extract Contacts, Accounts, Deals, Tags, and Engagement history from ActiveCampaign using the REST API. The extraction respects the Bulk Contact Importer rate limit (20 requests per minute for single contacts) by using batch endpoints where available. We transform the extracted data using the field mapping matrix: ActiveCampaign stage IDs map to Nutshell stage values, owner email resolves to Nutshell User ID, and custom field values type-match to Nutshell field types. Duplicate detection uses email as the Contact dedupe key and company name as the Account dedupe key.
Sandbox validation
We run a full migration into a Nutshell sandbox or trial account using production-like data volume. The customer's RevOps lead reviews record counts (People in, Companies in, Deals in), spot-checks 20-30 random records against the ActiveCampaign source, and signs off the mapping before production migration. Any field mapping corrections happen in sandbox, not in production. This step also surfaces the deal notes gap so the customer can decide on the workaround approach before cutover.
Production migration in dependency order
We run production migration in record-dependency order: Companies (Accounts from ActiveCampaign, required first), People (Contacts with Company lookup resolved), Deals (with Person lookup, User lookup, and Pipeline assignment resolved), Tags, then Activity history (Calls and Tasks via standard API). Each phase emits a row-count reconciliation report before the next phase begins. We use exponential backoff on API rate limit responses to avoid temporary blocks.
Cutover, validation, and handoff
We freeze ActiveCampaign writes during cutover, run a final delta migration of any records modified during the migration window, then enable Nutshell as the system of record. We deliver the Automation inventory document listing every ActiveCampaign automation requiring rebuild in Nutshell, plus the deal notes gap report if note extraction was not possible. We support a three-day hypercare window where we resolve any reconciliation issues. We do not rebuild ActiveCampaign automations in Nutshell inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
ActiveCampaign
Source
Strengths
Weaknesses
Nutshell
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across ActiveCampaign and Nutshell.
Object compatibility
2 of 8 objects need a mapping; the rest are 1:1.
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
ActiveCampaign: 5 requests per second per account (standard); 20 requests per minute for single-contact bulk imports; custom limits available for Enterprise on request.
Data volume sensitivity
ActiveCampaign 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 ActiveCampaign to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your ActiveCampaign to Nutshell migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave ActiveCampaign
Other ways to arrive at Nutshell
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.