Nobody stalls a CRM migration because they doubt the new platform. They stall because of one question: what happens to the fifteen years of customer history sitting in the old system?
It's a fair worry. Migrations do go wrong. But they go wrong in predictable, preventable ways, and almost all of them trace back to work that should have happened before anyone clicked import.
Here's the order of operations that keeps your data intact.

Step 1: Inventory what you actually have
Before exporting anything, list every place customer data lives. That's rarely just the CRM. Most teams also have contacts in email marketing tools, a spreadsheet the sales manager maintains, form submissions sitting in a website database, and a support inbox nobody has touched in years.
Decide now which of these are moving. A migration is the one natural opportunity you'll get to leave bad data behind, and it's much cheaper to exclude a list than to clean it later.
Step 2: Clean before you move, not after
Importing dirty data into HubSpot gives you dirty data in HubSpot. The platform won't fix duplicates, dead email addresses, or inconsistent formatting for you.
Handle these in the source system or in your export file:
- Duplicates. Merge them before import. HubSpot deduplicates contacts by email address and companies by domain, so records missing those identifiers will import as separate entries.
- Formatting. Standardize phone numbers, state abbreviations,s and country names. Inconsistent values create a mess in filters and workflows later.
- Dead records. Bounced emails and contacts with no activity in five years add noise and, depending on your subscription tier, cost.
Step 3: Map your fields deliberately
This is where most of the risk lives. Every field in your old system needs a decision: map it to a standard HubSpot property, create a custom property for it, or drop it.
Build the mapping as a spreadsheet before you touch the import tool. One column for the source field, one for the destination property, one for the property type, one for notes. Pay particular attention to dropdown and picklist fields — if the values in your export don't exactly match the options defined in HubSpot, those values arrive blank.
Resist the urge to recreate every legacy field. Most CRMs accumulate fields nobody has filled in since 2019. A migration is your chance to retire them.
Step 4: Import in the right order
Order matters, because records need something to attach to. Import in this sequence:
- Companies — these become the anchor records.
- Contacts — associated with companies by domain or a shared identifier.
- Deals — associated with both contacts and companies.
- Tickets and activities — notes, calls, emails, and support history.
Running this out of order is the most common cause of orphaned records: deals with no contact attached, contacts with no company. HubSpot's multi-file import handles associations if you set up the identifier columns correctly, but the sequence still needs to be right.
Step 5: Test with a sample first
Import 25 records. Not 25,000.
Then open them and check the things that break quietly: Did the custom properties populate? Did the associations form? Did dates land in the right format? Did picklist values map or arrive empty?
Fixing a mapping error at 25 records takes minutes. Finding it at full volume means a cleanup project.
Step 6: Validate, then keep the old system read-only
After the full import, verify record counts object by object against your source export. Spot-check the oldest records and the newest ones — the edges are where problems hide.
Don't cancel the old system the day you go live. Keep it accessible in read-only mode for at least one full sales cycle. It costs very little, and it's the difference between a question and a crisis if something surfaces in month two.
Working with a certified HubSpot partner means someone has run this sequence before and knows where each platform's export quirks live.
FAQ
How long does a HubSpot migration take?
It depends far more on data quality than data volume. A clean system with straightforward field mapping can move in days. A CRM with heavy customization, multiple data sources, and years of duplicates takes weeks, and most of that time is cleanup rather than import.
Will I lose my email history and notes?
Not if you plan for them. Activities, notes, and logged emails can be migrated, but they're a separate import from your core records, and they're the piece most often forgotten in a rushed migration.
Can I migrate from a spreadsheet instead of a CRM?
Yes, and it's often simpler. The same rules apply: deduplicate first, map your columns deliberately, and import companies before contacts.
What happens to my existing integrations?
They don't transfer. Inventory every tool currently connected to your old CRM — accounting, quoting, calendar, phone system — and plan those connections as part of the project rather than as an afterthought. Sales technology and systems integration is usually the longer half of the work.
Should I migrate everything or start fresh?
Somewhere in between. Bring your contacts, companies, open deals, and recent history. Be selective about records that have been cold for years — starting with a clean database is an advantage, not a loss.
Planning a move?
The migrations that go badly are the ones where the mapping happens during the import instead of before it.
If you're evaluating HubSpot or you've already bought it and the data is the last thing standing in your way, let's talk through your setup. We'll look at what you're moving from, what's worth bringing, and what the sequence should be.
