CRM data migration: best practices for a clean start
How to move contacts, companies and deals into a new CRM without losing history, creating duplicates or breaking reports.
CRM data migration: best practices for a clean start
A CRM migration is a chance to clean house, not just move boxes. Most companies fail not because the tool is wrong, but because the data they imported was stale, duplicated or unstructured.
This guide covers the migration we run before every HubSpot go-live.
Audit before export
List every source: spreadsheets, the old CRM, email lists, event scans and accounting exports. Decide what is still accurate. A contact that has not been touched in three years is usually not worth migrating.
Define one owner for each object
Contacts, companies and deals each need a single owner in your team. If two people own different pieces of the same account, decide who becomes the CRM owner and who is added as a follower.
Clean with rules, not by eye
Use spreadsheet formulas or scripts to:
- Remove leading/trailing spaces and standardize country names.
- Merge duplicate emails and phone numbers.
- Validate email format before import.
- Normalize company names ("Acme Ltd", "Acme Limited", "ACME" become one record).
Map fields before import
Every column in the source must map to a HubSpot property. If a field does not have a home, either create a custom property or drop it. Importing data "just in case" creates noise.
Migrate in waves
Start with companies, then contacts, then deals and finally activities. This order preserves associations and makes it easier to spot errors at each layer.
Validate with a sample
Import 50 records first. Check associations, property values and reports. Fix the process, then import the rest.
A clean migration makes the CRM trustworthy from day one. Trust is what drives adoption.
Want a second pair of eyes on your CRM?
We run free 15-minute reviews โ no slides, no pitch, just a look at your setup.
Book a review โ