Six months after go-live, the new CRM has eighty per cent of the records from the old one and roughly a fifth of the daily users it had. Somewhere in sales, a personal master spreadsheet has been quietly reinstated. Nobody cancelled the subscription. The system just stopped being where the work happens.

That outcome — not a technical failure, not a data disaster, but a gradual drift back to old habits — is the most common result of a migration that succeeded technically and failed operationally. The decisions that produced it were not made at launch or during the import. They were made in the planning phase, months before the first record moved.

The Longer You Wait, the More You Have to Move

The businesses with the most painful migrations are almost always the ones that waited longest to start. The delay is individually rational: workarounds get you through the week, and switching is disruptive. But every month spent on an outgrown system embeds those workarounds deeper.

The spreadsheets multiply. What began as one customer list has become fifteen versions, maintained by different people with different conventions. The process for handling an edge case — a customer with two billing addresses, a product that ships as two separate items — gets encoded not in the system but in institutional memory: "Ask Sarah, she handles those." By the time the migration decision is finally made, the business has stopped running on its stated system and started running on the gap-filling infrastructure that grew around it.

That infrastructure is what the migration actually has to move. Not just records, but the knowledge of what they mean, who is responsible for which accounts, and what the exceptions are. In a spreadsheet-native business, this is rarely written down. It has to be reconstructed through conversations — which is slower and less reliable than exporting a well-maintained database.

The Clean Data First Trap

"We need to clean the data before we can migrate." The reasoning is understandable. But in practice this becomes a project that never ends.

The cleanup takes longer than expected. Edge cases appear. People discover inconsistencies they did not know existed. New records are created in the old system during the cleanup period, which also need to be cleaned. Decisions about what constitutes a duplicate, what to do with contacts who have not engaged in three years, and how to handle records that exist in one system but not another turn into contested organisational questions rather than technical tasks. By the time the data is declared ready, months have passed and the project has lost its momentum — and often its project owner.

The more effective approach is to migrate what matters, accept that some records will need cleanup after migration, and use the import process itself to surface and resolve issues. A structured import that shows you your data mapped to the target schema, flags duplicates and format violations record by record, and lets you resolve or override each issue before anything commits will find data quality problems faster than a spreadsheet-based cleanup. The tool understands the target data model and can tell you precisely what violates it. Data cleanup inside a structured import is qualitatively different from data cleanup in isolation before it.

The records that need to be clean before migration are the active ones. Contacts with no activity in two years, superseded products, deals closed three fiscal years ago — these can be archived or left behind. A new system with clean active records and a parked historical archive is not a compromise. It is the correct answer.

Scope Creep Before the Migration Starts

The instinct is to move everything. If you are going through the disruption of a migration, you should bring across all records, all history, all attached documents, and rebuild every report and automation that existed in the previous system. This maximises scope, cost, and duration without proportional value.

Most historical data beyond two to three years is not consulted in normal operations. Rebuilding legacy reports that no longer serve current decisions adds time without adding value. Custom automations built around previous workflows often reflect how the business used to operate rather than how it operates now — rebuilding them faithfully replicates constraints that could have been removed.

Ask a different question: what does the team need to do their jobs from day one in the new system? Active contacts and customers, open deals, current pricing and product information, and enough history to have a meaningful conversation with a customer who calls. Usually a fraction of what is in the old system. Migrating a fraction is faster, lower risk, and easier to validate than migrating everything.

Technical Failure and Human Failure

Technical migration failure gets discussed most. Corrupt records, field mapping errors, relationships between records that break because the foreign key structure differs between systems, integrations that worked against the old API and have no equivalent against the new one. These failures are real and they happen.

Human migration failure is less visible and considerably more common. It happens when the technical migration succeeds completely — the data is in the new system, the fields are mapped correctly, validations passed — and then people do not use it. They log in when a manager asks. Their real records live elsewhere.

