
Every CRM stores information in its own way. Salesforce separates leads from contacts. Zoho and Pipedrive structure deals and activities differently. WordPress sites carry years of URLs, plugins, and tracking scripts. HubSpot has its own data model, rules, and limits.
A migration fails when a team treats it as a copy-and-paste job. The records transfer, but the logic that gave them meaning doesn’t. The nine issues below are predictable, which means each one can be prevented.
1. Duplicate Records Multiply Quietly
Duplicates are the most common problem after a migration, and they spread fast. One customer becomes two records, each with half the history. Reps work the wrong record, automations fire twice, and contact counts climb, which can push up your HubSpot bill.
The cause is usually missing or inconsistent identifiers. HubSpot matches contacts by email address and companies by domain name. If your old system has contacts with no email, two emails for one person, or companies saved under different spellings, HubSpot can’t tell they’re the same record.
Running two tools at once also causes duplicates. HubSpot warns that Smart Transfer and the Salesforce integration use different unique identifiers to match records, so using both at the same time will create duplicate records in HubSpot and Salesforce.
How to prevent it: Deduplicate in the source system before you export anything. Standardize company names and domains, merge known duplicates, and decide which identifier each object will use. Run a test import with a small sample, then search for duplicates before loading the full dataset. Pick one migration method and stick with it.
2. Relationships Between Records Come Apart
A contact without its company, or a deal without its contacts, is only half a record. When associations break, reps lose the full picture of an account, and reports that roll up by company stop working.
This happens when objects are imported in separate files without a shared column linking them, or when the source CRM’s structure doesn’t match HubSpot’s. A Salesforce lead, for example, has no direct equivalent in HubSpot, so recreating it one-to-one often leads to messy data models.
Activities need extra care. Existing emails, meetings, notes, and tasks cannot be updated via import, so if call logs or notes land on the wrong record, you’ll have to delete and re-import them rather than fix them in place.
How to prevent it: Map your data model before mapping individual fields. Decide which source objects become HubSpot contacts, companies, deals, tickets, or custom objects, and how they connect. Import parent records first (companies, then contacts, then deals), and include the source system’s record IDs as a custom property so you can trace and repair associations later. When your business relies on custom objects or complex relationships, HubSpot CRM development is often needed to build the right structure before any data arrives.
3. Original Create Dates Reset to Migration Day
Open your reports after a migration, and you may find that thousands of contacts were “created” on the same day. That one date can distort lead-source reports, sales-cycle length, and year-over-year growth.
The reason is a platform rule. HubSpot’s Create date property stores when a record was created in HubSpot and cannot be edited on most objects, with deals being the main exception. Your historical timeline doesn’t carry over unless you plan for it.
How to prevent it: Before importing, create a custom date property such as “Original Create Date” and map your old system’s creation date to it. Then build your key reports on that property instead of HubSpot’s default. Do the same for other dates you’ll need later, like first purchase date or original lead date.
4. Record Owners Go Blank
Ownership drives lead assignment, task queues, rotation rules, and sales reports. When owners disappear, new leads go unworked, and managers can’t see who is responsible for what.
This usually happens because the sales team hasn’t been set up in HubSpot before the import. Owner values are matched to existing HubSpot users, and if no matching user is found in HubSpot, the owner field stays empty. Former employees who still own records in the old system cause the same gap.
How to prevent it: Add and activate all users in HubSpot before the import, using the same email addresses they had in the old system. Decide in advance who will take over records owned by people who have left, and reassign them in your export file rather than after the import.
5. Email Consent and Opt-Outs Get Lost
This is the most serious risk on the list because it affects compliance and your sender reputation. If unsubscribe preferences don’t transfer, you could email people who explicitly asked you to stop.
Part of the problem is that HubSpot tracks two different things that are easy to confuse. “Marketing contact status” controls billing and who you can market to, while subscription status records consent. The two aren’t linked, so a contact can be unsubscribed while still being a marketing contact.
How to prevent it: Export unsubscribes, hard bounces, and spam complaints separately from your old platform. HubSpot has a dedicated opt-out import, and contacts added that way are not created as contacts or added to your billable total. Instead, the email addresses are marked as ineligible to receive emails. Import consent data before you send a single marketing email from HubSpot, and check a sample of records to confirm it worked.
6. Workflows and Lead Routing Stop Working
Automation is where most migrations lose momentum. Workflows, scoring models, lifecycle stage rules, and lead rotation from your old system don’t move over by themselves. Each one has to be rebuilt in HubSpot’s logic.
History is also lost. Records of which contacts went through which automation sequences don’t carry over, even though the contacts and their properties transfer fine. Without a plan, contacts can re-enter nurture sequences they already finished.
Timing matters too. A workflow switched on during an import can send welcome emails to thousands of long-standing customers or reassign leads that already have owners.
How to prevent it: List every automation in the old system and decide whether it should be rebuilt, simplified, or retired. Most teams find that a good share of their old workflows no longer serve a purpose. Keep HubSpot workflows off while data loads, add filters to exclude migrated contacts from welcome or nurture flows, and test each workflow with sample records before switching it on. Teams with complex routing, scoring, or multi-step nurture programs often bring in HubSpot CRM automation services to rebuild this layer properly rather than recreate old workarounds.
7. Reports and Attribution Lose Their History
Leadership notices this one first. Dashboards that used to show where revenue came from suddenly show gaps, and marketing can’t prove which campaigns influenced closed deals.
Attribution depends on more than contact records. It needs campaign membership, source data, and touchpoint history, structured in a way HubSpot can read. As Pedowitz Group analysis puts it, if HubSpot cannot tie contacts to the campaigns that influenced them, multi-touch attribution produces zero or meaningless results.
Lifecycle stages create a similar problem. If your old system called someone a “Marketing Qualified Lead” under different rules than HubSpot’s default stages, historical funnel reports won’t line up.
How to prevent it: Before migrating, identify the reports your team actually relies on and work backward to the data they need. Preserve original source fields, campaign history, and stage dates as custom properties. Agree on lifecycle stage definitions with sales and marketing before the move, not after. Rebuild your core dashboards in HubSpot and compare their numbers against the old system for the same period. This is often where ongoing HubSpot CRM services earn their value, because reporting structure needs care well beyond the first import.
8. Search Rankings Drop After a Website Move
A website migration can undo years of SEO work in a few weeks. Common causes include missing redirects, changed URLs, lost page titles and meta descriptions, and pages left behind because nobody built a full inventory.
HubSpot has limits that matter for larger sites. A maximum of 500 redirects can be added in bulk at one time, and URLs uploaded in bulk can be no longer than 140 characters. Sites with thousands of pages need redirects planned in batches, and long legacy URLs may need special handling.
If HubSpot’s own team handles the move, the clock matters: you have 60 days from the migration’s completion date to report missing or broken content.
How to prevent it: Crawl the existing site and export every URL along with its traffic, backlinks, title and meta description. Map each old URL to its new home, and redirect retired pages to the closest relevant page rather than the homepage. Keep URL structures unchanged where possible. After launch, crawl the new site, check for 404 errors and watch Google Search Console closely for the first few weeks. For content-heavy sites, specialist HubSpot CMS migration services can handle redirect mapping, template rebuilding, and post-launch checks together.
9. Forms, Tracking Code and Integrations Go Silent
Some failures make no noise at all. A contact form looks fine but sends submissions nowhere. Google Analytics stops recording conversions. A payment tool, chat widget, or support app that used to sync with your CRM simply stops.
These problems happen because tracking code, Google Tag Manager tags, and conversion pixels often aren’t reinstalled on the new templates. Third-party apps add more risk: a standard HubSpot website migration doesn’t include tools such as live chat, accessibility widgets, commenting engines, and job boards.
How to prevent it: List every form, script, and connected app on your current site and CRM. For each one, note where data goes today and where it should go in HubSpot. Reconnect integrations in a test environment first, submit every form yourself after launch, and confirm the data reaches the right records, lists, and owners. Compare analytics numbers for the first two weeks against the previous period to catch silent drops early.