Ecommerce CRM migrations fail differently than B2B ones. Guest checkout, multi-store catalogs, refunds, and ESP syncs create identity and revenue messes that a weekend CSV can’t fix. These are the ten pitfalls we see most — and how to prevent each one.
1. Treating migration as a file import
Symptom: go-live looks fine for a day, then open tickets and marketing lists contradict the store. Root cause: you moved rows, not identity rules and ownership. Fix: design match keys (email + customer ID + store domain), system of record per field, and a freeze window before any bulk load.
2. Guest checkout creating duplicate contacts
Symptom: one buyer appears three times; LTV and support history are useless. Root cause: email-only matching with typos, plus guests who later create accounts. Fix: normalize emails, store Shopify/Woo customer IDs on the contact, and define merge rules before sync — not after the duplicate pile grows.
3. Syncing every historical order into marketing
- Symptom: Marketing Hub contact costs spike; old buyers get campaigns they never opted into
- Root cause: treating transactional buyers as marketing contacts by default
- Fix: separate transactional vs marketing use; import purchase history for CRM/CS, gate lists on consent and recent engagement
4. No system of record between store and CRM
Symptom: address and phone flip-flop nightly; support never trusts the record. Root cause: bidirectional sync with no field ownership. Fix: store owns shipping/order facts; CRM owns lifecycle, owner, and sales notes. Document the map — one page is enough.
5. Ignoring refunds, cancellations, and partial shipments
Symptom: revenue dashboards and segments include cancelled GMV; CS sees “VIP” on a full refund. Root cause: happy-path order sync only. Fix: map refund and cancellation events into CRM properties or deals, and define how segments treat net revenue.
6. Multi-store / multi-brand without a brand key
Symptom: one email, three brands, one tangled contact; automation fires the wrong brand voice. Root cause: single portal with no brand or store property. Fix: required store/brand property on contact and deal; segment and automate by brand from day one.
7. Fragile DIY Zaps as the “integration”
- Symptom: silent failures for weeks; ops notices when attribution dies
- Root cause: one-off automations with no owner, retries, or alerts
- Fix: named owner, error alerts to Slack/email, idempotent webhooks, and a runbook — native connector, Make/n8n, or custom API with monitoring
8. Migrating a broken lifecycle model
Symptom: stages don’t match how you sell wholesale vs DTC; reps invent side sheets again. Root cause: cloning the old CRM’s pipelines. Fix: redesign lifecycle for ecommerce reality (subscriber → buyer → repeat → wholesale) before import, then map old stages into the new model.
9. Skipping adoption and training at cutover
Symptom: support and sales keep working in the store admin and inbox. Root cause: IT “finished the sync” and declared victory. Fix: train the week of cutover on the three daily jobs (lookup customer, log issue, hand off wholesale). Watch unused seats for two weeks.
10. No rollback or dual-run plan
- Symptom: a bad import goes live Friday; Monday is forensic archaeology
- Root cause: big-bang cutover with no freeze, sample validation, or read-only old system
- Fix: pilot one segment or brand → freeze writes → delta import → keep old system read-only 30–90 days → define who pauses syncs if data diverges
Quick prevention checklist
- Match keys and merge rules written before any sync
- Field-level system of record (store vs CRM)
- Refunds/cancellations in the data model
- Marketing consent separated from order history
- Monitoring + named owner on every load-bearing sync
- Lifecycle redesigned for how you actually sell
- Training in the cutover week, not “docs later”
If you only fix three: identity/dedupe, system of record, and monitored integrations. Everything else gets easier once those hold.
For the general CRM move (any industry), use our migrate-to-HubSpot checklist. For ecommerce-specific stack work, start from the ecommerce industry page or Shopify integration.