CRM Migration19 min read

CRM Data Migration Checklist: What to Clean Before You Move

Moving CRMs is 20% data transfer and 80% data cleanup. Most teams spend weeks configuring their new CRM, import their data, and immediately discover that 30% of their contacts are duplicates, 15% have no email address, and half the custom fields mapped to the wrong place. This checklist covers everything you should clean before you export a single record.

Pre-Migration Data Audit

Before you touch the new CRM, audit your existing data. Every hour spent cleaning data before migration saves 3 hours of cleanup after migration. The audit has four parts.

1. Duplicate Detection

CRMs accumulate duplicates over time. Different reps create contacts for the same person. Imports create new records instead of updating existing ones. Web forms create new contacts when someone uses a different email address. Before migrating, run a duplicate check.

How to find duplicates

HubSpot: Built-in duplicate management tool (Settings → Data Management → Duplicates). Free on all plans. Identifies likely duplicates by name and email. Merge with one click. Pipedrive: Merge Duplicates tool (Settings → General → Merge Duplicates). Scans contacts and organizations for exact and fuzzy matches. Salesforce: Duplicate Rules + third-party tools like Cloudingo ($10/mo) or DemandTools. Native duplicate management requires Enterprise edition. Zoho: Find and Merge Duplicates feature (Setup → Data Administration). Available on all paid plans.

Expected duplicate rate

Most CRMs have 10–30% duplicate records after 2+ years of use. A 10,000-contact CRM typically contains 1,000–3,000 duplicates. If you have never run a deduplication process, expect the higher end. Merge duplicates before exporting — importing duplicates into your new CRM doubles the cleanup work.

2. Incomplete Records

Export your contacts and check for missing critical fields. At minimum, every contact should have: a name, an email address, a company (for B2B), and a source/origin field. Contacts missing all of these are dead weight.

FieldIf missing, what to doTypical missing rate
Email addressDecide if the contact is worth keeping. No email = no outreach capability5–15%
Company nameEnrich from email domain or LinkedIn. Or mark as “Unknown”10–25%
Phone numberNot critical unless your sales process is phone-heavy30–50%
Deal stage / lifecycleMap to your new CRM's stages before import. Don't import unmapped stages10–20% (for unqualified leads)
Last activity dateContacts with no activity in 12+ months should be archived, not migratedN/A (check age)

3. Dead Contacts

Contacts that should not be migrated: bounced email addresses, contacts who unsubscribed, contacts with no activity in 12+ months (unless they represent active accounts), and known competitors or spam entries. In most CRMs, 15–25% of records fall into this category.

4. Custom Field Audit

Export a list of all custom fields in your current CRM. For each field, ask: is this field used in more than 20% of records? Is anyone using this data for decisions? If the answer to both is no, don't migrate it. Most CRMs accumulate custom fields that someone created for a one-time project and never used again. A typical 3-year-old CRM has 40–80 custom fields. You probably need 10–15.

Field Mapping Between Platforms

Every CRM uses different names for the same concepts. “Contacts” in HubSpot are “People” in Pipedrive. “Companies” in HubSpot are “Organizations” in Pipedrive and “Accounts” in Salesforce. Mapping these correctly before import prevents data from landing in the wrong place.

ConceptHubSpotPipedriveSalesforceZoho CRM
PersonContactPersonContact (or Lead)Contact (or Lead)
CompanyCompanyOrganizationAccountAccount
OpportunityDealDealOpportunityDeal
Task/ActionTaskActivityTask / EventTask / Event
NoteNote (on timeline)NoteNote (on Chatter)Note
Pipeline stageDeal StagePipeline StageOpportunity StageStage
Lead statusLifecycle StageLead LabelLead StatusLead Status

The Salesforce Lead vs Contact distinction:Salesforce separates Leads (not yet qualified) from Contacts (qualified, associated with an Account). HubSpot, Pipedrive, and Zoho treat all people as Contacts. When migrating from Salesforce, you need to decide whether to convert all Leads to Contacts in the destination CRM or maintain a “lead” status field. When migrating to Salesforce, you need to decide which existing contacts become Leads and which become Contacts.

