CRM migration
Field-level mapping, validation, and rollback between Splio and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Splio
Source
Nutshell
Destination
Compatibility
4 of 10
objects map 1:1 between Splio and Nutshell.
Complexity
BStandard
Timeline
2-3 weeks
Overview
Splio and Nutshell serve different functions, and this migration requires acknowledging that upfront. Splio is an omnichannel marketing automation and loyalty platform built for retail and DTC brands; Nutshell is a sales CRM for small-to-mid-market B2B teams. The migration delivers Contacts, Companies, Deals, and standard Activities (calls, emails, meetings, notes) into Nutshell's native People, Accounts, and Opportunities objects. Splio's loyalty programs (points, tiers, rewards), order and product data, campaign automation, and interaction event logs do not map to standard Nutshell CRM objects and require either manual rebuild or alternative tooling post-migration. The highest-risk migration step is Splio's silent exclusion of contacts without list membership from any export—we audit this before data moves. Nutshell's unlimited contacts on all paid tiers and per-user pricing model (starting at $13/user/month) make it a cost-effective replacement for Splio customers who need a structured sales CRM rather than continued marketing automation.
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 Splio 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.
Splio
Contact
Nutshell
Person
1:1Splio Contacts map to Nutshell People. The critical migration step is Splio's list-membership exclusion: any Splio contact without at least one list assignment is silently skipped during export. We run a list-membership audit during scoping, flag orphan contacts, assign them to a catch-all list, and verify the post-export count matches the full contact total before declaring migration complete. Contact email, name fields, phone, address, and any contact-scoped custom fields migrate directly.
Splio
Company (optional)
Nutshell
Account
1:1Splio Store records representing business entities map to Nutshell Account. Store name becomes Account name; store address maps to billing address fields. If the Splio customer used contacts linked to store locations (rather than true company records), we create Account records from the store location data during migration. Account custom fields migrate from Splio's stores scope.
Splio
Deal
Nutshell
Opportunity
1:1Splio Deals map to Nutshell Opportunities. Deal name, amount, stage, expected close date, and owner migrate directly. Splio Deal stages map to Nutshell pipeline stages. If Splio Deals carry order_id references, we store the original Splio order_id in a Nutshell custom text field for audit. Splio does not have a native opportunity pipeline object; deals exist as a flat list with a stage property, so we create a Nutshell pipeline structure before migration.
Splio
Order
Nutshell
Opportunity (with custom fields)
lossyNutshell has no native order object. Splio Orders (with order_id, contact reference, total amount, order_items) are migrated as Opportunities with custom fields capturing order metadata: order_id in a text field, order total in amount, and order date in a custom date field. Order_items are summarized in the Opportunity description or a custom long-text field. If the customer requires granular line-item history, we document the order_items schema separately for them to evaluate Nutshell custom objects or a third-party quoting tool.
Splio
Product
Nutshell
Custom Object or Opportunity field
lossySplio Products are standalone items referenced by order_items. Nutshell has no native product catalog. We assess whether the customer needs product-level reporting. If yes, we create a Nutshell custom object Product with fields for name, SKU, price, and category, and link it to the Opportunity via a lookup relationship. If product history is minimal, we store product name as a text field on the Opportunity.
Splio
Loyalty membership
Nutshell
Person (custom fields)
lossySplio Loyalty memberships carry card_code, q_points (quantized points), nq_points (non-quantized points), and tier. Nutshell has no native loyalty object. We map these to Person custom fields: card_code__c (text), loyalty_points__c (number), loyalty_tier__c (text), and membership_date__c (date). Points balance and tier history are static snapshots at migration time; ongoing loyalty accrual requires rebuilding in a loyalty platform or custom Nutshell integration post-migration.
Splio
Rewards and attributions
Nutshell
Person (custom fields)
lossySplio Rewards are defined at the program level; attributions track which contacts received which rewards. Both map to Person custom fields in Nutshell: reward_name__c (text), reward_date__c (date), reward_status__c (text). The reward definition itself (program rules, point values, tier thresholds) is not a record-level object and does not migrate; we deliver a written reward program inventory for the customer's admin to document in a knowledge base or rebuild in a loyalty platform.
Splio
Interaction (custom events)
Nutshell
Activity (Task/Note)
lossySplio Interactions are custom API events used to trigger loyalty point credits and campaign triggers. Nutshell does not support a generic custom event object. We export interaction event logs as Activity records: Task records with a custom interaction_type__c field and the original Splio timestamp preserved in ActivityDate. The customer receives a written inventory of all distinct interaction event types for their admin to evaluate whether Nutshell's standard Task model or a third-party CDP integration suits their needs.
Splio
List membership
Nutshell
Person tag or custom field
lossySplio Lists drive contact segmentation and export eligibility. List memberships migrate to Nutshell as tags on People (Nutshell's native tagging) or as a multi-select custom field split_list__c if the customer prefers structured field storage over tags. Blocklists migrate as a Person custom field opt_out__c set to true for suppressed contacts.
Splio
Owner (user)
Nutshell
User
1:1Splio Users referenced on Contacts, Deals, and Loyalty memberships map to Nutshell Users by email match. We resolve every distinct owner email against the Nutshell destination tenant's User table. Any Splio owner without a matching Nutshell User goes to a reconciliation queue for the customer's admin to provision before record import resumes.
| Splio | Nutshell | Compatibility | |
|---|---|---|---|
| Contact | Person1:1 | Fully supported | |
| Company (optional) | Account1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Order | Opportunity (with custom fields)lossy | Fully supported | |
| Product | Custom Object or Opportunity fieldlossy | Fully supported | |
| Loyalty membership | Person (custom fields)lossy | Fully supported | |
| Rewards and attributions | Person (custom fields)lossy | Fully supported | |
| Interaction (custom events) | Activity (Task/Note)lossy | Fully supported | |
| List membership | Person tag or custom fieldlossy | Fully supported | |
| Owner (user) | User1: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.
Splio gotchas
Contacts without list membership are silently excluded from exports
Filter preview counts differ from actual export counts
Campaign migration requires sequential data-then-filters ordering
API rate limits are not publicly documented
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 list-membership audit
We audit the source Splio environment across contacts, companies, deals, orders, loyalty memberships, rewards, products, and active campaign count. The critical scoping step is the list-membership audit: we query every Splio contact and identify those without any list assignment. We flag the orphan count, assign them to a catch-all list in Splio before export, and document the pre-audit and post-audit contact totals. We also extract Splio User list by email for owner mapping. The discovery output is a written migration scope, object inventory, and a flag of any Splio objects (loyalty, orders, products) that will require custom field or object work in Nutshell.
Nutshell schema design and custom field provisioning
We design the destination Nutshell schema before any data moves. This includes provisioning Person custom fields for loyalty data (card_code__c, loyalty_points__c, loyalty_tier__c, membership_date__c, reward fields), Account custom fields from Splio's stores scope, Opportunity custom fields for order metadata (order_id__c, order_date__c), and any custom Product object if product-level reporting is required. We also create a Nutshell pipeline with stage values mapped from Splio Deal stages. Schema is configured in the customer's Nutshell tenant before migration begins.
Owner reconciliation and user provisioning
We extract every distinct Splio Owner referenced on contacts, companies, deals, and loyalty memberships and match by email against the Nutshell destination tenant's User table. Owners without a matching Nutshell User go to a reconciliation queue for the customer's admin to provision before record import resumes. Migration cannot proceed past this step because Nutshell requires a valid User assignment on People, Accounts, and Opportunities.
Export from Splio and validation
We run the Splio contact export with the catch-all list assignment in place, then validate the exported contact count against the total contact count from Splio's admin view. We run separate exports for loyalty memberships, orders, products, and stores. We also extract the campaign inventory (name, trigger, audience filter, channel, content summary) as a written document rather than data records. Each export emits a row-count and field-count reconciliation report.
Production import into Nutshell in dependency order
We run Nutshell imports in dependency order: Users (manual provisioning validated), Accounts (from Splio Stores/Companies), People (with AccountId resolved for company-linked contacts, owner resolved for all records), Opportunities (with PersonId, AccountId, OwnerId, and pipeline stage resolved), loyalty custom fields (appended to People records), order custom fields (appended to Opportunities), and any custom Product object. Activity history (calls, emails, meetings, notes) migrates as Task records with Nutshell's native Activity mapping. Each phase emits a reconciliation report before the next phase begins.
Cutover, validation, and campaign rebuild handoff
We freeze Splio 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 Splio campaign inventory document to the customer's admin team for rebuild in Nutshell's Engagement Suite or an alternative marketing platform. We support a one-week hypercare window where we resolve any reconciliation issues. We do not rebuild Splio campaigns, loyalty program logic, or order management as Nutshell workflows; those are separate engagements or internal admin tasks.
Platform deep dives
Splio
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 Splio 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
Splio: Not publicly documented in the developer hub — confirmed per integration during scoping.
Data volume sensitivity
Splio 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 Splio to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your Splio 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 Splio
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.