Moving from HubSpot to Salesforce makes sense when your sales process, data model or integrations have outgrown what you can configure comfortably, and you have someone to own the new platform. The core mapping is straightforward: companies become accounts, deals become opportunities, tickets become cases, and contacts split into leads or contacts depending on qualification. The harder decisions are where marketing automation lives, how much history to bring, and how to switch forms and integrations without losing a day of inbound.
When the move is worth it, and when it is not
HubSpot is a capable system, and plenty of companies should stay on it. The move tends to pay off when requirements pile up in areas where Salesforce is built to flex: several sales motions with their own stages and approval paths, custom objects related to each other in ways a report must follow, quoting with complex product rules, service and field operations on the same customer record, or record-level access rules that differ by team, region or client.
It is also a common step after a funding event or acquisition, when a board wants forecasting it can audit and the company plans to connect the CRM to finance and product systems. The case against moving is just as concrete. Salesforce needs ongoing administration, and a company without an admin or a partner lined up will rebuild its old frustrations in a more expensive system. If your team is small, your process is simple and the main complaint is untidy data, fix the data first and revisit the platform question later.
What maps to what
The biggest conceptual change is how people are stored. In HubSpot a person is usually one contact record from first form fill onward, with lifecycle stage marking progress. Salesforce separates unqualified people into leads, and converting a lead creates an account, a contact and, optionally, an opportunity. Decide the rule before mapping: which lifecycle stages arrive as leads and which arrive as contacts under an account.
| HubSpot | Salesforce | Decision to make |
|---|---|---|
| Contacts (early lifecycle stages) | Leads | Which stages count as unqualified, and whether a company name alone justifies an account |
| Contacts (customers, opportunities, qualified) | Contacts under an account | How to handle people associated with more than one company |
| Companies | Accounts | Parent and child hierarchy, and how to match on domain versus name |
| Deals and pipelines | Opportunities, with a sales process per pipeline | Stage mapping, probability and forecast category for each stage |
| Line items and products | Products, price books and opportunity products | Whether every historical deal needs line items or only open ones |
| Tickets | Cases | Status and priority values, queues and which closed tickets to keep |
| Calls, emails, meetings, tasks | Tasks and events | How far back to load, and which owner each activity gets |
| Notes | Notes | Whether to load them as notes or fold them into activity descriptions |
| Custom objects and properties | Custom objects and fields | Which properties are still used; many will not survive review |
| Workflows and sequences | Flow and marketing automation | Rebuild from the business rule, not from the old workflow steps |
Two details catch teams out. HubSpot lets one contact associate with several companies, while a Salesforce contact has a single primary account; Contacts to Multiple Accounts covers the extra relationships, but only if it is enabled and loaded deliberately. And HubSpot properties with free-text values often need to become picklists in Salesforce, which means agreeing the allowed values and cleaning every record to match.
Where marketing automation should live
Marketing usually drives the timing and the risk, because forms, emails, scoring and consent all sit in HubSpot today. There are three realistic paths, and the right one depends on how much marketing you do and how soon sales needs to work from a single system.
- Move marketing to Marketing Cloud Account Engagement (formerly Pardot). This suits B2B teams that want scoring, grading, nurtures and campaign influence tied directly to Salesforce leads, contacts and opportunities.
- Keep marketing in HubSpot and sync it to Salesforce. This can work for a transition, but you will run two systems that both believe they own a person, and the sync rules need an owner who watches them.
- Use Marketing Cloud Engagement or another platform. This fits high-volume consumer messaging or multi-channel journeys more than a typical B2B funnel.
A compliance-software company we worked with made the first choice at a moment when marketing was a brand-new function at the company. Moving sales and marketing together meant Account Engagement could launch with Engagement Studio nurtures, lead scoring and grading and preference management from day one, and the MQL-to-SQL handoff was defined once in Salesforce rather than negotiated between two systems. The same project added a custom object to track each customer's product instance after the sale, a structure that is easier to model in Salesforce than to approximate with properties.
Clean before you load
Every CRM accumulates records nobody would create again. Migration is the cheapest moment to leave them behind, because each record you skip is one you never have to deduplicate, secure or explain in a report. Work through the export in this order:
- Deduplicate people on email and companies on website domain, and decide which record wins when values conflict.
- Retire properties with no values or no recent use, and write down the ones you are deliberately leaving behind.
- Standardize country, state, industry and similar values so they fit the picklists you designed.
- Carry over unsubscribe and consent status exactly, with the date, before any email is sent from the new system.
- Agree a cutoff for closed deals, closed tickets and old activities, and archive the rest in a file you keep.
- Store the HubSpot record ID in an external ID field on every loaded record, so you can reconcile, rerun and link back.
Load in dependency order: users, then accounts, contacts and leads, then opportunities and cases, then activities. The Data Import Wizard handles accounts, contacts and leads up to 50,000 records at a time; larger volumes and objects it does not support go through Data Loader. If original created dates matter for reporting, an admin must enable the permission to set audit fields before the load, not after.
Integrations and the cutover
List everything connected to HubSpot before you plan dates: website forms, meeting scheduling, call recording, enrichment, chat, billing and your ERP. Each one needs a Salesforce connection, a replacement or a decision to drop it. Website forms deserve particular care, since they are the front door; rebuild them in Account Engagement or with Web-to-Lead, and test that a submission creates the right record with the right owner and source.
For the switch itself, freeze configuration changes, pause new HubSpot workflows and sequences, run a final load of records changed since the last test load, and repoint forms and integrations in one planned window. Keep HubSpot read-only for a short overlap so people can check history, then export a full archive before the subscription ends. Plan the first week of hypercare around sales and marketing together, because the lead handoff is where a HubSpot-to-Salesforce move either earns trust or loses it.
