Development guides

Before migrating a CRM: sort out duplicates without losing history

Agree which records belong together, which need review and how each old record maps to the new CRM.

ProApp editorialPublished and checked
Organized record cards in a desktop index box
AI-generated illustration of the article’s setting.

The workflow illustrates a possible design and is not a client case study.

Illustrative workflow
  1. Classify matches
  2. Review and transform
  3. Reconcile import

When similar records should stay separate

A person may use several email addresses, and different branches may share a company name. Matching names or phone numbers alone can merge unrelated customers. The migration also needs to preserve account owners, activities and attachments.

Check the target CRM’s deduplication rules

Check how the destination CRM handles duplicates. HubSpot’s rules vary with the record type and import method. Prepare or transform the source data where its identifiers and historical links do not fit those rules.

Try merging a small sample

Test a small sample and separate clear matches, cases for review and records that must stay apart. Keep old and new IDs, merge reasons and rejected imports. Back up before the live import and decide how later updates will avoid creating the same duplicates again.

Check that history and attachments follow

Compare record counts, activities, attachments, owners and selected customer histories. Reimport the same file and check that records do not multiply. Review ambiguous matches manually and confirm how a mistaken merge can be investigated and corrected.

Bring examples that must stay separate

Bring exports with personal information removed, field mappings and existing record IDs. Include examples of similar-looking customers who must remain separate.

Working through a similar problem?

Tell us how you work today, which tools you use and what you want to improve. We can discuss changes to your current system, connecting tools or developing something new.