
- Clean and deduplicate data in the old CRM before moving it; HubSpot will faithfully import every mess you bring.
- Map every object, property, owner, lifecycle stage and pipeline stage in a spreadsheet before the first import.
- Use unique identifiers so imports update records instead of duplicating them: Record ID, email for contacts and company domain for companies.
- Test with a sample, import in a fixed order, rebuild workflows and integrations, then freeze the old system on cut-over day.
How do you move to HubSpot without losing data?
Clean and deduplicate your data first, map every object and property to HubSpot in a spreadsheet, use unique identifiers so imports update instead of duplicating, run a test import, import in a fixed order with associations, rebuild your workflows and integrations, and freeze the old CRM on cut-over day. Most migration problems come from skipping the mapping and testing steps, not from the import tool itself.
This is the checklist we follow when clients move to HubSpot as part of our HubSpot work.
Step 1: What should you audit in the old CRM?
- Volumes: how many contacts, companies, deals, tickets and custom records, and how many are still active.
- Fields: every field in use, which ones are filled in, and which ones nobody has touched in years.
- Activity history: notes, calls, emails, tasks and meetings, and how far back you need them.
- Automations and integrations: everything that creates or updates records, such as forms, email tools and accounting syncs.
The audit usually shows that a large share of fields and old records do not need to move at all.
Step 2: Why clean data before moving it?
An import copies everything, including duplicates, bad formatting and outdated records. Clean it at the source: merge duplicate contacts and companies, standardise country and state values, fix email formats, archive records nobody will ever contact again, and agree on one format for phone numbers. Cleaning before the move is far cheaper than cleaning inside HubSpot after workflows have started acting on bad data.
Step 3: How do you map objects and properties?
Build a mapping spreadsheet with one row per old field and columns for the HubSpot object, the HubSpot property, the property type and any value translation. Cover:
- Objects: contacts, companies, deals, tickets and any custom objects.
- Properties: use HubSpot's default properties where they fit, and create custom ones only where needed.
- Owners: create every user in HubSpot first, so records can be assigned to the right person.
- Lifecycle stages and lead status: translate your old statuses into HubSpot's model.
- Pipelines and deal stages: set them up before importing deals, with matching stage names.
Step 4: How do unique identifiers prevent duplicates?
HubSpot uses unique identifiers to decide whether an imported row updates an existing record or creates a new one. A Record ID takes priority over other identifiers; for contacts, email is the main unique identifier, and for companies it is the company domain name, which only accepts values up to the top-level domain such as .com. You can also create custom properties that require unique values. To update existing records, the file must contain a unique identifier (HubSpot Knowledge Base: import objects).
Keep the old CRM's record ID in a custom property too. It makes it easy to trace any HubSpot record back to its source later.
Step 5: In what order should you import?
- Companies, using the domain as the identifier.
- Contacts, associated with their companies.
- Deals, associated with contacts and companies, in the right pipeline and stage.
- Tickets or custom objects, if you use them.
- Activity history, if you are moving it.
HubSpot can import two objects and their associations from a single file, or from separate files that share a common column (HubSpot Knowledge Base: import objects). Pick one approach and use it consistently.
Step 6: Why run a test import?
Import a sample of a few hundred records first, chosen to include the awkward cases: contacts without companies, companies with several domains, deals in every stage, special characters and blank fields. Check the results record by record, fix the mapping, and only then import everything. HubSpot's import errors report is worth reading line by line.
Step 7: What needs rebuilding after the data is in?
- Forms on your website, connected to HubSpot properties.
- Workflows and sequences, rebuilt from your documented list of old automations.
- Integrations with email, accounting, ecommerce or support tools.
- Reports and dashboards your team relies on every week.
- Permissions and teams, so people see the records they should.
Connections between HubSpot and other tools can often be handled with workflow automation in Make, Zapier or n8n when no native integration exists.
Step 8: How should cut-over day work?
Pick a quiet day, announce a short freeze on the old CRM, run a final delta import of anything changed since the main import, and switch forms and integrations to HubSpot. Then freeze the old CRM or make it read-only. Compare totals, such as contacts per owner and open deal value per stage, between the two systems before you call it done.
What should you check in the first weeks?
Watch for duplicates created by forms or integrations, check that owners are receiving their records and tasks, and ask each team what they cannot find. Expect a short list of fixes. If your migration involves custom data or tools that HubSpot does not handle natively, our custom software development team can build the missing pieces through HubSpot's API.
Frequently asked questions
Can we move emails, calls and notes into HubSpot too?
Often, yes, but it takes more than a basic spreadsheet import. Activity history such as notes, calls and emails usually needs a migration tool or the HubSpot API so each activity lands on the right record with the right date and owner. Decide how many years of history are worth moving before you price the project.
How long does a CRM migration to HubSpot take?
A small, clean database with contacts, companies and deals can move in days. Larger CRMs with custom objects, years of activity history, many integrations and workflows take weeks, mostly spent on cleaning, mapping and testing rather than on the import itself.
Will our old workflows and automations move across?
No. Workflows, sequences, scoring rules and integrations do not transfer between CRMs. Document what each one does in the old system, decide which ones are still needed, and rebuild them in HubSpot after the data is in, testing each one with sample records before switching it on.
What should we do with the old CRM after migration?
Freeze it on cut-over day so nobody keeps working in two systems, then keep it read-only or keep a full export for a period in case someone needs to check old details. Cancel it only when you are confident nothing is missing in HubSpot.
Last updated