Switching CRMs feels risky because it is. Your contacts, companies and deals are the memory of your business, and a bad import can scramble years of work in a few minutes.
Most of what goes wrong is predictable, though. Somebody skipped the plan, the data was a mess going in, or a column got mapped on a guess. This CRM migration checklist covers the 15 steps that prevent those problems, in the order we’d do them.
They apply to any pair of CRMs, and they don’t change if someone else does the move for you.
Plan the CRM migration
1. Write down why you’re switching
One sentence will do. “Our sales team needs a simpler pipeline” tells you which data matters most in the new CRM, and which old habits can stay behind.
2. List what’s in scope (and what isn’t)
Make a short list of the record types you’re moving. For most teams that’s contacts (or people), companies (or organizations, or accounts) and deals (or opportunities).
Then write down what you’re not moving. Old leads nobody has touched in years, test records and closed deals from a product you no longer sell are all good candidates to archive in a file instead of moving.
3. Pick a cutover date and a freeze window
Choose the day the new CRM becomes the one everybody uses. Plan a short window before it where nobody adds or edits records in the old system, so your final export is complete.
4. Count your records
Look up how many contacts, companies and deals you have. You’ll need these numbers to check the migration later, and to get an accurate price. (Carryrow, for example, prices a move by the number of records in your file. See CRM migration pricing, or what CRM migrations cost across tools and agencies.)
Clean your data before you move it
Clean in the old CRM, not the new one. Your team knows the old system, and nobody wants to fix duplicates while sales is trying to log calls.
5. Remove duplicates
Merge or delete duplicate contacts and companies. Many CRMs, including HubSpot, use email address to tell contacts apart, so two records with the same email can collide or merge in ways you didn’t intend.
6. Standardize the basics
Pick one format and stick to it:
- Emails in lowercase
- Phone numbers in one consistent format
- Country and state values spelled the same way every time
- Dropdown (picklist) values with no near-duplicates, like “Closed Won” and “Closed-Won”
7. Drop fields nobody uses
Every CRM collects fields that seemed like a good idea once. If a field is almost always empty, or nobody can say what it’s for, leave it behind.
Map your fields
This is where most CRM migrations go wrong. A column lands in the wrong field. A date flips day and month. A dropdown value turns up that the new CRM has never heard of.
8. Set up the new CRM first
Before you import anything, create the custom fields, pipelines, deal stages and users you’ll need in the new CRM. If a column in your file has no matching field, it has nowhere to land.
9. Map every column on purpose
Go through your export one column at a time and decide where it goes. Don’t let the importer guess. Look at real values in each column, not just the header, because a column called “Type” can mean three different things depending on who filled it in.
This is exactly how Carryrow works: every column in your file is shown with a few real values next to it and the field it will go into. You can point it somewhere else, drop it, or skip rows that are missing a value, and nothing is written until you accept the map. See how a CRM data migration works.
10. Translate dropdown values one by one
Old pipeline stages, lead statuses and other picklist values rarely match the new CRM one to one. Write down where each old value goes before you import.
11. Keep the old record ID
Store each record’s ID from the old CRM in its own field in the new one. It makes checking the move, fixing mistakes and re-running an import much easier.
Try it on 250 records, free
We’ll move up to 250 of your real records into your new CRM so you can open them, poke around, and decide. It’s free. One per company, approved by our team, and we’ll need your work email.
Test the migration with a sample
12. Run a small test first
Never start with the full file. Import a small sample that includes your messy records, not just your cleanest ones: a contact with no company, a deal with odd characters, a record with an empty required field.
Then open those records in the new CRM and check them by hand. Are names, emails and phone numbers right? Did dates and currency values come through correctly? Did dropdowns land on the right values?
Carryrow offers a free sample migration of up to 250 records for exactly this reason. You see your own data in your new CRM before you pay for the full move.
13. Fix the map and test again
A problem caught in 50 records is a five-minute fix. The same problem in 5,000 records is your weekend. Adjust the mapping and run the sample again until it’s right.
Migrate, check and cut over
14. Run the full migration and compare counts
Freeze the old CRM, take your final export, and run the full migration. Then compare record counts by type between the old export and the new CRM. If you exported 4,200 contacts and only 4,050 arrived, find out why before you go live.
15. Go live and keep the old CRM readable
Tell your team the new CRM is now the system of record. Keep the old CRM (or a full export of it) available for a few weeks so people can look things up. Then turn on automations in the new CRM, one at a time.
A quick CRM migration checklist you can copy
- Reason for switching written down
- Record types in scope and out of scope listed
- Cutover date and freeze window agreed
- Record counts noted
- Duplicates removed
- Emails, phones, countries and dropdowns standardized
- Unused fields dropped
- Fields, pipelines, stages and users created in the new CRM
- Every column mapped on purpose
- Dropdown values translated
- Old record IDs kept
- Sample migration run and checked by hand
- Map fixed and sample re-run
- Full migration run and counts compared
- New CRM live, old data still readable
CRM migration checklist FAQ
How long does a CRM migration take?
It depends far more on planning and cleanup than on the import itself. A small team with clean data can move in days. A team with years of messy data should budget more time for steps 5 to 11.
What is the most common CRM migration mistake?
Skipping the test. Teams import the full file, then discover fields in the wrong place across thousands of records. A small sample migration catches most of those problems first.
Should I clean my data before or after the migration?
Before. Cleaning in the old CRM is faster, your team knows the data, and you avoid importing problems into a fresh system.
Do I need to give a migration service my CRM password?
Not with Carryrow. You export the file from the CRM you’re leaving, and we never log into it. In the CRM you’re joining, you create the access yourself and can delete it the same day.
Which CRMs does Carryrow support?
You can move from Salesforce, HubSpot, GoHighLevel, Zoho, Pipedrive, Close, Copper, Keap or a spreadsheet, into HubSpot, GoHighLevel, Salesforce, Zoho, Pipedrive or Close. For a worked example, see our Salesforce to HubSpot migration page. We also have guides for Pipedrive to HubSpot, Zoho to HubSpot and HubSpot to GoHighLevel.
Check your own data before you pay for the move
Ask for the free 250-record sample and we’ll move a slice of your real data into the new CRM first. One per company, approved by our team, work email required. If you’d rather skip ahead, upload your export and start mapping.

