CRM migration
Field-level mapping, validation, and rollback between Marketing Optimizer and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Marketing Optimizer
Source
Nutshell
Destination
Compatibility
4 of 8
objects map 1:1 between Marketing Optimizer and Nutshell.
Complexity
BStandard
Timeline
2-3 weeks
Overview
Moving from Marketing Optimizer to Nutshell is a migration from a lead-selling niche platform to a general-purpose small-business CRM. Marketing Optimizer structures its data around a Lead object with lifecycle stages tied to buyer/seller workflows that most CRMs do not model natively. Nutshell uses a People model with standard contact fields and custom properties. We preserve the original lifecycle stage value as a custom People property so the customer's admin can decide whether to normalize it or retain it for reporting. Attachments associated with contact records cannot be retrieved via the Marketing Optimizer API and must be exported manually before the migration window. Workflow automation, campaign logic, and lead assignment rules do not migrate as code; we deliver a written inventory of these for the customer's admin to rebuild 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 Marketing Optimizer 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.
Marketing Optimizer
Contact
Nutshell
People
1:1Marketing Optimizer Contact records map directly to Nutshell People records. Standard fields (name, email, phone, address) map to Nutshell's corresponding People properties. We preserve the original Contact ID as a custom property mo_contact_id__c for audit and cross-reference during reconciliation. Any HubSpot Owner assignment maps to a Nutshell User lookup on the People record.
Marketing Optimizer
Lead
Nutshell
People (custom property: Lifecycle Stage)
lossyMarketing Optimizer Leads carry a lifecycle stage tied to the lead-selling workflow that does not map 1:1 to standard CRM lead statuses. We preserve the current stage and assignment status as a custom People property mo_lifecycle_stage__c in Nutshell rather than creating a separate Lead object. The customer reviews this property during scoping and decides whether to retain the original values, map them to Nutshell pipeline stages, or normalize them against a standard status taxonomy.
Marketing Optimizer
Lead Assignment
Nutshell
People (custom property: Buyer/Assignment)
1:1Assignment records in Marketing Optimizer map a lead to a specific buyer or internal user. We migrate these as a custom People property mo_assigned_buyer__c rather than a separate object. The assignment relationship is flattened into a single text or user lookup field on the People record. If a lead is assigned to multiple buyers, we store the comma-separated list and the customer decides whether to split into multiple People records post-migration.
Marketing Optimizer
Company
Nutshell
Company
1:1Marketing Optimizer company records map directly to Nutshell Company records. Company name, domain, address, and industry fields migrate 1:1 where present. We use company name as the dedupe key during import. Nutshell People records are linked to the corresponding Company via the people_id lookup after both objects are created.
Marketing Optimizer
Campaign
Nutshell
Campaign
1:1Marketing Optimizer Campaign records (name, type, associated contacts) map to Nutshell Campaign records. We re-link associated People records during import using email-based matching. Campaign type values map to Nutshell Campaign type picklist; any unmapped types are stored in a custom property mo_campaign_type__c for the customer to normalize.
Marketing Optimizer
Web Tracking Data
Nutshell
People (custom property: Engagement Notes)
lossyMarketing Optimizer tracks pages visited and time on site per contact. This data migrates as a custom People property mo_web_tracking__c containing a text summary of visit frequency and key pages. Destination CRMs handle web activity differently, and Nutshell does not maintain a native web tracking object, so the data is preserved as a historical reference field rather than a structured activity record.
Marketing Optimizer
Custom Fields
Nutshell
Custom Properties
lossyAny custom fields added in Marketing Optimizer require field-level mapping to Nutshell custom properties on the corresponding object. We document all custom field names, data types, and picklist values during scoping. Nutshell supports custom properties for People, Companies, and Deals. The customer chooses which object each custom field maps to based on business context. All custom properties are created in Nutshell before any data import begins.
Marketing Optimizer
Automated Workflows
Nutshell
Workflows (rebuild required)
lossyMarketing Optimizer automated workflows define lead routing, scoring, and action triggers. Workflow logic is platform-specific and not exposed in a transferable format. We do not migrate workflows as code. Instead, we document every active workflow with its trigger conditions, action sequences, and assignment rules as a migration artifact. The customer receives a written inventory of workflows to rebuild in Nutshell's automation builder. We flag any workflows that have no direct Nutshell equivalent and suggest a functional replacement.
| Marketing Optimizer | Nutshell | Compatibility | |
|---|---|---|---|
| Contact | People1:1 | Fully supported | |
| Lead | People (custom property: Lifecycle Stage)lossy | Fully supported | |
| Lead Assignment | People (custom property: Buyer/Assignment)1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Campaign | Campaign1:1 | Fully supported | |
| Web Tracking Data | People (custom property: Engagement Notes)lossy | Mapping required | |
| Custom Fields | Custom Propertieslossy | Mapping required | |
| Automated Workflows | Workflows (rebuild required)lossy | 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.
Marketing Optimizer gotchas
Lead lifecycle stages do not map directly to standard CRM lead statuses
Workflow automation logic must be rebuilt in the destination platform
Attachments are not accessible via documented API
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 Marketing Optimizer instance across contacts, leads, companies, campaigns, custom fields, active workflows, and attachment inventory. We extract the complete field list including any custom fields, picklist values, and lifecycle stage options. We document the attachment count per object and flag the manual export requirement for the customer to complete before migration. The discovery output is a written migration scope with object counts, field mapping table, and a timeline estimate.
Schema design and custom property creation
We design the Nutshell destination schema. This includes creating all required custom properties on People, Company, and Deal objects to receive the mapped Marketing Optimizer fields. We create the mo_lifecycle_stage__c property to preserve the original lead lifecycle values and the mo_assigned_buyer__c property for lead assignment data. Any custom picklist values from Marketing Optimizer are mirrored in Nutshell picklists. Custom properties are created in Nutshell before any data import begins.
Sandbox migration and reconciliation
We run a full migration into a Nutshell test account using production-like data volume. The customer reconciles record counts (People in, Companies in, Campaigns in), spot-checks 25-50 random records against the Marketing Optimizer source, and validates that custom properties populated correctly. The lifecycle stage values in mo_lifecycle_stage__c are reviewed to confirm they preserved the original semantics. Any mapping corrections happen here before production migration begins.
Production migration in dependency order
We run production migration in record-dependency order: Companies first (since People link to them), then People records (with mo_lifecycle_stage__c and mo_assigned_buyer__c populated), then Campaigns (with People re-linked by email match). Each phase emits a row-count reconciliation report before the next phase begins. We use Nutshell's API with rate-limit handling and batch chunking for all imports.
Cutover, validation, and workflow handoff
We freeze Marketing Optimizer 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 Workflow and automation inventory document to the customer's admin team with recommended Nutshell equivalents for each rule. We support a one-week hypercare window where we resolve any reconciliation issues. We do not rebuild Marketing Optimizer workflows as Nutshell automation rules inside the migration scope.
Platform deep dives
Marketing Optimizer
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 Marketing Optimizer 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
Marketing Optimizer: Not publicly documented.
Data volume sensitivity
Marketing Optimizer 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 Marketing Optimizer to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your Marketing Optimizer 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 Marketing Optimizer
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.