A CRM migration can report success while the business loses the customer story.
The contact count matches. Names and email addresses appear in the new system. The implementation dashboard is green.
Then a customer calls.
The employee can see the profile but not the note explaining a previous promise. Purchase history is incomplete. Communication permission is unclear. The account owner is wrong. The next action still lives in the old CRM.
Technically, data moved.
Operationally, customer context did not.
One small-business operator described the consequence plainly: "lost the notes and history when we moved over. The sales people did not adapt to the new CRM."
Another operator considering a move had a different version of the same concern. The business had 25,000 contacts and histories stretching back 20 years, including email, notes and purchases. The question was not merely whether contacts could be imported. It was whether the useful relationships between those records would survive.
That is the right question.
Before declaring a CRM migration complete, run a customer-context test.
What customer context actually means
A customer profile is rarely useful because of one field.
Its value comes from the connected context around the person or organisation:
- identity and contact details
- purchase and return history
- staff notes and service promises
- preferences and relevant attributes
- communication consent and suppression choices
- loyalty status and reward balance where applicable
- complaints, open issues or unresolved commitments
- the employee or team responsible for the relationship
- the next action and its due date
- links to orders, payments, conversations or support records
Not every business needs every object. Some information should not be retained at all. The purpose of the test is to define what is necessary, lawful and operationally useful before the migration starts.
If the team waits until after import to decide what matters, the destination system will make the decision by default.
Why CRM migrations lose the story
Most migration failures are not one dramatic database collapse. They are smaller losses distributed across records, relationships and daily work.
Fields have similar names but different meanings
The old system may have separate fields for billing contact, store contact and account owner. The new system may have one primary contact and one generic owner.
A direct column-to-column import can appear valid while changing the meaning of the data.
Before mapping a field, document:
- what it means
- who creates or changes it
- whether it is required
- whether it controls another workflow
- whether the destination has an equivalent
- what should happen when no equivalent exists
History may live outside the contact record
Notes, emails, purchases, tasks and attachments may sit in separate tables or services linked by internal identifiers.
Importing the contact table alone can preserve the customer name while leaving the history behind.
This is why a migration plan needs an object-and-relationship map, not only a spreadsheet of columns.
Duplicates hide inside legitimate relationships
Two records with the same email address may be duplicates. They may also represent separate branches, buyers or household members.
Merging automatically can destroy legitimate context. Refusing to merge anything can leave staff choosing between several incomplete profiles.
Define duplicate rules and a human exception path before the main import.
Permissions and consent are treated as ordinary text
Communication choices, suppression status and access permissions should not be reduced to an unverified note.
The migration must preserve the current state, its meaning and any evidence the business is required to retain. Access should also remain limited to the people who need it.
Apply the privacy, retention and security requirements relevant to your organisation and jurisdiction. When the position is unclear, get appropriate professional advice rather than guessing during import.
Staff learn where information is, not only what it is called
An employee may know that an important promise is recorded in a particular tab, activity type or naming convention.
The new CRM can contain the same information but place it somewhere staff do not recognise.
That is a retrieval failure. It is also an adoption risk.
The cost of getting it wrong
Lost context creates more than inconvenience.
It can lead to:
- customers repeating information they already provided
- staff making promises without seeing earlier commitments
- messages being sent when the recorded preference says otherwise
- loyalty or service history appearing inconsistent
- employees keeping private notes or spreadsheets as a workaround
- managers losing confidence in reports and segmentation
- customer issues taking longer to resolve
- the old CRM remaining unofficially active long after cutover
The result is often a divided operation: the new system is the official source, while experienced employees still rely on memory, exports and old screens.
That is why validation must test the work, not only the file.
Step 1: define the minimum customer story
Start with real customer interactions.
Ask staff what they need to know when they:
- serve a returning shopper
- respond to a complaint
- review a refund or exchange
- prepare a relevant offer
- check loyalty status
- follow up an unresolved issue
- decide whether a customer can be contacted
Turn the answers into a customer-context inventory.
For every item, record:
1. The source object and field.
2. The destination object and field.
3. The relationship that must remain intact.
4. The owner responsible for validation.
5. The rule for missing, invalid or conflicting data.
6. The retention and access requirement.
Label each item as critical, useful or archive-only.
Critical context must pass before cutover. Useful context can have an agreed remediation plan. Archive-only information should remain accessible only where there is a valid reason to keep it.
Step 2: build a representative test set
A migration test built from ten clean customers proves very little.
Include records that represent normal work and known complications:
- a new customer with little history
- a long-standing customer with years of purchases
- a profile with several addresses or contact methods
- an opted-out customer
- a loyalty member with a balance
- duplicate or near-duplicate records
- an inactive customer
- a customer with an open complaint or promise
- a record owned by someone who has left the business
- an incomplete or badly formatted profile
- a customer connected to returns, refunds or multiple locations
Use stable test identifiers so the same records can be checked after every migration rehearsal.
Do not use live personal data in unsafe test environments. Apply appropriate controls, masking or representative test data where required.
Step 3: map meaning and relationships
For each source object, answer:
- Where will it live in the new CRM?
- Will its full history move or only a summary?
- How will dates, time zones and authorship be preserved?
- Which record owns the relationship?
- What happens to attachments and links?
- How will failed rows be reported?
- Can the import be safely repeated without creating duplicates?
If the destination has no equivalent field, choose deliberately:
- create a controlled custom field
- transform the data
- preserve it in an accessible archive
- exclude it with an approved reason
Do not hide the decision inside a catch-all notes field unless staff can still interpret, search and govern the result.
Step 4: reconcile more than totals
Matching contact counts is useful, but insufficient.
Reconcile at four levels.
Volume
- contacts attempted
- contacts created
- contacts updated
- records rejected
- duplicates merged or held
- notes, activities, orders and attachments moved
Field accuracy
Check critical fields across a representative sample. Compare values, dates, formatting and empty states.
Relationship accuracy
Confirm that notes, purchases, tasks, consent and ownership are attached to the correct customer.
Exception accuracy
Review every rejected or transformed record. A migration is not controlled when failed rows disappear into a log nobody owns.
Record the reconciliation result and who approved it.
Step 5: run the staff retrieval test
This is the test most technical migration plans miss.
Give staff realistic tasks without explaining where the answer moved.
For example:
1. Find the customer's most recent purchase.
2. Check whether a staff promise is still open.
3. Confirm whether promotional communication is permitted.
4. Identify the current loyalty status where applicable.
5. Find the employee responsible for the next action.
6. Add a new note without overwriting history.
Measure:
- whether the answer is correct
- how long retrieval takes
- whether staff can explain the source
- whether permissions behave correctly
- which workaround was required
If the information exists but staff cannot find or trust it, the migration is not ready.
Do not solve every usability problem with more training. Sometimes the field mapping, screen layout, permissions or workflow needs to change.
Step 6: test connected workflows
Customer context rarely stays inside the CRM.
Check the handoffs that matter to the business:
- checkout attaches a purchase to the correct profile
- returns and refunds update the appropriate history
- loyalty activity uses the intended customer identity
- segmentation reads the correct fields
- communication tools respect current preferences
- reporting does not double count merged customers
- inventory or order views link to the right transaction context
Use a controlled transaction in the destination system and trace it from start to finish.
The purpose is not to prove that every integration exists. It is to verify the specific connected workflows the business plans to use.
Step 7: prepare rollback and stabilisation
Before cutover, define:
- the final source-system backup
- who can access it
- how long the old system remains read-only
- what would trigger rollback or pause
- who owns migration exceptions
- how staff report missing context
- when the migration will be considered stable
- when the old system can be retired
Avoid keeping two writable CRMs running without a clear synchronization rule. That creates two competing customer stories.
During stabilisation, review missing-context reports daily. Group them by cause: mapping, relationship, permission, workflow, training or source-data quality.
Fix the cause, not only the individual record.
Where EzyCarto fits
EzyCarto's current CRM and Customer Engagement scope includes customer profiles with shopping history, preferences and reward balances, segmentation by behaviour, location or loyalty tier, personalised offers and communications, and connections with loyalty, checkout and inventory.
That makes EzyCarto relevant when a retailer wants customer context connected to the wider shopping and store operation.
It does not mean every legacy CRM can be migrated automatically or without preparation.
The practical evaluation is:
1. Define the customer context the retailer needs.
2. Confirm which information EzyCarto supports today.
3. Inspect the source system and available export formats.
4. Map fields and relationships.
5. Test representative records and connected workflows.
6. Reconcile results before cutover.
Explore EzyCarto CRM and Customer Engagement (https://ezycarto.com/crm).
If the project also changes checkout, products, tax settings or stock records, use the separate POS migration and inventory reconciliation guide (https://ezycarto.com/blog/pos-migration-checklist-retail-inventory-reconciliation). Customer-context continuity and inventory reconciliation are related, but they are not the same test.
For the loyalty connection, review EzyCarto Loyalty and Rewards (https://ezycarto.com/loyalty).
Customer-context migration checklist
Before cutover, confirm:
- We defined the minimum customer story staff need.
- Every critical field has a documented source, destination and owner.
- Notes, purchases, tasks, consent and ownership relationships were mapped.
- Duplicate rules distinguish true duplicates from legitimate relationships.
- Representative and awkward records were included in testing.
- Record totals, field values, relationships and exceptions were reconciled.
- Permissions and communication choices behave correctly.
- Staff can retrieve the right context during realistic work.
- Checkout, loyalty, communication and reporting handoffs were tested where applicable.
- Failed or transformed records have a named owner and resolution path.
- The source system is backed up and recoverable.
- Rollback, stabilisation and retirement criteria are documented.
A successful CRM migration does not merely move customer records.
It preserves the context that helps staff recognise the customer, honour the relationship and take the right next action.
Test that before calling the migration complete.
Sources
- Small-business CRM migration experience: https://www.reddit.com/r/smallbusiness/comments/1uu0k56/crm_software/
- Small-business CRM migration question: https://www.reddit.com/r/smallbusiness/comments/1anp0h6/crm_migration_help_and_rec_for_25k_contacts/
- CRM migration practitioner discussion: https://www.reddit.com/r/CRM/comments/1vavy4f/crm_migration_what_actually_breaks_and_how_to/
- Square Customer Directory: https://squareup.com/help/us/en/article/5498-manage-your-customer-directory-online
- Shopify POS customer management: https://help.shopify.com/en/manual/sell-in-person/shopify-pos/customer-management
- EzyCarto CRM and Customer Engagement: https://ezycarto.com/crm