What Transfers Cleanly vs What Breaks

Data typeTransfer difficultyNotes
Contact records (name, email, phone)Easy — CSV export/importStandard fields map cleanly across all CRMs
Company/organization recordsEasy — CSV export/importMap to the correct object name in destination
Deal/opportunity dataModerate — stage mapping requiredPipeline stages need manual mapping. Amount and close dates transfer cleanly
Custom fieldsModerate — create fields first, then mapCreate custom fields in destination before import. Data types must match
Notes and activity logsModerate to HardNotes export as text but lose formatting. Activity timestamps may shift. Some platforms don't support bulk note import
Email historyHard — rarely transfersLogged emails are typically platform-specific. Export as CSV reference but don't expect thread reconstruction
Automations/workflowsDoes not transfer — rebuild from scratchNo CRM supports automation import. Document all workflows before migration
Email templatesDoes not transfer — rebuild from scratchCopy template content manually. Formatting will need adjustment for the new platform's template editor
File attachmentsHard — often lostFiles attached to records don't export via CSV. Use API for bulk file migration or download manually
Reporting/dashboardsDoes not transfer — rebuild from scratchScreenshot your existing dashboards as reference. No cross-platform report migration exists

Migration Timeline by CRM Size

These timelines include data cleanup, field mapping, test imports, and post-migration validation. They do not include the time to set up automations, templates, and dashboards in the new CRM (add 1–4 weeks for that).

CRM sizeData cleanupField mapping + test importFull migration + validationTotal time
100 contacts1–2 hours1 hour1 hour3–4 hours (1 day)
1,000 contacts4–8 hours2–4 hours2–4 hours1–2 days
10,000 contacts2–3 days1–2 days1–2 days1–2 weeks
50,000 contacts1–2 weeks3–5 days3–5 days3–4 weeks

The 50,000+ contact migration:At this scale, CSV import often hits platform limits (Mailchimp caps imports at 500,000 rows, Pipedrive at 50,000 per file, HubSpot at 1,000,000). Use the CRM's API or a migration tool like Import2 or Trujay for large datasets. API-based migrations are more reliable for large volumes but require technical knowledge or a consultant ($1,000–$5,000 for a migration specialist).

Post-Migration Validation Steps

After importing data into your new CRM, validate before your team starts using it. A flawed migration that goes undetected for a week creates problems that take months to untangle.

Record count verification

Compare total contacts, companies, and deals in the new CRM against your pre-migration count (after cleanup). If the numbers don't match within 1–2%, investigate which records were dropped. Common causes: duplicate email addresses merged during import, contacts without email addresses skipped, or records exceeding field length limits.

Spot-check 20 records

Pick 20 contacts at random and verify: correct name, email, company association, deal stage, custom field values, and notes. This catches field mapping errors that bulk count verification misses. If 2+ of 20 records have issues, your field mapping needs review before the team starts working in the new CRM.

Association verification

Check that contacts are associated with the correct companies and deals. This is the most common migration failure — contacts import correctly but their company or deal associations break. Most CSV imports don't handle multi-object associations well. You may need to import contacts, companies, and deals separately and then link them via a matching field (usually email or company ID).

Pipeline stage validation

Verify that deals landed in the correct pipeline stages. If your old CRM had stages named “Qualified Lead → Demo Scheduled → Proposal → Negotiation → Closed Won” and your new CRM uses “New → Discovery → Proposal → Closing → Won”, confirm the stage mapping worked correctly. Mismatched stages make your pipeline report meaningless on day one.

Integration reconnection

Reconnect email sync (Gmail/Outlook), calendar sync, form integrations, and any automation tools (Zapier, Make). Test each integration with a dummy record before going live. Reconnecting integrations typically takes 1–2 hours.

The 3 Things Everyone Forgets

1. Automations Don't Transfer

