CRM data migration checklist: what to audit before moving platforms

CRM Data Migration Checklist: What to Audit Before Moving Platforms

Quick answer: A CRM data migration checklist starts with an audit of the system you are leaving, not the import. Audit seven areas: record inventory, data quality, fields and picklists, associations, workflows and integrations, history, and consent and ownership. Each finding becomes a migrate, archive or delete decision, and the audit becomes your baseline for checking the result.
A migration moves whatever you give it: duplicates, empty fields, retired picklist values and forgotten automations included. That is why clean data matters more than which platform you choose. This checklist covers what to audit before anything moves, whichever CRM you are moving to.

Why the Audit Matters More Than the Migration

The import takes days. Knowing what you have, what state it is in and what it is connected to takes weeks, and decides whether the project lands. Skip the audit and you cannot prove the migration worked, problems surface after go-live, and the new CRM inherits reporting nobody trusts.
Data that looks clean but isn't is cheapest to fix in the old system. Across 150+ CRM implementations, the migrations that overrun are the ones that started with the import.

The 7 Areas to Audit Before a CRM Migration

Audit these seven areas: record inventory, data quality, fields and picklists, associations, workflows and integrations, history, and consent and ownership. Give each a named owner and score it using The CRM Data Quality Framework.

1. Record Inventory and Volumes

Count every object: contacts, companies, deals, tickets, custom objects, activities and files, plus how many were active in the last 24 months. These counts size the project and become your reconciliation baseline. They also stop a failed load from becoming a duplicated database, as in this Insightly to HubSpot migration.
Table 1: CRM migration audit scorecard
7 checks
Check How to measure Red flag Owner
1Record counts Totals per object and pipeline Counts that differ between reports CRM admin
2Duplicate rate Match on email, domain, name plus company A high share of records in duplicate clusters RevOps
3Field completeness Fill rate of reporting and routing fields Critical fields mostly empty Data owner
4Unused fields Fill rate and last update per custom field Rarely filled or not updated in a long time CRM admin
5Orphaned records Contacts with no company, deals with no contact Open deals with no contact Sales ops
6Automations and integrations Triggers, sync direction, fields written No known owner or purpose RevOps
7Consent status Contacts by subscription status and lawful basis Marketing contacts with no basis Marketing

2. Data Quality

Agree matching rules before merging duplicates (email for contacts, domain for companies, a rule for edge cases), then find what keeps creating them. Normalise phone, country, date and currency formats in the source or export files.
"Every few months someone tells me they're switching CRMs because the data is a mess and we need a fresh start. I get it, but here's the thing - migration doesn't clean anything," says Stefan Loncar, CEO of Loncom Consulting.
If the clean-up is bigger than your team can absorb, run it as its own data cleaning workstream.

Want a clear view of your CRM data before the move?

Explore HubSpot CRM Dashboards

3. Fields, Properties and Picklists

Sort every custom field into keep, merge, transform or retire. Unmapped fields fail quietly: in one Pipedrive to HubSpot migration we handled, every record arrived and 40 custom fields did not.
Map every picklist value in use, including retired ones, or the import will reject them. Define lifecycle and deal stages first, or records will get stuck in the wrong lifecycle stage. If data has been forced into the wrong object, consider whether you need a custom object.

4. Associations and Relationships

  • Orphans: fix, archive or migrate as-is.
  • Source IDs: carry them across so links can be rebuilt and re-runs update instead of duplicate.
  • Load order: companies, then contacts, then deals.
The same matching logic keeps a live sync clean, as shown in this Sanity and HubSpot two-way sync.

5. Workflows, Reports and Integrations

None of these migrate automatically. List every workflow, sequence, report, form and integration with what it reads and writes, then rebuild it in the new CRM and switch it off in the old one so nothing runs twice. Automations are usually the biggest rebuild.
Integrations need the most care: if they are not repointed at cutover, they keep writing to the old system. That cutover is a core part of our integrations work.

6. History That Doesn't Survive the Move

In HubSpot, activities imported without an Activity date default to the import date, according to HubSpot's guide to formatting import files. Email history is often a separate migration job too.
Table 2: What breaks in a CRM migration and how to preserve it
6 risks
History What happens How to preserve it
!Create dates ✕Replaced by the import date ✓Store in an "Original create date" property
!Activity dates ✕Default to the import timestamp ✓Map the original date on every activity import
!Email history ✕Often missing from exports ✓Migrate as a separate workstream
!Files ✕Lose their record link ✓Export with source IDs and re-associate
!Original source ✕Overwritten as import or offline ✓Save to a dedicated property first
!Deal stage history ✕Time-in-stage resets ✓Capture stage entry dates as properties

7. Consent, Ownership and Access

Under UK GDPR, consent must be a clear opt-in (see the ICO's guidance on consent), so contacts with no recorded basis must not become marketable in the new CRM. Unsubscribes rarely map one to one, which is a key risk in a Mailchimp to HubSpot migration.
Map every owner to an active user, reassign leavers' records, and set permissions and user roles before the data lands.

Migrate, Archive or Delete

Every finding ends in one decision, signed off by the owner of that object.
Table 3: Migrate, archive or delete decision matrix

✓Migrate
Used from day one
Active contacts, open deals, consent records
■Archive
Kept for history or audit
Old deals and activity, former customers
✕Delete
No purpose left
Test records, bounces, duplicates
If nobody can name a process, report or obligation that depends on it, it does not belong in the new CRM on day one.

Planning a CRM migration and want the audit done properly?

Book a Free Consultation

FAQ

What should a CRM data migration checklist include?

An audit of record inventory, data quality, fields and picklists, associations, workflows and integrations, history, and consent and ownership, plus a migrate, archive or delete decision for each finding.

How long does a pre-migration data audit take?

Usually longer than the import itself: weeks rather than days, depending on data volume, custom fields and integrations.

Should you clean CRM data before or after migration?

Before. Cleaning the source or export files is faster and safer than cleaning a live CRM where bad records already trigger automations and reports.

What data should not be migrated to a new CRM?

Test records, duplicates, hard bounces, unused fields and anything with no operational, legal or analytical purpose. Data kept only for audit is usually better archived.

How do you check that a CRM migration was successful?

Reconcile record counts against the baseline, spot-check associations and activity dates, compare key reports in both systems and verify consent status.

How does Loncom Consulting handle CRM data migrations?

Loncom audits and cleans the source first, carries source IDs across, validates a test migration before the final load and reconciles the result against the baseline, drawing on 150+ CRM implementations.

Share:
Back to CRM

Leave a comment

Please note, comments need to be approved before they are published.