Skip to content
Notifications
Clear all

Guide: Migrating from Salesforce to HubSpot in 7 steps

5 Posts
5 Users
0 Reactions
35 Views
(@martech_maven_al)
Trusted Member
Joined: 6 months ago
Posts: 42
Topic starter   [#5673]

Hey everyone, I just wrapped up a full Salesforce to HubSpot migration for my team, and let me tell you, a clear plan is everything. We went from feeling overwhelmed by the complexity to having a fully operational HubSpot instance in about six weeks. The key was breaking it down into manageable, sequential phases. I wanted to share our practical, step-by-step workflow here for anyone facing a similar project.

Here’s the 7-step approach we used, focusing on data integrity and minimal disruption:

**Step 1: The Pre-Migration Audit & Mapping**
Before touching a single record, we spent a week auditing our Salesforce instance. This meant:
* Listing all objects we actively used (Contacts, Leads, Accounts, Opportunities, Custom Objects).
* Documenting every field within those objects—noting which were native and which were custom.
* Creating a master spreadsheet to map each Salesforce field to its corresponding HubSpot property. This is where you decide what's critical to bring over. We chose to migrate active records from the last 24 months only to keep things clean.

**Step 2: Building the New HubSpot Foundation**
With our map in hand, we built out the destination in HubSpot *before* any data import.
* Created any custom properties that didn't have a direct native counterpart in HubSpot.
* Set up our internal teams, users, and permissions.
* Defined our lifecycle stages and deal pipeline stages to match our sales process. This step ensures your new CRM is ready to receive data in the right structure.

**Step 3: The Trial Migration & Validation**
We never do a "big bang" cutover. We exported a sample of 50 records per object from Salesforce (using the standard data export tool) and imported them into HubSpot using the import function.
* This let us test our field mapping for accuracy.
* We checked how relationships (like Contact-to-Account) carried over.
* We validated that data formats (like dates) translated correctly. We found a few issues with picklist values and fixed them in our mapping sheet.

**Step 4: Automating the Full Data Export from Salesforce**
For the full export, we used Salesforce's Data Loader for reliability with large volumes. We scheduled it for a weekend to get a static snapshot. Each object was exported to its own CSV file. A crucial tip: always use the record ID field and include it in your export—it's your ultimate reference point for troubleshooting.

**Step 5: The Staged Data Import into HubSpot**
We imported the data in a specific, dependent order over the course of a weekend:
1. Static objects first (like Companies, if you're treating Accounts as Companies).
2. Then Contacts and Deals.
3. Finally, we used the "Associate Deals" import feature to link Deals to Companies and Contacts correctly. We imported in batches of 10,000 records to avoid system timeouts.

**Step 6: The Cutover & Integration Switch**
On "Move Monday," we:
* Made HubSpot the primary source of truth for the sales team.
* Redirected any native integrations (like our form tool) to push data to HubSpot instead of Salesforce.
* Set a read-only flag on our Salesforce instance for historical lookup during the transition. We kept this for one quarter.

**Step 7: Post-Migration Cleanup & Training**
The work isn't done once the data is in! For two weeks after, we:
* Ran duplicate records audits and merged where necessary.
* Verified automated email workflows and lead scoring models were triggering correctly with the new data.
* Held three focused training sessions with sales and marketing on the new workflows in HubSpot.

**Our Actual Timeline:**
* Planning & Audit (Steps 1-2): 2 weeks
* Trial Migration & Fixes (Step 3): 1 week
* Full Export/Import & Cutover (Steps 4-6): 1 intense weekend
* Post-Migration (Step 7): 2 weeks
**Total active transition time:** About 6 weeks.

The biggest lesson? Don't skip the audit and the trial run. Those steps saved us from massive data cleanup headaches later. The process feels detailed, but each step builds confidence. Hope this gives you a solid framework to start from!

- Al


Automate the boring stuff.


   
Quote
(@devops_shift_worker)
Reputable Member
Joined: 4 months ago
Posts: 290
 

That pre-migration audit is the most critical, and most skipped, step. Glad you did it right.

We tried a similar migration two years ago and didn't fully inventory our custom objects first. Ended up with a week of frantic, post-cutover scripting to rebuild dependencies in HubSpot that we didn't even know existed. The data map saved you from that midnight oil, I bet.

One thing I'd add for anyone reading: version control that mapping spreadsheet from day one. You'll need to track changes when someone inevitably remembers a "critical" field in week 3.


NightOps


   
ReplyQuote
(@alexj)
Honorable Member
Joined: 3 months ago
Posts: 541
 

Couldn't agree more about version controlling the mapping document. We learned that the hard way on a different project when two teams were editing the same sheet offline. Complete chaos.

Your point about discovering hidden dependencies is so real. It's not just about the fields you see, it's about the workflows and automation that use them. We once missed a simple checkbox field that was a trigger for an entire lead scoring model. Finding that after the fact was, as you put it, a lot of midnight oil.

That post-cutover scripting scramble is the absolute worst-case scenario. Solid advice for anyone reading this thread.


Let's keep it real.


   
ReplyQuote
(@crm_hopper_alt)
Reputable Member
Joined: 4 months ago
Posts: 357
 

>We once missed a simple checkbox field that was a trigger for an entire lead scoring model.

This is the ghost in the machine. The audit phase isn't just for your data. You have to audit your *processes* too, which are usually a mess of point-and-click automation that someone built three years ago and forgot.

Everyone talks about the mapping doc, but you need a parallel "trigger audit" - list every automation rule, workflow, validation rule, and process builder in Salesforce. Because that "simple checkbox" is probably feeding five other things. Finding it post-migration means you're not just rebuilding one rule, you're reverse-engineering a Rube Goldberg machine. Good luck with that 😬


been there, migrated that


   
ReplyQuote
(@henry)
Reputable Member
Joined: 3 months ago
Posts: 274
 

That master spreadsheet was our single source of truth. One pro tip we learned: we created a column in ours to flag "dependent automation" right next to the field mapping. So if a field like "Lead Score" was calculated by a workflow, we not only mapped it, but we made a note to rebuild that logic in HubSpot later. It kept our audit and our automation rebuild in the same place.

Totally agree on migrating active records only. We used the same 24-month window. It forced a healthy conversation about data hygiene and what "active" really meant for each object. For Opportunities, we included anything Closed-Won in the last 36 months for revenue attribution, which was a slight but important tweak to your rule.

Looking forward to seeing Step 2. The foundation-building phase is where you really feel the platform shift.


Cheers, Henry


   
ReplyQuote