A HubSpot migration is a data project before it is a technology project. The teams that struggle most with CRM migrations are the ones that treat it primarily as a tool change - connecting HubSpot to the old system, pressing a button, and expecting clean data to appear. What actually arrives is a replica of every data quality problem that existed in the source system, plus new problems created by imprecise field mapping, broken associations, and historical records that should have been excluded rather than transferred.
This guide is written for RevOps, marketing operations, and digital leaders managing a migration into HubSpot - whether from Salesforce, another CRM, a legacy website, or all three simultaneously. It covers the pre-migration decisions that determine migration quality, the methods available for different scenarios, the association integrity risks that most migration plans underestimate, and the validation criteria that confirm whether a migration was successful before the source system is deactivated.
For the HubSpot setup that should be completed before data enters the portal, see our HubSpot onboarding guide 2026. For platform evaluation decisions that precede migration planning, see our HubSpot Salesforce integration guide.
CRM vs CMS Migration: Two Different Projects
HubSpot migration discussions frequently conflate two distinct types of migration that require different skills, different timelines, and different success criteria:
CRM migration involves moving contact records, company records, deal history, activity logs, custom properties, and the associations between them from an existing CRM (Salesforce, Pipedrive, Zoho, HubSpot itself from another portal) into HubSpot. The primary risks are data quality, association integrity, and field mapping accuracy. The success criterion is a HubSpot portal where the sales and marketing team can work from day one without missing context.
CMS migration involves moving a website from an existing platform (WordPress, Webflow, Drupal, Sitecore) to HubSpot Content Hub. The primary risks are SEO continuity (broken redirects, lost organic traffic), design system rebuild quality, and form integration accuracy. The success criterion is a live website on HubSpot that maintains or improves search ranking and converts visitors at the same or better rate as the previous site.
Many organisations undertake both simultaneously - moving CRM data from Salesforce while launching the website on HubSpot's CMS. This combination is high-risk because the two projects share go-live pressure but have different technical dependencies. The safer approach is phased migration: CRM first, CMS second, with a gap of at least 4–6 weeks between them.
Pre-Migration Audit: What You Have and What You Need
The pre-migration audit is the project phase most teams underinvest in - and the one that has the greatest impact on migration quality. A well-executed audit answers four questions: what data exists, what is the quality of that data, what will be migrated, and what will be intentionally left behind.
Data Inventory
Start by producing a complete inventory of the source system's data:
- Total contact, company, and deal record counts
- Custom field count and, for each field, the population rate (what percentage of records have a value in this field)
- Active vs inactive records (contacts who have been emailed in the last 24 months vs contacts who have not been touched since the system was set up)
- Association network: how many contacts are linked to companies, how many deals are linked to contacts and companies
- Activity history: how many logged calls, emails, meetings, and notes exist, and for what date range
- For CMS migrations: total page count by content type (blog posts, landing pages, standard pages), number of unique inbound links from external sites, and the URL architecture
The Leave-Behind Decision: What Not to Migrate
Every migration inherits the data quality problems of the source system unless deliberate decisions are made about what to exclude. The leave-behind decision is not about losing data - it is about not contaminating the new system with records that provide no value and actively degrade data quality, segmentation accuracy, and deliverability.
The leave-behind decision should be documented and agreed with the relevant stakeholders before the migration begins - not revisited after contacts have already been imported. A sales leader who later asks 'why can't I see deals from 2019?' should have agreed that they were not migrating before the cutover, not be surprised by a missing record during a customer review meeting.
CRM Data Architecture: Build HubSpot First
The most reliable migration path is: build the HubSpot data architecture first, then import data into it - not the reverse. Importing data before the property schema, pipeline configuration, and association model are finalised means either importing into default HubSpot properties that do not match the source system's data model (producing a mismatch between imported data and the team's operational requirements) or importing and then restructuring, which creates data inconsistency during the restructuring period.
The HubSpot-first build sequence: configure custom properties, pipeline stages, lifecycle stage definitions, and lead scoring criteria before the first record is imported. These decisions are covered in our HubSpot deals guide 2026 (pipeline design), HubSpot lead scoring guide 2026 (scoring model), and HubSpot onboarding guide 2026 (overall configuration sequence). The data import is the last step in this sequence, not the first.
Field Mapping: From Source Properties to HubSpot Properties
Field mapping is the process of matching each property in the source system to the equivalent property in HubSpot. For simple migrations, this is straightforward: 'First Name' in Salesforce maps to 'First Name' in HubSpot. For complex migrations with custom fields, the mapping requires decisions about:
- Direct maps: Source field and HubSpot field match exactly - same data type, same value set, same purpose.
- Transformed maps: Source field data must be transformed before import - date format conversion, text normalisation (title case vs all caps), or value remapping (Salesforce picklist values that differ from HubSpot dropdown options).
- Calculated fields: Fields whose value in HubSpot will be calculated at import time from source data - for example, deriving a 'Days Since Last Activity' property from an activity log.
- No-map fields: Source fields that have no equivalent in HubSpot and are not worth creating a custom property for - fields populated on fewer than 20% of records or fields whose value is superseded by HubSpot's native data.
Produce the field mapping as a spreadsheet before writing any import scripts or running any migration tool. Share it with both the sales team (who know which fields they actually use) and the marketing ops team (who know which fields drive segmentation). Mapping decisions made without input from both teams produce a system that is technically complete but operationally wrong.
Association Integrity: The Most Underestimated Risk
Associations - the links between contacts, companies, deals, and activities - are what make a CRM record useful. A contact record without an associated company is an orphan. A deal without an associated contact has no ownership. Activity history not linked to the correct contact provides no context.
Most CRM migrations import objects (contacts, companies, deals) correctly but break or omit associations. This happens because associations are not rows in a CSV - they are relational links that require the HubSpot record IDs of both the source and target objects to be known at import time. In practice:
- Contact records must be imported and their HubSpot IDs captured before deal records are imported
- Company records must be imported and their HubSpot IDs captured before contact-to-company associations are created
- Deal records must be imported before deal-to-contact and deal-to-company associations are created
- Activity history (calls, emails, meeting notes) must reference the HubSpot contact ID of the contact they belong to - not the Salesforce or source system ID
A migration that imports contacts, companies, and deals separately without a sequenced association-building step produces three isolated data sets that the team must manually re-link. This is the single most common and most expensive migration remediation work.
The correct sequencing: (1) import companies and capture HubSpot company IDs. (2) Import contacts with company associations. (3) Import deals with contact and company associations. (4) Import activity history with contact associations. This sequence requires either the HubSpot API (for programmatic association creation) or a migration tool that handles association sequencing. See our HubSpot API guide 2026 for the API patterns that enable this.
Migration Methods
HubSpot Smart Transfer (Salesforce-Specific)
HubSpot's Smart Transfer is a native tool specifically designed for Salesforce-to-HubSpot migrations. It connects directly to the Salesforce API, maps Salesforce objects (Leads, Contacts, Accounts, Opportunities, Tasks, Events) to HubSpot objects (Contacts, Companies, Deals, Tasks), and transfers data without requiring a CSV export. (Source: HubSpot Knowledge Base - Import data with Smart Transfer: knowledge.hubspot.com/import-and-export/smart-transfer)
Smart Transfer handles standard Salesforce objects well. Its limitations:
- Custom objects in Salesforce require manual mapping - Smart Transfer does not automatically discover and migrate custom object schemas
- Salesforce formula fields (calculated values) are not migrated - they must be replicated as HubSpot workflow-calculated properties
- Very large Salesforce orgs (above 500k contacts) may experience performance issues and require a phased transfer rather than a single migration run
- Complex Salesforce relationship models - accounts with hierarchies, multiple opportunity types, custom junction objects - require validation and potential remapping before transfer
The Salesforce-to-HubSpot Migration Sequence
For teams running both platforms simultaneously during a transition, the migration sequence that minimises disruption:
- Build HubSpot configuration first (4–8 weeks): Properties, pipelines, lifecycle stages, lead scoring. Do not import any data yet.
- Configure Salesforce integration (1–2 weeks): Set up the HubSpot–Salesforce connector to run bidirectionally during the transition. This ensures new data created in either system is reflected in both while the migration is in progress.
- Run Smart Transfer or import for historical data (1–4 weeks): Transfer contacts, companies, deals, and activities from Salesforce to HubSpot. Validate association integrity on a sample of 50–100 records before proceeding.
- Parallel run period (4–8 weeks): Both systems are live. Sales and marketing use HubSpot for new records; Salesforce receives updates via the integration connector. New deals created in HubSpot sync to Salesforce.
- Cutover (1 week): Redirect all sales and marketing activity exclusively to HubSpot. Deactivate the Salesforce integration connector. Maintain Salesforce in read-only mode for 90 days as a reference.
CMS Migration: Website to HubSpot Content Hub
A website migration to HubSpot Content Hub is a redesign and rebuild project, not a content lift-and-shift. The visual design, template architecture, and module library must be rebuilt in HubSpot's theme system. Content can be migrated with varying degrees of automation. SEO continuity requires careful planning. See our HubSpot CMS guide 2026 for the full Content Hub architecture context before beginning a CMS migration.
SEO Risk Management During CMS Migration
The highest risk in any CMS migration is SEO: broken redirects, missing metadata, lost inbound links, and page speed regression can cause significant organic traffic loss that takes months to recover. The framework for managing this risk is covered in detail in our CMS migration SEO guide and website redesign SEO checklist. The minimum requirements for CMS migration SEO protection:
- URL preservation: Maintain existing URL structure wherever possible. If URLs must change (e.g., because HubSpot's blog URL structure differs from WordPress), build a complete redirect map before DNS cutover.
- Redirect implementation: Configure 301 redirects in HubSpot's redirect manager for every URL that changes. Test all redirects before going live.
- Metadata migration: Reconfigure page-level SEO metadata (title, description, canonical URL, Open Graph tags) in HubSpot for every migrated page. HubSpot does not import metadata automatically from other platforms.
- Inbound link preservation: Use Ahrefs, Semrush, or Google Search Console to identify pages with significant inbound links. These pages should be prioritised in the redirect map and quality-checked post-migration.
- Performance baseline: Record Core Web Vitals scores for the existing site before migration. The HubSpot site should match or improve these scores - a performance regression after migration will suppress organic rankings.
Content Migration from WordPress
WordPress is the most common CMS source for HubSpot migrations. HubSpot's WordPress migration plugin imports blog posts, pages, and images automatically. The import covers content but not design - templates and modules must be rebuilt in HubSpot's theme system.
The WordPress-specific migration considerations:
- Plugin audit: Every active WordPress plugin that provides user-facing functionality (SEO, chat, cookie consent, social sharing) needs a HubSpot or third-party equivalent confirmed before migration begins.
- Custom post types: WordPress custom post types (resources, case studies, team members) need to be modelled in HubSpot as either standard pages with custom templates or HubDB tables - a design decision that must be made before the build phase.
- ACF data: Advanced Custom Field data does not export cleanly to HubSpot's content model. Map ACF data to HubSpot page properties or HubDB table columns before migrating content.
Validation and Go-Live Criteria
A migration is not complete when the data is in HubSpot - it is complete when the data has been validated against the source system. The validation phase is where import errors, association gaps, and field mapping mistakes are identified before the source system is deactivated.
The go-live decision should be made by the RevOps or migration project owner against the validation criteria above - not by the implementation deadline. If the validation checklist has unresolved failures, the go-live date should move. The cost of going live with broken associations or missing subscription status is higher than the cost of a one-week delay.
Training and Adoption Post-Migration
A successful migration ends not when the data is in HubSpot but when the team is using HubSpot as their primary system of record. The adoption risk in a migration is higher than in a greenfield implementation because the team is also unlearning the old system's patterns while learning HubSpot's.
The HubSpot Champion framework - a named internal owner responsible for ongoing portal governance, user support, and adoption tracking - is the most important post-migration investment. See our HubSpot onboarding guide 2026 for the Champion development plan and 90-day adoption metrics.
The two adoption patterns that most frequently derail post-migration success:
- Shadow CRM use: Reps who do not trust the migrated data continue logging deals in spreadsheets or the old system. This produces a diverging record of truth that is expensive to reconcile. Prevent it by validating the migrated data with sales leadership before go-live and addressing specific data quality concerns before they become reasons not to use HubSpot.
- Marketing sends from the old platform: Marketing teams continue sending emails from the legacy platform while HubSpot is nominally live, because they have not yet rebuilt their templates and workflows. This produces attribution gaps and split contact databases. Set a hard cutover date for marketing sends and work backward from it in the migration timeline.
Timeline and Cost Ranges
Timeline ranges are illustrative based on commonly observed migration projects at mid-market B2B organisations. Individual timelines vary significantly based on data volume, source system complexity, internal resource availability, and stakeholder alignment. Verify current HubSpot partner and implementation pricing directly - rates vary by geography and partner tier.
Work with Belt Creative
Belt Creative manages HubSpot migrations for B2B teams - CRM data audit, field mapping, association-sequenced import, Salesforce Smart Transfer, CMS rebuild on Webflow or HubSpot Content Hub, and the validation process that confirms the migration is complete before the source system goes offline. If you are planning a migration from Salesforce, another CRM, or an existing website, we can advise on scope, timeline, and risk.
See our work for examples of HubSpot implementations and migrations, or get in touch to discuss your migration requirements.
A Note on Sources
HubSpot Knowledge Base - Import data with Smart Transfer: knowledge.hubspot.com/import-and-export/smart-transfer. HubSpot Knowledge Base - Import contacts: knowledge.hubspot.com/import-and-export/import-contacts. HubSpot migration documentation: knowledge.hubspot.com/import-and-export. Timeline and cost ranges are illustrative based on commonly observed implementation projects; individual projects vary. Verify current HubSpot product capabilities at knowledge.hubspot.com.
Frequently Asked Questions
How Long Does a HubSpot CRM Migration Take?
For a small migration (under 10k contacts, no complex Salesforce org): 3–6 weeks. Mid-market migration (10k–100k contacts, Salesforce sync, custom objects): 8–16 weeks. Enterprise migration: 16–36 weeks. The timeline is driven primarily by pre-migration audit depth, data quality, and stakeholder availability - not by technical complexity alone.
What Should I Not Migrate to HubSpot?
Leave behind: hard-bounced email addresses (import them as suppressed, not as active contacts); contacts with no email, no deal history, and no company association; deals closed-lost more than 3 years ago with no re-engagement value; custom fields with less than 20% population rate; and duplicate records. Every record left behind in the source system is a record that cannot corrupt the new system's data quality.
Can I Migrate from Salesforce to HubSpot Without a Developer?
Yes, for standard Salesforce configurations. HubSpot's Smart Transfer tool connects directly to Salesforce and migrates standard objects (Leads, Contacts, Accounts, Opportunities, Tasks) without requiring developer work. For Salesforce orgs with complex custom objects, formula field dependencies, or junction object relationships, developer involvement significantly improves migration quality and reduces post-migration remediation.
How Do I Preserve Contact-to-Deal Associations During Migration?
Associations must be built in sequence: import companies first, then contacts with company associations, then deals with contact and company associations. A CSV import creates records but does not automatically create associations - these require either a separate association import file, the HubSpot API, or a migration tool that handles association sequencing. Skipping this step produces isolated records that must be manually re-linked after import.
What Is the Risk to SEO During a CMS Migration to HubSpot?
The primary risks are broken redirects (old URLs returning 404 instead of redirecting to new pages), missing page-level SEO metadata (titles, descriptions, canonical tags not reconfigured in HubSpot), and performance regression (a slower HubSpot site suppressing organic rankings). All three are preventable with a structured pre-migration SEO audit, a complete redirect map, and a post-launch performance check. Our CMS migration SEO guide covers the full framework.
Should I Migrate CRM and CMS Simultaneously?
Not unless there is a compelling external deadline that makes a phased approach impossible. Simultaneous CRM and CMS migration doubles the project complexity, creates conflicting go-live pressure, and makes it harder to isolate and fix problems during the validation phase. The phased approach - CRM first, CMS second with a 4–6 week gap - is lower risk and produces better outcomes for both migrations.
How Much Does a HubSpot Migration Cost?
A small self-serve migration (CSV import, no associations, no Salesforce): near zero in external cost, but significant internal time investment. A mid-market partner-led migration with Salesforce Smart Transfer: $8,000–$25,000 for a HubSpot partner engagement. An enterprise migration with complex Salesforce, custom objects, and CMS rebuild: $30,000–$100,000+. These are illustrative ranges - scope, partner tier, and geography vary costs significantly. Get a scoped proposal from a certified HubSpot Solutions Partner for an accurate estimate.
Sources: knowledge.hubspot.com/import-and-export; knowledge.hubspot.com/import-and-export/smart-transfer. All migration guidance verified mid-2026. Timeline and cost ranges are illustrative.