Every workflow, automation, and trigger in your old CRM needs to be rebuilt from scratch in the new CRM. There is no export/import for automations on any platform. Before migrating, document every active automation: what triggers it, what it does, which records it affects. A typical CRM has 5–15 active automations. Rebuilding them takes 1–4 hours each depending on complexity. Budget 1–3 days for automation reconstruction.

2. Email Templates Need Rebuilding

Sales email templates, sequence templates, and marketing email templates don't transfer between CRMs. You can copy the text content, but the formatting, merge fields ({{first_name}}, {{company}}), and template structure need rebuilding in the new platform's template editor. If your team uses 10–20 email templates daily, budget half a day to recreate them. Missing this means your team has no templates on day one, which slows everything down.

3. Custom Properties Need Pre-Creation

CSV imports into a new CRM only map to fields that already exist. If you have 15 custom fields in your old CRM, you need to create those 15 fields in the new CRM before importing. The field types must match: a dropdown field in the old CRM should be a dropdown in the new CRM with the same options, or data won't import correctly. A text field importing into a number field will fail silently or create garbage data. Budget 30–60 minutes to set up custom fields before your first import.

Common Mistakes

  • Migrating all data without cleaning first.Importing 50,000 contacts including 15,000 duplicates and 10,000 dead leads into your new CRM defeats the purpose of switching. Clean before you move. The new CRM is a fresh start — treat it like one.
  • Not doing a test import.Import 50–100 records first. Verify field mapping, associations, and data integrity. Fix issues on the small batch before committing the full dataset. Every CRM handles CSV import slightly differently (date formats, phone number formatting, multi-select fields).
  • Running both CRMs simultaneously for too long.A 1–2 week overlap where both CRMs are active is reasonable for validation. More than 2 weeks and your team starts entering data in both systems, which creates sync nightmares. Set a hard cutoff date and enforce it.
  • Forgetting to cancel the old CRM subscription. After migration and validation, cancel the old CRM within 30 days. Many teams pay for both CRMs for months because no one remembers to cancel. Put a calendar reminder for 30 days post-migration to cancel the old subscription. Export a final backup first.
  • Not training the team on the new CRM before the switch.A CRM migration is also a workflow change. Schedule 1–2 hours of team training before go-live. Focus on the differences from the old CRM, not a full product tour. Your team knows how CRMs work — they need to know where things are in the new one.

Frequently Asked Questions

How long does a CRM migration take?

For a small CRM (under 1,000 contacts), 1–2 days including cleanup. For a mid-size CRM (1,000–10,000 contacts), 1–2 weeks. For a large CRM (10,000–50,000 contacts), 3–4 weeks. Add 1–4 weeks for automation rebuilding, template recreation, and team training. The data transfer itself takes hours. Everything around it takes weeks.

Can I migrate automations between CRMs?

No. No CRM supports automation export/import. Document your automations in a spreadsheet (trigger, conditions, actions, affected records) before migrating, then rebuild them in the new platform. This is the single most underestimated part of CRM migration. Teams budget for data transfer and forget about the 20+ hours needed to reconstruct automations.

Should I use a migration tool or do it manually?

For under 5,000 contacts with standard fields, manual CSV export/import works fine. For 5,000–50,000 contacts with complex associations (deals linked to contacts linked to companies), consider a migration tool like Import2 ($50–$300) or Trujay. For 50,000+ contacts or enterprise CRMs with complex custom objects, hire a migration consultant ($2,000–$10,000).

Will I lose my email history when migrating?

Logged email conversations in your old CRM generally don't transfer to the new CRM. You can export them as CSV for reference. Once you reconnect your email (Gmail/Outlook) to the new CRM, new emails sync automatically. Old email threads stay in your email client — they're not deleted, just not visible in the new CRM's activity timeline.

What's the biggest risk in CRM migration?

Broken associations. Contacts import correctly but lose their connection to companies, deals, and activities. This makes your pipeline report inaccurate and your team can't see deal context. Validate associations for at least 20 records after import. If associations are broken, you'll need to re-link them using a shared identifier (email address or company ID) via the CRM's import tool or API.

Explore Further on Sasanova

Guides