CRM Data Migration: How to Switch Without Losing Data
A practical guide to CRM data migration covering field mapping, deduplication, data cleaning, and cutover strategies. Based on lessons from dozens of real CRM migrations, including the mistakes that cost teams weeks of rework.
About 30% of CRM migrations fail to meet their original timeline. The number one reason isn’t technical complexity — it’s bad data that nobody bothered to audit before moving it. I’ve watched teams spend six weeks migrating 200,000 contacts only to discover that 40% were duplicates, 15% had no email address, and the custom field mapping broke every automation they’d built in the new system.
This guide covers the full migration process, from initial data audit through parallel running to final cutover. I’ll flag the specific mistakes I see repeatedly — some of which can cost you months.
Why Most CRM Migrations Go Sideways
The typical CRM switch starts with enthusiasm. A team picks a new platform, signs the contract, and immediately starts thinking about the fun stuff: new dashboards, better reporting, workflow automation. The data migration gets treated as a checkbox item that’ll take “a couple of days.”
Then reality hits. Your old CRM has 47 custom fields, three of which nobody can explain. Your contact records span seven years and include leads from a trade show that no longer exists. Your sales stages in the old system don’t map 1:1 to the new system. And someone has been using the “Company Phone” field to store notes.
The core problem: CRM data migration isn’t a data transfer. It’s a data transformation project. You’re not copying files from one folder to another. You’re reshaping your business data to fit a different data model, with different field types, different object relationships, and different validation rules.
Step 1: Audit Your Current Data Before You Touch Anything
Don’t export a single CSV until you’ve answered these questions:
How many records do you actually have? Not just contacts — deals, companies, activities, notes, attachments, emails, custom objects. Get exact counts. I worked with a company that estimated “about 50,000 contacts” and actually had 312,000 when you included archived and deleted-but-not-purged records.
What’s your duplication rate? Run a dedup analysis in your current CRM. Most systems over two years old have a 10-25% duplication rate. Some I’ve seen hit 40%. There’s no point migrating duplicates.
Which fields actually contain data? Export a sample of 1,000 records and check fill rates. If a custom field is only populated on 3% of records, you probably don’t need to migrate it. I typically find that 30-50% of custom fields in a mature CRM are either unused or redundant.
What’s the data quality like? Spot-check phone number formats, email validity, address completeness. If your source data is garbage, migrating it to a shiny new CRM just gives you organized garbage.
The Data Audit Spreadsheet
Create a spreadsheet with these columns for every field in your current CRM:
| Field Name | Field Type | Fill Rate | Migrate? | Maps To (New CRM) | Transformation Needed |
|---|---|---|---|---|---|
| First Name | Text | 98% | Yes | First Name | None |
| Lead Source | Dropdown | 45% | Yes | Lead Source | Remap values |
| Legacy ID | Text | 100% | Yes | Custom field | None |
This spreadsheet becomes your migration bible. Every decision, every mapping, every transformation rule lives here. Don’t skip this step.
Step 2: Clean Your Data Before Migration
Migrate clean data. Don’t plan to “clean it up after we move.” That never happens. I’ve literally never seen a team follow through on post-migration cleanup. Everyone’s too busy learning the new system.
Deduplication
Run deduplication in your source system first. Most CRMs have built-in tools, and third-party options like Dedupely or Insycle work well. Merge duplicates rather than just deleting them — you want to preserve the most complete record.
A real example: A 50-person sales team I worked with had 180,000 contacts in HubSpot. After deduplication, they had 121,000. That’s 59,000 duplicates that would have muddied their reporting, confused their sales reps, and triggered duplicate outreach in the new system.
Data Standardization
Fix inconsistencies before you move:
- Phone numbers: Pick a format and enforce it. +1 (555) 123-4567 or 5551234567 — doesn’t matter, just be consistent.
- Country/State fields: “US,” “USA,” “United States,” “U.S.A.” should all become one value.
- Company names: “IBM,” “I.B.M.,” “International Business Machines” — decide on a standard.
- Dropdown values: If your old system had “Hot Lead” and “hot lead” and “Hot” as separate values, consolidate them.
Pruning Dead Records
This is the most underrated part of migration. You don’t need to bring everything. Contacts with no activity in 3+ years? Deals that were lost in 2021? A company record for a business that closed? Leave them behind.
My rule of thumb: If a record hasn’t been touched in 24 months and has no associated revenue, archive it or leave it in the old system. You can always go back for it. Keep the old CRM on a read-only plan for 6-12 months as a safety net.
Step 3: Map Your Data Model
This is where migrations get technically tricky. Your old CRM and new CRM probably don’t structure data the same way.
Object-Level Mapping
Start with the big objects: Contacts, Companies, Deals/Opportunities, Activities, Notes. Most CRMs share these core objects, but the relationships between them differ.
For example, Salesforce has a rigid Account → Contact → Opportunity hierarchy. Pipedrive is more flexible with its Person → Organization → Deal structure. HubSpot uses a many-to-many association model where contacts can be linked to multiple companies.
If you’re moving from a system with rigid relationships to one with flexible ones, you’re fine. Going the other direction? You’ll need to make decisions about which association to keep as the primary.
Field-Level Mapping
Go through your audit spreadsheet field by field. For each one:
- Does an equivalent field exist in the new CRM? Map it directly.
- Does the field type match? A single-line text field in one CRM might need to become a dropdown in another. You’ll need to transform the data.
- Are the values compatible? Dropdown fields are the worst offenders. Your old CRM’s “Enterprise” deal stage might need to become “Negotiation” in the new system.
- Do you need to create custom fields? Keep this to a minimum. Every custom field you create is maintenance debt.
The Activity History Problem
This is the single most common migration headache. Most teams want to bring over their email history, call logs, meeting notes, and task records. The problem? Activity data is often the messiest, most voluminous, and hardest to map.
Email history is particularly painful. Some CRMs store emails as activities, others as a separate object. Gmail/Outlook integration logs may not export cleanly. And you might be talking about millions of records.
My recommendation: Bring over the last 12 months of activities. For anything older, keep the old system accessible as a reference. The cost of migrating five years of email logs rarely justifies the effort.
Step 4: Choose Your Migration Method
You have three main options, each with real tradeoffs.
Manual CSV Import
Best for: Under 10,000 records, simple data model, no custom objects.
Export from old CRM → clean in spreadsheet → import to new CRM. Every major CRM supports CSV import. It’s tedious but gives you maximum control.
Watch out for: Character encoding issues (especially with international data), date format mismatches (MM/DD/YYYY vs DD/MM/YYYY), and CSV field limits. Excel also has a habit of reformatting phone numbers and ZIP codes as numbers, stripping leading zeros.
Dedicated Migration Tools
Best for: 10,000-500,000 records, moderate complexity.
Tools like Import2, Trujay, or CRM-specific migration assistants handle the heavy lifting. They connect to both systems via API, let you map fields visually, and handle object relationships.
These tools typically cost $500-$5,000 depending on record volume. That’s almost always cheaper than the engineering time to build custom scripts.
Custom API Migration
Best for: 500,000+ records, complex data models, custom objects, or heavy transformation logic.
You’ll need a developer or integration specialist to write scripts that pull from the old CRM’s API, transform the data, and push it to the new CRM’s API. This gives you the most control but takes the longest.
Budget 2-6 weeks for a custom migration of a mid-size CRM (100K-500K total records across all objects). Larger datasets or complex transformations can take longer.
Step 5: Run a Test Migration First
Never, ever do a full migration on your first attempt. Run a pilot with a subset of data — typically 1,000-5,000 records.
After the test migration, verify:
- Record counts match — Did every record make it over?
- Field values are correct — Spot-check 50 records manually. Yes, manually. Open them side by side in old and new systems.
- Relationships are intact — Are contacts still linked to the right companies? Are deals associated with the correct contacts?
- Dropdown values mapped correctly — This is where I find the most errors.
- Dates didn’t shift — Timezone and format differences cause subtle date shifts that can wreck reporting.
- Special characters survived — Names with accents, companies with ampersands, notes with line breaks.
I’d budget 2-3 test migrations before the final one. Each round will surface new issues. This isn’t wasted time — it’s the cheapest way to find problems.
Step 6: Plan Your Cutover Strategy
You have two main approaches to going live.
Big Bang Cutover
Everyone switches to the new CRM on a specific date. The old system goes read-only.
Pros: Clean break, no confusion about which system is the “source of truth.”
Cons: Higher risk. If something goes wrong, you’re scrambling.
Best for: Small teams (under 30 users) with relatively simple data.
Parallel Running
Both systems run simultaneously for 2-4 weeks. New data goes into the new CRM. Old CRM stays available for reference.
Pros: Lower risk. Teams can fall back to the old system if needed.
Cons: Maintaining two systems is confusing. Reps will inevitably update records in the wrong one. Data diverges quickly.
Best for: Larger teams, complex migrations, or risk-averse organizations.
My preference for most teams: A modified big bang. Migrate everything on a Friday evening, run validation over the weekend, and go live Monday morning. Keep the old CRM read-only for 90 days. This gives you the clean break of a big bang with a safety net.
The 7 Most Common Migration Mistakes
I’ve seen all of these multiple times. Some of them I’ve made myself.
1. Not Preserving Original Record IDs
Always migrate the old CRM’s record IDs as a custom field in the new system. You’ll need them for troubleshooting, for mapping integrations that reference old IDs, and for reconciling data if something goes wrong.
2. Forgetting About Integrations
Your old CRM probably connects to your email platform, accounting software, support desk, and maybe a dozen other tools. Each integration that pushes data to or pulls data from the CRM needs to be reconnected — and some may need the data in a specific format.
Make a full list of integrations before you start. For each one, document what data flows, in which direction, and what field mappings exist. For help choosing platforms with strong integration ecosystems, check our CRM comparison pages.
3. Migrating Without User Buy-In
Your sales team doesn’t care about clean data models. They care about finding their deals and contacts on Monday morning. If they open the new CRM and can’t find their pipeline, you’ve lost them.
Involve 2-3 power users in the test migration. Have them verify their own records. Their feedback will catch issues your test scripts won’t.
4. Ignoring File Attachments
Contracts, proposals, and documents attached to records in your old CRM often don’t migrate through standard tools. They may require separate API calls or manual downloads. Check this early — it can add significant time to your migration.
5. Not Planning for Ongoing Data Entry During Migration
If your migration takes a week, your sales team is still making calls and closing deals. Where does that data go? You need a clear policy: either freeze data entry in the old CRM (rarely practical) or plan a delta migration to capture changes made during the migration window.
6. Skipping Post-Migration Validation
The migration ran. The record counts match. You’re done, right? No. Spend at least two full days validating data in the new system. Run reports that you used to run in the old CRM and compare the numbers. Check that automations and workflows fire correctly with the migrated data.
7. No Rollback Plan
What if the migration goes catastrophically wrong? You should be able to wipe the new CRM’s data and restore from the old system within 24 hours. Before your cutover, confirm that your old CRM’s data is backed up and that you can re-export if needed.
Post-Migration: The First 30 Days
The migration isn’t over when the data arrives. The first month is critical.
Week 1: Monitor support tickets and user complaints closely. The most common issues surface in the first 3-5 days — missing records, broken automations, field mapping errors. Assign a dedicated person to handle migration-related issues.
Week 2: Run a data quality check. Compare record counts, pipeline values, and key metrics between old and new systems. If your total pipeline in the new CRM is $2M but it was $2.4M in the old system, you have missing or miscategorized deals.
Weeks 3-4: Gather user feedback. Are there fields or records people can’t find? Workflow differences causing confusion? This is your window to make adjustments before habits form.
After 30 days: Formally close the migration project. Document what went well and what didn’t. Archive your mapping spreadsheet — you’ll want it if you ever do this again.
Picking the Right CRM Makes Migration Easier Next Time
One thing worth mentioning: some CRMs are significantly easier to migrate to and from than others. Platforms with open APIs, strong import/export tools, and good documentation reduce migration friction dramatically.
HubSpot has built-in migration tools for common source CRMs. Salesforce has the most third-party migration tool support due to its market share. Pipedrive is typically the fastest to migrate to for smaller teams because of its simpler data model.
If you’re evaluating which CRM to switch to, factor in migration ease. Check our CRM comparison tool to see how platforms stack up on import capabilities and API access.
What This All Comes Down To
CRM data migration is a project management challenge disguised as a technical one. The actual data transfer is usually the easy part. The hard parts are auditing, cleaning, mapping, testing, and getting your team on board.
Start your audit now, even if you haven’t picked your new CRM yet. Clean data migrates to any platform. And if you’re comparing options for your next CRM, our detailed tool reviews break down each platform’s migration support, API capabilities, and import flexibility so you know exactly what you’re getting into.
Disclosure: Some links on this page are affiliate links. We may earn a commission if you make a purchase, at no extra cost to you. This helps us keep the site running and produce quality content.