Home/Blog/A CRM Migration Checklist, and the Four Things That Actually Go Wrong

A CRM Migration Checklist, and the Four Things That Actually Go Wrong

The order a CRM migration runs in, and the week the old system gets switched off

A CRM migration is six steps: export, map, clean, import, verify, cut over. The data is the straightforward part. What derails migrations is the reporting history nobody agreed to lose and the integrations nobody wrote down.

Most of the risk is in the two weeks before anyone touches an export file.

Before you export anything

List every integration, including the ones nobody owns. The calendar sync, the form on the website, the Zap somebody built in 2023, the spreadsheet that pulls a weekly report. Each one is pointing at the old system and will keep pointing at it silently. This list is the single most useful artefact of the whole project, and it is almost always longer than the first guess.

Agree which reports have to work on day one. Not all of them. The three or four that someone acts on. Then check what each one depends on, because a report that groups by a custom field you decided not to migrate is a report that will be broken in week one, which is when confidence is decided.

Decide what you are deliberately not taking. Contacts with no activity in three years. Companies that were never qualified. Deals that have sat in stage one since 2024. Write the rule down and have someone senior agree to it, because the alternative is that each person makes their own call during the import and nobody can explain the result afterwards.

The six steps

StepWhat it meansWhere it goes wrong
ExportPull everything out of the old system while you still have accessExporting too late, after the contract lapses
MapDecide which old field becomes which new fieldCustom fields with no obvious home get dropped silently
CleanDeduplicate, drop what the rule says to drop, fix formatsSkipped, on the basis that it can be done later
ImportLoad it, usually companies first, then contacts, then dealsDeals arriving before the records they attach to
VerifyCheck counts, spot check records, run the day-one reportsChecking totals only, which hides mangled fields
Cut overSwitch the integrations, make the new system the only oneLeaving the old one writeable "just in case"

Order matters in the import. Companies, then contacts, then deals, then activity. Each layer attaches to the one above it, and loading them out of order produces orphaned records that look fine in a count and wrong in a list.

Verifying properly

Counts are necessary and not sufficient. The same number of records can arrive with every date shifted by a timezone, every currency read as a string, or every owner assigned to whoever ran the import.

Three checks catch most of it. Pick ten deals at random and compare them field by field against the old system. Run the day-one reports and compare the totals to last month's. And have two or three people who use the system daily spend twenty minutes in it before anyone announces the switch, because they will notice in a minute what a checklist misses.

The week you switch off the old one

Set a date and hold it. The failure mode is not a dramatic rollback, it is a slow one: the old system stays readable, a few people keep using it, and six weeks later there are two half-complete records of the same pipeline.

A short read-only overlap is sensible. Anything longer than a fortnight means the migration has not finished, it has stalled.

If you are moving because of what it costs

Worth separating two problems before you choose where to go. One is that the system is wrong for how you work. The other is that the bill grows every time you hire, which is a pricing model problem rather than a product one, and it follows you to the next per-seat CRM.

Empiraa Signal is a CRM and more. It is also the B2B prospect database, the enrichment, the email sequences, the booking link and the proposal tool, in one system with unlimited users on every plan, so the bill does not move when the team grows. Migration of contacts, companies, deals and pipeline data is included.


Related reading: sales pipeline stages, and what probability to put on each, and what a free CRM actually costs.

See how Signal compares against HubSpot, with list prices and the date they were checked.

Common questions

What is included in a CRM migration?
At minimum: contacts, companies, deals with their stage and value, and the activity history attached to them. Beyond that it depends on what you use. Custom fields, pipelines, email history, notes, attachments, tasks and users all have to be decided on individually, and the decision to leave something behind is a legitimate one as long as somebody makes it deliberately.
How long does a CRM migration take?
For a team under fifty people with reasonably tidy data, two to four weeks of elapsed time and a few days of actual work. The variable is almost never the volume of records. It is how many custom fields and integrations have accumulated, because each one is a decision somebody has to make and a thing somebody has to test.
What is the most common CRM migration mistake?
Migrating everything. A migration is the only moment you get to leave bad data behind without an argument, and teams routinely carry across ten years of dead contacts, duplicate companies and deals that were never real. The second most common is not agreeing in advance which reports have to work on day one, which is what causes the rollback.
Should you clean data before or after a CRM migration?
Before, and it is not close. Cleaning in the export is a filter applied once. Cleaning after import means every bad record has already been seen by the team, assigned to someone and reported on, and removing it later looks like losing data rather than deciding not to keep it.
Can you run two CRMs at once during a migration?
You can, and it is usually a mistake beyond a week or two. Two live systems means two records of the truth and a team that has to guess which one counts, so both degrade. A short overlap for read-only reference is fine. A long one produces exactly the data quality problem the migration was meant to solve.
Ash Brown

Ash Brown

Founder & CEO of Empiraa

Published 5 November 2026

Run the whole sales stack from one login.

Empiraa Signal is a CRM and more. It is also the B2B prospect database, the enrichment, the email sequences, the booking link and the proposal tool, in one system with unlimited users on every plan.

14 days free. No credit card. Unlimited users.