
HubSpot data migration is where most CRM transitions go sideways. Not because HubSpot is hard to import into — it isn’t — but because teams migrate bad data and then wonder why their new CRM still doesn’t work. I’ve seen it across dozens of implementations: companies spend weeks setting up HubSpot, then dump years of messy legacy records directly into it. The result is duplicates, broken associations, and lifecycle stages that mean nothing.
This guide covers the full HubSpot data migration process — from auditing your existing data to validating records after import. Follow these steps and you’ll move into HubSpot with clean data, intact associations, and a team that can actually use what you built.
Step 1: Audit Your Data Before You Migrate to HubSpot
The first rule of HubSpot data migration: don’t move garbage. Every record you migrate carries maintenance cost — bad emails bounce, orphaned contacts clog segmentation, and deals without owners never get followed up on.
Before you export anything from your current CRM, run a full data audit. Look for:
- Contacts with no email address — HubSpot uses email as its primary deduplication key. Contacts without one create duplicate records immediately on import.
- Deals with no owner or close date — These will import as noise in your pipeline. Either clean them before migrating or leave them behind.
- Companies with duplicate entries — Duplicate company records break Contact-to-Company associations and make account-level reporting unreliable.
- Stale records with no activity in 2+ years — Set a hard cutoff. If a contact hasn’t engaged in two years, there’s no reason to pay for that record in HubSpot.
According to HubSpot’s data migration developer guide, one of the most common migration failures is importing duplicate records that HubSpot then has to reconcile after the fact. Resolving duplicates in your source system is always faster than cleaning them up inside HubSpot post-migration.
The output of this step should be a clean, audited export file with a documented count of what you’re keeping: X contacts, X companies, X open deals, X closed deals.
Step 2: Map Your Fields to HubSpot Properties
Field mapping is where HubSpot data migration gets detailed. Your current CRM has its own property names, data types, and structure — and most of it won’t translate to HubSpot by default.
HubSpot uses three core object types: Contacts, Companies, and Deals. Each has default properties (First Name, Last Name, Email, Deal Stage, Close Date) plus any custom Contact Properties, Company Properties, or Deal Properties you create. Every field from your source system needs to map to one of these.
For each field in your source data, answer four questions:
- Does a matching default HubSpot property exist? If yes, map to it. Don’t create a custom property when a default one already tracks the same data.
- What data type does it need to be? Text, number, date, dropdown select, or checkbox — the wrong data type means you can’t filter or report on that property correctly.
- Dropdown or free text? Dropdowns enforce consistent values. Free text fields become useless for segmentation when reps spell “Technology” twelve different ways.
- Does this field power any workflows or sequences? If yes, the property must exist and be populated before those automations can run after migration.
Build your mapping as a spreadsheet: Source Field → HubSpot Property → Data Type → Notes. Create all custom properties in HubSpot before you run a single import.
HubSpot’s Smart Transfer tool handles structured field matching if you’re migrating from Salesforce, Pipedrive, or another major CRM. For more complex migrations, use a dedicated app from the HubSpot App Marketplace’s data migration category — there are over 21 tools built specifically for this.
Step 3: Set a Cut-Off Date and Run a Test Migration
One of the most overlooked steps in any HubSpot data migration is setting a hard cut-off date — the point after which your team stops entering new data in the old CRM and starts using HubSpot exclusively. Without this, you end up with split records: some deals in the old system, some in HubSpot, and no clear picture anywhere.
Once your cut-off date is set, run a test migration before touching the full dataset. Export a representative sample — 100–200 contacts, a handful of companies, a few deals — and import it into a sandbox or a clean section of your portal. Check for:
- All fields importing to the correct HubSpot properties
- Contact-to-Company associations intact
- Deal-to-Contact associations intact
- Lifecycle Stage values coming through correctly (not blank)
- Dropdown values not failing because the option doesn’t exist in the property
A test migration will surface almost every edge case before it scales. Fix the issues in your mapping spreadsheet first. This step alone prevents the majority of migration cleanups I see teams dealing with weeks after go-live.
Step 4: Execute the Full Migration in Sequence
When you run the full HubSpot data migration, import order matters. You can’t bring in Deals before the Contacts and Companies they’re associated with — HubSpot needs parent records to exist before it can build associations.
Run your imports in this sequence:
- Companies first — parent records for most B2B contact associations
- Contacts — include the company name or HubSpot Company ID to trigger associations on import
- Deals — include Contact email and/or Company name to associate correctly
- Notes and Activities last — engagement history, if you’re bringing it over
Use HubSpot’s native Import tool for straightforward CSV imports. For large or complex migrations, a dedicated migration app handles sequencing automatically and gives you error reporting by record. When running large imports, do them in batches of 10,000–20,000 records so you can catch errors before they replicate across the full dataset.
After each batch, spot-check 10–15 records manually: open a contact, verify the properties, confirm the associated company and deals, and review any imported notes. Don’t wait until the full import is done to start checking — by then a systematic mapping error has already affected every record.
Step 5: Validate, Deduplicate, and Enable Your Team
A completed import doesn’t mean a finished migration. This final phase confirms the data landed correctly and sets your team up to actually use HubSpot on Day 1.
Start with deduplication. Even with clean source data, HubSpot can create duplicates during import — especially when contacts appear in multiple lists or have slight variations in email formatting. Run HubSpot’s built-in Contacts Deduplication tool (Contacts → Actions → Manage Duplicates) immediately after import. Do the same for Companies.
Then verify Lifecycle Stage distribution. Check that Lifecycle Stage values spread correctly across your contact database. If you’re seeing large numbers of contacts landing in “Subscriber” or “Other,” back-fill that property from your source data before anyone starts working the pipeline.
Once data is validated, run a team walkthrough before declaring go-live. Show your reps where their deals are, how to log activities, and how to read a contact record. HubSpot adoption starts with reps trusting the data they see on day one — and that trust is built or broken at this stage.
If you’re thinking about the broader setup, HubSpot data migration typically falls in weeks 2–4 of a full onboarding engagement. For a look at how the full process fits together, see our guide to the complete HubSpot CRM implementation process.
Frequently Asked Questions
How long does a HubSpot data migration take?
Timeline depends on data volume, cleanliness, and field mapping complexity. A clean migration of 5,000–20,000 contacts, companies, and deals typically takes 2–4 weeks from audit to validated go-live when executed properly. Messy source data or a heavily customized legacy CRM can push that to 4–8 weeks. The technical import itself is fast — the audit, field mapping, and validation phases are where the time goes, and they shouldn’t be rushed.
Can I migrate from Salesforce to HubSpot without losing data?
Yes, but it requires careful field mapping and import sequencing. HubSpot’s Smart Transfer tool handles standard Salesforce objects — Leads, Contacts, Accounts, Opportunities — and maps them to HubSpot Contacts, Companies, and Deals. Custom objects and complex relationship types may need a migration partner or custom API work. The most common data loss in Salesforce-to-HubSpot migrations is with Activities: meeting notes and call logs don’t always map cleanly without a dedicated migration tool or manual re-import.
Do I need a HubSpot partner to run a data migration?
For simple migrations — a few thousand contacts from a basic CRM — you can do it yourself using HubSpot’s Import tool. For complex migrations involving custom objects, large datasets (50,000+ records), multi-object associations, or years of Salesforce customizations, working with a HubSpot Data Migration Accredited partner is worth it. Accredited partners have passed HubSpot’s validation process for migration methodology. Errors at migration scale are expensive to fix after the fact — far more expensive than getting it right the first time.
What data can I migrate into HubSpot?
HubSpot supports importing Contacts, Companies, Deals, Tickets, Products, and custom objects (Enterprise tier). You can also import Notes, Calls, Emails, and Meetings as engagement history. What doesn’t migrate directly is automation logic — workflows, sequences, and email templates from your old CRM need to be rebuilt natively in HubSpot. That’s actually a benefit: rebuilding automations gives you the chance to clean up years of accumulated workflow bloat from your previous platform.
What’s the biggest mistake companies make during HubSpot data migration?
Migrating without auditing first. The most expensive mistake I see is teams exporting everything from their old CRM — including five years of dead contacts, duplicate companies, and stale deals nobody has touched — and importing all of it into HubSpot. You get a new CRM full of old problems. Spend the time on the audit phase. Cut records with no activity in 18–24 months. Deduplicate before you export. A smaller, clean database is worth far more than a large, broken one.
Start Your HubSpot Migration the Right Way
HubSpot data migration is manageable when you run it in the right sequence with clean source data. The teams that struggle aren’t the ones with large datasets — they’re the ones who skipped the audit, guessed on field mapping, or went live without a test import.
If you’re setting up HubSpot for the first time or migrating from another CRM, the decisions you make in the first few weeks affect everything that follows. Book a call with Your HubSpot Expert — we’ll map out your migration before you touch a single import file and make sure your data lands in HubSpot clean, structured, and ready to use. You can also see our full HubSpot implementation and migration services to understand how we structure a complete onboarding engagement.