Skip to main content
CRM Cloud Migration · 8 min read

Every migration tempts you to move everything and tidy up later. Later rarely comes. The new system launches with the old system’s problems, now with a fresh coat of paint and a new set of people who blame the new tool for them. Cleaning before you move is dull work, but it is where most of the visible quality of the new CRM is decided.

This is a working method rather than a theory. It assumes you already have a migration plan and are trying to get the data itself into shape.

Start by Deciding What Not to Move

The cheapest record to clean is the one you never migrate. Before touching duplicates, sort your data into three piles:

  • Active: records tied to current customers, open deals and ongoing relationships.
  • Reference: history you may need to look up but will not work in daily, such as closed-lost deals from years ago or old activity logs.
  • Dead weight: test records, bounced contacts, accounts with no activity and no plausible future.

Move the first pile. Archive the second somewhere queryable, such as a database export or a read-only reporting store. Delete the third, subject to whatever retention rules your organisation or jurisdiction applies. Check with whoever handles legal and compliance before deleting anything that might fall under a retention requirement.

A rule you can agree on in one meeting works better than a perfect rule nobody applies. For instance, “no activity and no open deal for a stated period means reference pile” is crude but executable.

Find and Resolve Duplicates

Duplicates in a CRM come from imports, web forms, manual entry and old merges nobody finished. Find them in layers:

  1. Exact matches on email address or a unique ID. These are safe to merge in bulk once you decide which record wins.
  2. Near matches such as “Acme Ltd,” “ACME Limited” and “Acme, Ltd.” Normalise case, punctuation and common suffixes first, then compare.
  3. Contact-level overlaps where the same person appears under two companies or an old and new email.

The decision that trips teams up is the survivorship rule: when two records conflict, which field value wins? Decide it per field in advance. Typically the most recently updated value wins for phone and job title, the oldest created date is kept for history, and owner is resolved by a human. Merge a small batch first and read the results before running the rest.

Standardise the Values That Drive Reports

Reports break on inconsistent values, not on missing features. Look at fields used for filtering and grouping, and fix them at the source:

  • Country and state: one consistent format, not a mix of codes and names.
  • Lead source and industry: collapse near-synonyms into a controlled list.
  • Deal stage and status: map old stages to new ones deliberately.
  • Phone numbers: choose one format and apply it.
  • Currency and date fields: confirm the format and time zone behaviour on both sides.

A good test is to run a count by value on each picklist field. If you find forty variations of what should be eight values, you have found your cleanup list.

Map Fields on Paper First

Build a mapping sheet with one row per source field. Columns: source field, target field, data type, transformation, owner, and a note on whether it is required. Fields with no target are a decision: either create one, fold the content into a notes field, or let it go.

The detail that bites later is data type mismatch. Free text moving into a picklist, long text into a field with a character limit, or multi-select values stored as a delimited string all need handling. Check the target platform’s current documentation for field limits and types rather than assuming they match your old system.

A Cleanup Checklist

TaskDone when
Triage records into active, reference, dead weightEach pile has an owner and a destination
Exact duplicate mergeZero repeats on email or unique ID
Near-duplicate reviewSample reviewed and approved by sales ops
Picklist standardisationEach field has a controlled list with old-to-new mapping
Required fields filledRecords without owner, status or source are resolved or excluded
Field mapping sheetEvery source field has a target, a transform or a decision to drop
Trial importA sample loaded into a sandbox and spot-checked
Sign-offBusiness owner approves the sample, not just IT

A Hypothetical Example

Say a small agency has roughly several thousand contacts after years of spreadsheets and a previous tool. A quick count shows that “Industry” holds dozens of spellings and about a fifth of contacts have no owner. The team spends two afternoons collapsing industries to a list of ten, assigns orphan contacts to a shared queue owned by the sales lead, and archives contacts untouched for several years into a spreadsheet.

On trial import, a handful of records fail because phone numbers contain text such as “ext.” and “call after 5.” Those get moved into a notes field. None of this was glamorous, but the first pipeline report in the new system matched what the sales lead expected, which is what builds trust on day one.

Keep a Cleanup Log and Repeat the Import

Record what you changed and why: which duplicates were merged, which values were remapped, which records were dropped. Keep the original export untouched as a backup. You will need both when someone asks in three months where a particular account went.

Plan for at least two trial imports. The first reveals structural problems; the second proves your fixes. A final delta import closes the gap between your last extract and cutover.

Frequently Asked Questions

Should we clean data in the old system or during import? Prefer the old system or an intermediate working copy, so fixes are reviewable and reversible. Transformations at import time are harder to audit.

How do we handle contacts who opted out of marketing? Carry the consent and opt-out status across as a first-class field. Losing it can create real compliance problems, and rules vary by region, so confirm requirements with a qualified adviser.

Is it worth cleaning historical activity logs? Rarely in bulk. Migrate recent, relevant history and archive the rest unless a specific need says otherwise.

What if sales reps resist the cleanup? Show them the benefit in their terms: fewer duplicate calls, accurate territories. Involve a couple of reps in reviewing samples so the result reflects how they work.

Can we automate near-duplicate detection? Tools can suggest matches, but a human should review ambiguous ones. Auto-merging on fuzzy matches is how two different customers end up as one record.

Next Step

Run a count-by-value on your three most-used picklist fields and a duplicate check on email address today. The numbers will tell you how large the cleanup really is and which of your afternoons it will take.


By CRMCloudNest Editorial · Updated November 4, 2026

  • CRM data cleanup
  • deduplication
  • field mapping
  • CRM migration