How do you migrate CRMs without losing data?
Decide what records merge on before anything moves, rehearse the migration on a copy, and reconcile the result against a source of truth you trust. Skipping that first decision is how migrations quietly corrupt years of records, and cleaning up after exactly that has been my job more than once.
The longer answer
In practice.
The decision that matters most
The merge key. Merge contacts on email and everyone who shared or changed
one becomes somebody else; that single casual choice is behind most of the
migration wreckage I have been called in to repair. Choose the stable
identifier, not the convenient one.
The method
Map fields explicitly including the awkward ones, migrate a copy, let real
users try real work on it, fix the mapping, then migrate for real in a quiet
window with the old system frozen. Two rounds of client testing before
go-live is my standard, because it was the standard that worked.
The definition of done
Not "the import finished": counts and totals reconciled against the old
system and against accounting, exceptions listed and explained. Full story at
CRM & automation.