The cause is rarely a knowledge gap. Training addresses knowledge gaps — and people who stop using a new system after a migration usually understand how to use it. They stop because using it is slower than their workaround for their specific daily tasks, because the system does not give them anything they personally need that they did not already have, and because the path of least resistance — the old system, the spreadsheet — is still available. Remove the alternative and adoption accelerates. Leave it in place and the workaround becomes permanent.

Why Running Both Systems at Once Usually Backfires

Standard migration advice is to run old and new systems in parallel until confidence in the new one is established. In principle this reduces risk. In practice, it is one of the most reliable predictors of a failed migration.

When people can update either system, they update neither consistently. Data diverges within days. The CRM shows one open deal total; the spreadsheet shows a different one. A customer record in the new system has last contact noted as two weeks ago; someone logged a call in the old system yesterday out of habit. Nobody knows which number to trust. The team ends up with the worst of both: two systems to maintain and no authoritative source.

Organisations that migrate successfully typically do it as a hard cutover — a specific date after which the old system is read-only or inaccessible. This removes the safety net and replaces it with urgency. Problems get solved because there is no alternative. Discomfort is front-loaded and resolved within weeks. Parallel running distributes that discomfort over months without ever resolving which system is real.

The Spreadsheet That Never Gets Retired

For businesses moving from spreadsheets rather than from another structured system, there is a specific failure mode: people fall back to them immediately when the new system feels unfamiliar. Not because the new system lacks the feature. Because the muscle memory is already there, and the friction cost of relearning a workflow you already know how to do is real even when the outcome is the same.

The problem is hard to close because spreadsheets are genuinely legitimate for some uses. Scenario modelling, ad-hoc analysis, layout flexibility — these are real advantages. What you want to prevent is using a spreadsheet as the primary record for active customers, open deals, or inventory levels. Without an enforced policy, the boundary blurs and the system empties gradually. It becomes a reporting layer rather than an operating environment — which is exactly what makes CRM adoption fail, just approached from a different direction.

What Successful Onboarding Has in Common

Successful implementations share characteristics that are independent of which platform was chosen.

There is a named business owner of the migration — not an IT lead running a technical project, but a business person responsible for adoption. This person defines what data matters, decides what gets migrated and in what state, sets and enforces the cutover date, and handles the departments that want to keep the old system running. Without this person, the migration is a technology project without operational accountability. Technology projects without operational accountability reliably underdeliver.

The system launches on a fixed date in a working state rather than phasing in over months. When a new system arrives incomplete — some features available, others coming later — people fill the gaps with old tools. The habit of working around the new system gets established before it is fully functional, and it persists after the gaps close. A complete system on a clear date is substantially easier to adopt than a progressively arriving incomplete one.

The import is treated as the data quality stage, not a gate that must be cleared before the migration begins. The best onboarding tools show you your data mapped to the new system's structure before anything commits, surface the specific records and fields that violate the target model, and allow you to resolve or override each issue at that point. The business does not need clean data going in. It needs a process that produces clean data coming out.

The Decision You Only Get to Make Once

A migration is an inflection point. The business has, at that moment, more attention focused on its own data and more organisational permission to restructure how information is stored and accessed than it will have at any point until the next migration. That window does not stay open.

A business that migrates its CRM data to a platform where the same records are also accessible to invoicing, inventory, booking, and customer service has done the integration work once. A business that migrates to a new standalone CRM and keeps separate accounting, inventory, and customer service tools defers that integration work — and continues to pay the cost of maintaining those connections indefinitely, in engineering time, in reconciliation effort, and in decisions made on incomplete data.

For most businesses at the point of migration, the integrated approach is the better long-term decision even though it makes the migration itself more complex. The complexity of moving two or three systems into one platform is bounded and temporary. The complexity of maintaining two or three systems connected via point integrations is unbounded and permanent. That choice gets made at migration time. It rarely gets remade cleanly.


Migration included — our team runs it with you

Response365 connects directly to HubSpot, Salesforce and Pipedrive — live API connectors, no spreadsheet exports required. For everything else, the AI import wizard maps your columns to the right destination fields, flags data quality issues before anything commits, and gives you a 24-hour rollback window after. Your team is live the same week.

Start free See all import options