TL;DR
Most migrations fail a week after import, not on the day. Pipeline looks lower, a workflow emails customers twice, or ticket history is missing, and each of those was visible beforehand to anyone who checked. This checklist makes sure someone does, by comparing HubSpot against the source on every item.
Save a baseline from the source CRM before anything moves. Run the checks on a sample import, fix the mapping, then run them again on the full migration, and do not go live with open fails on records, associations, or workflows.
At a glance
|
Area |
What to consider |
|
Baseline |
Save source counts, pipeline totals, key report values, and sample records before any testing starts. |
|
Counts and completeness |
Compare totals and per-segment counts, and review every import error file. |
|
Fields |
Compare dropdown distributions as well as samples, especially dates, multi-selects, and calculated fields. |
|
Associations |
Check counts per object pair, look for orphan records, and confirm the primary company on contacts with several. |
|
Workflows and integrations |
Test workflows on specific records first, then on a small live set, and turn them on in an agreed order. |
|
Sign-off |
Reconcile key reports to the baseline, log every difference, and record an owner and a result for each go-live check. |
Most CRM migrations do not fail on import day. They fail a week later, when a sales manager notices that pipeline is lower than last week, a workflow emails customers twice, or support cannot find a ticket history. Each of those problems was visible before go-live to anyone who looked. A CRM migration testing checklist is how you make sure someone looks.
This guide explains why testing matters, then walks through what to validate before going live on HubSpot: record counts and completeness, field mapping and data types, associations and ownership, workflows and integrations, and reports and dashboards. It ends with a final go-live checklist you can use as a sign-off sheet.
Why CRM Migration Testing Matters
A migration is a translation. Data moves from one model into another, and every translation step can change meaning. A picklist value that does not exist in HubSpot lands blank. A date format reads day as month. A lookup field becomes text instead of an association. None of these errors stops the import. They only show up when people use the data.
Testing also protects trust. If reps open HubSpot on day one and find missing deals, they go back to spreadsheets, and adoption suffers for months. A tested migration lets you go live with evidence that the data is right, and with an explanation ready for any number that changed.
Treat testing as a project phase with its own time in the plan, not something squeezed into the last afternoon. A written migration QA checklist, agreed with the business before data moves, tells everyone what "done" means and who signs it off. It also turns a vague worry into a list of checks that can each pass or fail. The HubSpot migration checklist in this guide is built that way: every item compares HubSpot against the source and has a clear pass condition.
Good CRM migration testing follows three principles:
- Compare against the source. Every check is a comparison with the old CRM, not an opinion that records look fine.
- Test early and twice. Run the full checklist on a sample import first, fix the mapping, then run it again on the full migration.
- Involve the people who know the data. Sales managers, support leads and marketing owners spot problems that counts cannot.
Before testing starts, save a baseline from the source CRM: record counts per object, pipeline totals, key report values and a list of sample records. Without a baseline, there is nothing to test against.
If you use a sandbox, HubSpot offers standard sandboxes on Enterprise subscriptions. HubSpot describes them as a copy of your production account's features and functionality, with the option to copy a set of contacts and associated records for testing. On other subscriptions, a small test import into the live account, clearly tagged so it can be removed, serves the same purpose.
Validate Record Counts and Data Completeness
Counts are the first and simplest check. For every object, compare the number of records in the source CRM with the number in HubSpot.
- Per object: Contacts, companies, deals, tickets, custom objects and activities.
- Per segment: Counts by owner, pipeline, lifecycle stage or region. A matching total can hide two errors that cancel out.
- Exclusions: Records you chose not to migrate, such as old leads or test data, should be listed and counted, so the gap is explained.
Then check completeness. A record can exist without its data. For each key property, compare how many records have a value in the source and in HubSpot. A property that was 95 percent populated in the old CRM and is 40 percent populated in HubSpot points to a mapping error or a failed column.
HubSpot's import tool helps here. After an import, it shows an import errors summary and lets you download the rows that failed, with an error code and reason for each. HubSpot lists common errors such as invalid enumeration options, unparseable dates or numbers, duplicate unique property values, missing required properties and owners that cannot be found. Review every error file before moving on. Each row in it is a record that did not arrive as planned.
Finally, check for duplicates. HubSpot's duplicate management tool, available on Professional and Enterprise subscriptions, compares contacts and companies daily to surface likely duplicates. Run it after import, and search on the source system's record ID to confirm no record was imported twice.
Check Field Mapping and Data Types
Counts prove that records arrived. Field checks prove that the values mean the same thing.
Pick a sample of 20 to 50 records per object, chosen to cover edge cases: records with every picklist value, records with long text, records with blank fields and records with unusual dates. Compare each mapped field with the source record, value by value.
Focus on the field types that most often go wrong:
|
Field type |
What to check |
Common error |
|---|---|---|
|
Dropdowns and picklists |
Every source value has a matching HubSpot option |
Values land blank or fail to import |
|
Multi-select fields |
All selected values arrived |
Only the first value imported |
|
Dates and date-times |
Day, month and time zone |
Day and month swapped, dates shifted by a day |
|
Numbers and currency |
Decimals, currency code, percentages |
Percentages stored as whole numbers |
|
Phone numbers |
Country code and format |
Numbers without country code |
|
Long text and HTML |
Line breaks and formatting |
Text cut off or tags visible |
|
Calculated fields |
Static value or rebuilt calculation |
Formula results frozen at import |
|
Owner fields |
Right user on each record |
Records without an owner |
Check data distributions as well as samples. For every dropdown property, compare the count of records per value in the source and in HubSpot. If "Enterprise" had 1,200 accounts in the old CRM and 950 in HubSpot, something in the mapping merged or dropped values.
Watch for properties that HubSpot sets automatically. Some properties, such as deal probability and close date, can be changed by HubSpot when a record moves stage. Confirm that imported values survived the import and any workflows that ran afterwards.
Test Associations and Record Ownership
Associations are where most migrations lose data quietly. A contact without its company, or a deal without its contacts, looks fine on its own but breaks reports, workflows and the user experience.
Test associations in three ways:
- Counts per object pair: Compare the number of contact to company, deal to contact, deal to company and ticket to contact links in the source and in HubSpot.
- Orphan checks: Filter for records that should always have an association, such as deals with no company or tickets with no contact. In most migrations the answer should be zero.
- Sample review: Open sampled records and confirm each one is linked to the right related records, not just to some record.
Check the primary company for contacts linked to several companies. HubSpot uses the primary company for some activity logging and reporting, and by default the first company associated with a contact becomes its primary company. If the order of the import was wrong, the primary company may be wrong too.
If you use association labels, confirm that each label arrived. HubSpot's import errors include a case where an association label is not found, in which case the association is created without its label.
Ownership needs its own pass. Count records per owner in both systems for each object. Confirm that every active user exists in HubSpot, that records owned by former users went to the agreed replacement, and that teams are set up where reports or permissions depend on them.
Verify Workflows and Integrations
Data checks prove the records are right. Workflow and integration checks prove the system behaves correctly with them.
Start with workflows. HubSpot lets you test a workflow on a specific record before turning it on, on Professional and Enterprise subscriptions. HubSpot notes that no actual actions are executed during a test: it shows the path the record would take and a simulated outcome for each action. Use this on every rebuilt workflow, with test records that should and should not enroll.
Then run a controlled live test. Turn on each workflow for a small set of test records and confirm:
- The right records enroll, and the wrong ones do not.
- Each action fires once, with the expected values.
- Re-enrollment behaves as intended.
- Emails go to internal test addresses, not customers.
Be careful with timing. Workflows switched on before the full import can enroll every migrated record at once. Agree on the order: import data, test workflows, then turn them on, with enrollment criteria that exclude historical records where needed.
Integrations need the same care. For each connected system, such as an ERP, billing tool, support platform or data warehouse, check:
- Direction: Which system is the source of truth for each field.
- Mapping: Fields map to the right HubSpot properties.
- Matching: Records match on a stable identifier rather than names.
- Volume: The first sync does not overwrite migrated data with older values.
For integrations built on HubSpot's data sync, HubSpot offers a test sync when you connect a new app with a one-way sync into HubSpot. It simulates the sync and shows how many records will sync, fail or be excluded before any data moves.
Reconcile Reports and Dashboards
Reports are how leadership will judge the migration, so reconcile them before go-live. Take the baseline values you saved from the source CRM and rebuild the same reports in HubSpot.
- Pipeline value: Open deal amount by pipeline and stage.
- Closed won: Revenue by month for at least the last 12 months.
- Activity: Calls, meetings and tasks by owner for a recent period.
- Support: Tickets by status and priority, if service data moved.
- Marketing: Contacts by lifecycle stage and source.
When a number does not match, investigate in order: filters first, then field mapping, then the data. Most differences come from a filter interpreted differently, such as a date range or a currency setting, rather than from missing records.
Keep a short log of every difference and its explanation. Some changes are expected, such as excluded records or merged duplicates. Leadership will accept a different number with a clear reason. They will not accept one without it.
If you would rather have a team handle this reconciliation, our approach to CRM migration and data validation compares HubSpot reports against your source baseline before cutover.
Final Go-Live Checklist
Use this as the sign-off sheet for go-live. Each line should have an owner and a pass or fail result recorded before the switch.
|
Area |
Check |
Owner |
Pass condition |
|---|---|---|---|
|
Baseline |
Source counts, totals and report values saved |
Project lead |
Baseline file stored |
|
Records |
Counts per object and per segment |
Data lead |
Match, with exclusions explained |
|
Errors |
All import error files reviewed |
Data lead |
Every error fixed or accepted |
|
Duplicates |
Duplicate tool and source ID search |
Data lead |
No unexpected duplicates |
|
Fields |
Sample records and value distributions |
Data lead |
All mapped fields match |
|
Associations |
Counts per object pair and orphan checks |
Data lead |
Counts match, no orphans |
|
Ownership |
Records per owner, users and teams set up |
CRM admin |
Counts match |
|
Workflows |
Tested and switched on in agreed order |
CRM admin |
Expected actions, no duplicates |
|
Integrations |
Mapping, matching and first sync tested |
Integration owner |
No overwritten data |
|
Reports |
Key reports reconciled to baseline |
RevOps |
Match, with differences logged |
|
Users |
Permissions, training and login tested |
CRM admin |
Users can work on day one |
|
Cutover |
Source CRM frozen, final delta imported |
Project lead |
No changes lost in the gap |
|
Rollback |
Plan to pause or revert if a critical issue appears |
Project lead |
Plan agreed and documented |
Do not go live with open fails on records, associations or workflows. Those are the areas where problems spread fastest after launch.
H2: Conclusion
A tested migration rests on a small number of checks done well: counts and completeness against a saved baseline, field values and distributions, associations and ownership, workflows and integrations tested before they run on real data, and reports reconciled with every difference explained. Run the full checklist on a sample import, fix the mapping, then run it again on the full migration.
Start by saving the baseline today, because every later test depends on it. If you would like help planning or running the testing, OneMetric's HubSpot migration services include structured CRM data validation from first test import to go-live. To talk through your own migration, get in touch with OneMetric.
Need confidence in your numbers after a CRM move?
About the author
Himanshi Gaur Himanshi is a CS - Engineer, working across business operations, Revenue Operations, CRM strategy, and growth systems. She writes about HubSpot, Salesforce, CRM migrations, marketing operations, and the processes that help businesses streamline workflows and scale efficiently. Read more articles by Himanshi Gaur.
