by Derek Voss
What happens to years of carefully accumulated customer records when the platform holding them stops serving the team's needs? The answer, in our experience, depends almost entirely on what happens before anyone clicks "import." When teams decide to import contacts switching CRM systems, the quality of that migration shapes everything that follows — cleaner data means faster onboarding on the new platform, while corrupted or duplicated records create recovery work that drags on for months. Our guides to business software transitions make this pattern clear: the destination CRM matters less than the discipline brought to the move itself.
CRM migrations carry a reputation for chaos, and that reputation is earned — but almost always by teams that underestimate how much data entropy accumulates inside a live system over time. Duplicate records, inconsistent phone formats, outdated email addresses, and missing company associations compound quietly until the moment of export forces every problem into plain view. Our team has found that the cleanup phase, not the technical import step, consumes the most time and demands the most careful judgment.
The same discipline that makes a migration succeed is the same discipline covered in our guide to setting up a CRM for a small business from scratch — because the field naming conventions, required fields, and tag taxonomies established during initial configuration echo forward into every future migration the team will ever run.
Contents
Most teams reach a breaking point with their CRM gradually rather than all at once, which makes the decision to migrate easy to defer. The clearest signals are workflow friction — sales reps logging activity in spreadsheets because the CRM is too slow, or managers pulling reports manually because the built-in analytics can't surface what leadership actually needs. Our team consistently treats these workarounds as stronger indicators of a platform problem than any feature gap in a competitor's demo.
The stakes are higher than they appear because contact records represent relationship history, not just data points. A contact nurtured through three years of touchpoints carries implicit context — past purchases, conversation notes, deal stage history — that lives nowhere else. Corrupting or losing that context during migration sets sales and support teams back in ways that take months to recover from, making careful preparation the highest-leverage investment in the entire process.
Structured fields like name, email, phone, and company name transfer reliably across most platforms. Notes, activity logs, custom field data, and file attachments are where migrations routinely stall, because destination CRMs rarely share the same schema as the source system. Understanding which data types survive cleanly — and which require manual intervention — shapes every decision made in the preparation phase.
Field mapping is the process of aligning source fields with their corresponding properties in the new system. What Salesforce calls "Account Name," HubSpot may call "Company," and a smaller tool might store under "Organization." A complete field mapping document drawn up before touching the export file prevents the single most common source of import errors — misaligned or silently dropped data that only surfaces weeks after go-live. Our team builds this document as a shared spreadsheet, with source field, destination field, data type, and any transformation notes side by side.
| Data Type | Migration Risk | Common Issue | Recommended Action |
|---|---|---|---|
| Contact name, email | Low | Duplicate records | Deduplicate before export |
| Phone numbers | Medium | Inconsistent formatting | Normalize to E.164 standard |
| Custom fields | High | No matching field in destination | Create destination fields before import |
| Activity history / notes | High | Context lost in plain-text export | Export separately; review high-value contacts manually |
| Tags and segments | Medium | Different taxonomy in destination | Rebuild tag structure pre-import |
| Associated deals / pipelines | High | Deal stages don't translate directly | Map stages manually before committing import |
According to established data quality principles, accuracy, completeness, and consistency are the three pillars that determine whether a dataset serves its intended purpose. A pre-migration audit applies all three lenses to the source CRM before a single record is exported. Our team's standard audit checklist covers missing email addresses, duplicate records sharing the same address, phone numbers that fail format validation, and company associations that are blank or inconsistent across related contacts. Running this audit on the live system — before exporting — means cleaning data in a familiar interface rather than in a raw spreadsheet.
Most CRMs export contact data as CSV files, which are human-readable and compatible with virtually every destination platform. The limitation of CSV is that it flattens relational data — a contact with multiple associated deals may appear as multiple rows, or the deal data may be stripped entirely depending on export settings. Our team recommends exporting contacts, companies, and deals as separate files and linking them inside the destination system, rather than forcing everything into a single flat export that loses relational context in translation.
Google Sheets or Excel handles most contact cleaning tasks adequately for teams working with fewer than a few thousand records. For larger datasets, OpenRefine provides clustering algorithms that surface near-duplicate records based on name and email similarity — a task that's impractical to do manually at scale. When the destination CRM connects to an email marketing platform, the steps covered in our guide to connecting a CRM to an email marketing tool become directly relevant here, because import field decisions affect downstream segmentation logic from day one.
Pro tip: Always run a test import with fifty to one hundred records before committing the full dataset — field mapping errors surface cheaply at that scale rather than across thousands of contacts with no easy rollback.
Duplicate contacts are the most predictable problem in any migration and also the most costly to fix after the fact. When teams import without deduplicating first, the destination CRM inherits every accumulated duplicate from the source — and then the import itself often creates additional duplicates if the same contact appears across multiple export files. Deduplication before export, not after import, is the only approach our team endorses, because most CRM deduplication tools are designed to work on existing records in a live system, not on staged files waiting to be uploaded.
A subtler and often more damaging error is the silent field mismatch — data that imports successfully but lands in the wrong field, or doesn't land anywhere at all. A "Lead Source" field in one CRM might map to a dropdown with fixed values in the destination, and any source value not matching those options gets dropped without triggering an error. Our experience is that reviewing import logs at the field level, not just the total record count, catches these losses before they become permanent gaps in the contact record.
After completing the import, a structured validation pass confirms that data arrived as expected. The most reliable method is pulling a random sample of twenty to thirty contacts and comparing them field by field against the source export file — not just checking obvious fields like name and email, but also custom properties, tags, and associated company records. Teams that skip this step routinely discover months later that critical fields were silently dropped or that notes arrived as garbled text rather than structured entries.
A clean import is only the starting point — data quality degrades continuously as contacts change jobs, emails bounce, and records accumulate without regular review. The teams with the cleanest CRM data over time are those that build hygiene into their standard operating procedures: quarterly duplicate reviews, bounce management tied directly to the contact record, and required fields enforced at the point of entry rather than cleaned up after the fact. The same discipline that makes a migration successful is what keeps the system reliable long after the transition is complete.
The technical import can take minutes to hours depending on volume, but the preparation phase — auditing, cleaning, and field mapping — typically takes several days for datasets over a few thousand contacts. Rushing preparation is the primary cause of failed or corrupted migrations, in our experience.
CSV is the universal standard and works reliably across virtually every CRM platform. Some tools also support vCard or JSON for specific use cases, but CSV remains the safest choice for bulk migrations because it's human-readable and easy to validate before upload.
Our team advises strongly against it. Unaudited imports carry over every duplicate, formatting error, and field inconsistency from the source system, and cleaning data inside a new CRM is significantly harder and more time-consuming than cleaning it in a spreadsheet before the import begins.
Activity logs and notes rarely transfer cleanly because they're stored relationally in most platforms and don't export as structured data. The most practical approach is exporting notes separately, reviewing them for high-value contacts, and re-entering the most critical context as notes in the new system.
Integrations don't migrate — they're rebuilt. Each connected tool needs to be reconfigured against the new CRM's API, and any segmentation or automation logic built on the old platform's field structure has to be reconstructed from scratch in the new system before going live.
Industry benchmarks suggest five to fifteen percent of records in a typical small-business CRM are duplicates, with higher rates in systems that have never been deduplicated. Our team's experience puts the average closer to ten percent for CRMs that have been in active use for three or more years.
Skipping the test import. Running fifty to one hundred records through the full import process before committing the complete dataset reveals field mapping errors, formatting problems, and permission issues at a scale that's cheap to fix — rather than discovering them after thousands of records have already landed incorrectly.
About Derek Voss
Derek Voss worked as an operations lead at two different B2B SaaS startups before moving into software review writing, where his job was picking the tools that would actually get used by non-technical teams under real budget constraints. That experience means less time comparing feature-list PDFs and more time asking whether a five-person marketing team will actually adopt a tool or quietly go back to spreadsheets after week two. At Gleanster, Derek writes buying guides and how-to content aimed at the moment right before someone commits to a new tool -- what to check, what to ignore, and which questions actually predict whether a switch will stick.