Automation Solutions

CRM Data Migration: How to Move Your Customer Data Without Losing Everything

Aaron · · 7 min read

Switching CRMs sounds straightforward. Export from the old system, import into the new one, carry on with your day. If only it worked like that.

In reality, CRM data migrations are where businesses lose customer history, break reporting, and spend weeks fixing problems they didn’t see coming. The migration itself might take a day. The cleanup takes months — if you don’t plan properly.

I’ve seen businesses lose years of customer notes, duplicate thousands of contacts, and break every automation they’d built because they treated migration as a data dump rather than a project. Here’s how to do it properly.

Step 1: Audit What You Actually Have

Before you move anything, you need to understand the state of your current data. Open your existing CRM (or spreadsheet) and answer these questions honestly:

  • How many contacts do you have? Not just the total — how many are active customers, how many are leads, how many are dead records from five years ago?
  • What fields are actually populated? If you have 40 fields but only 8 are filled in consistently, you’re really migrating 8 fields of data.
  • How much is duplicated? Search for your most common customer surnames. You’ll likely find multiple records for the same person — different spellings, old phone numbers, entries from different staff members.
  • What’s linked to what? Are there notes, quotes, invoices, job records, or files attached to customer records? These relationships are often the hardest part to migrate.

Step 2: Clean Before You Move

Migrating dirty data into a new system is like moving house and bringing all the junk from the garage. You’re starting fresh — take advantage of it.

Deduplicate contacts. Most CRMs have a merge duplicates feature. Use it before export. If you’re in spreadsheets, sort by email address or phone number and manually merge the duplicates. Yes, it’s tedious. Yes, it’s worth it.

Remove dead records. That lead from 2019 who never replied to three follow-ups? Delete it. The company that went out of business? Archive it. Be ruthless. A smaller, accurate database is infinitely more useful than a large, unreliable one.

Standardise formats. Phone numbers should be in one format (not a mix of 0412345678, 04 1234 5678, and +61412345678). State names should be consistent (not a mix of “WA”, “Western Australia”, and “W.A.”). Addresses should follow the same structure.

Fill in critical gaps. If you have customers with no email address or no phone number, now is the time to fix that. A quick phone call to update missing details is much easier than trying to do it mid-migration.

Before Cleaning

  • 5,200 contacts with 800+ duplicates
  • Phone numbers in 6 different formats
  • 3 years of dead leads cluttering search
  • Notes split across fields and attachments
  • No consistent naming for companies

After Cleaning

  • 3,400 clean, verified contacts
  • Standardised phone and address formats
  • Only active customers and genuine leads
  • All notes consolidated into one field
  • Company names cleaned and consistent

Step 3: Map Your Fields

This is where most people get tripped up. Your old system and your new system won’t have the same fields, the same names, or the same structure.

Create a simple mapping document — a spreadsheet works fine:

Old System FieldNew System FieldNotes
Company NameAccount NameDirect match
Phone (Mobile)Mobile PhoneFormat: 04XX XXX XXX
Job NotesActivity NotesCombine with call notes
StatusPipeline StageMap values: “Hot” = “Qualified”
Customer TypeNew field, populate manually

Pay special attention to:

  • Fields that don’t exist in the new system — you’ll need to create custom fields or accept that data won’t carry over
  • Fields that need value mapping — your old system might use “Hot/Warm/Cold” while the new one uses “Qualified/Interested/Unqualified”
  • Multi-value fields — tags, categories, or lists that might be structured differently
  • Date formats — DD/MM/YYYY vs MM/DD/YYYY has caused more migration headaches than any other single issue

Step 4: Handle Relationships and History

Contacts are the easy part. The hard part is everything attached to them.

Notes and activities. Every phone call logged, every email tracked, every note someone typed at 6pm on a Friday — that history has value. Some of it migrates cleanly via CSV export. Some of it lives in proprietary formats that require API access to extract. Check what your old system can actually export before you assume you’ll keep everything.

Documents and attachments. Quotes, proposals, contracts, photos — these are often stored inside the CRM but exported separately (or not at all). You may need to download attachments manually and re-upload them.

Pipeline and deal history. If you care about historical reporting — win rates, deal velocity, revenue by source — you’ll need to migrate closed deals with their dates and values intact. This is often overlooked and impossible to recreate after the fact.

Automations and workflows. These never migrate. Your email sequences, follow-up reminders, assignment rules, and notification triggers all need to be rebuilt in the new system. Document them thoroughly before you switch.

Step 5: Run the Migration (Properly)

When you’re ready for the actual migration:

Pick a quiet period. Friday afternoon before a long weekend, or a slow period in your business cycle. You want time to fix issues before everyone logs in Monday morning.

Run the full import into a test environment first. Most CRMs offer sandbox or trial accounts. Use them. Import everything, check the results, then delete it and do it again in production.

Verify record counts. If you exported 3,400 contacts, you should have 3,400 contacts in the new system. If the numbers don’t match, find out why before moving on.

Spot-check 20-30 records manually. Don’t just check that the records exist — check that the right data is in the right fields. Open specific customer records and compare them side by side with the old system.

The Pitfalls Nobody Warns You About

The “we’ll clean it up later” trap. You won’t. Once the new system is live, everyone is busy learning it and doing actual work. Dirty data that migrates becomes permanent dirty data.

Losing the old system too early. Keep your old CRM accessible (even read-only) for at least 90 days after migration. Someone will need to look up a historical record that didn’t migrate correctly.

Forgetting integrations. Your old CRM connected to your email, your accounting software, your quoting tool. Those connections break when you switch. Map every integration and rebuild them in the new system before go-live.

Underestimating the training gap. Even if the new CRM is better, your team needs to learn where everything lives. Budget time for training, not just migration.

The Bottom Line

A CRM migration is not an IT task — it’s a business project. The technical part (exporting and importing files) is the smallest piece. The real work is cleaning data, mapping fields, preserving relationships, rebuilding automations, and training your team.

Do it properly and you start fresh with a clean, reliable database that your team actually trusts. Rush it and you’ll spend the next six months apologising for missing data, broken reports, and the general sense that the new system is worse than the old one.

Take the time. Clean the data. Test the migration. Keep the old system around as a safety net. And if the reason you’re migrating is because your workflow has outgrown every off-the-shelf option, consider whether the new system should be built to match how your business actually works — rather than forcing another compromise.

A

Aaron

Founder, Automation Solutions

Building custom software for businesses that have outgrown their spreadsheets and off-the-shelf tools.

Keep Reading

Ready to stop duct-taping your systems together?

We build custom software for growing businesses. Tell us what's slowing you down — we'll show you what's possible.