The decision is made. Leadership signed off on HubSpot, the Salesforce renewal date is circled, and your admin found Smart Transfer inside HubSpot. The plan on the whiteboard reads “run the transfer, then train the team.” It’s a tidy plan, and it assumes the tool moves your Salesforce org. HubSpot’s documentation describes a tool that moves the standard parts of it.
That’s a fair tool for the job HubSpot built it to do. The gaps sit in custom builds and in records that arrive dirty, and HubSpot documents each one itself, spread across several Knowledge Base articles. This paper puts them in one place with their dates, then turns them into a yes/no checklist you can run against your own org before anything syncs.
What is HubSpot Smart Transfer built to do?
HubSpot Smart Transfer is built for “a one-time migration of data from another app to HubSpot,” and HubSpot’s Smart Transfer guide (last updated October 2, 2026) says the transfer is one-way. Only Super Admins can access it, and you need a Data Hub subscription to transfer custom field mappings. If you plan to keep using Salesforce after the move, HubSpot tells you to use the HubSpot-Salesforce integration instead.
That last line is the one to settle first. The two tools match records differently, and HubSpot’s own warning is direct: 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.”
If someone on your team connected the integration to test HubSpot against live data, decide which tool owns the move before either one syncs again. We cover what that collision looks like in why two CRMs syncing at once create duplicates.
The permission and plan lines deserve a check too. Super Admin access decides who can run the transfer. The Data Hub requirement decides whether you can transfer custom field mappings at all, so confirm the subscription before you plan around them.
What Smart Transfer moves from Salesforce, object by object
According to HubSpot’s list of supported apps for Smart Transfer (last updated October 2, 2026), Smart Transfer maps Salesforce Accounts to HubSpot Companies, Opportunities to Deals, Cases to Tickets and Events to Meetings. Person Accounts, Contacts and Leads all land as HubSpot Contacts. Email Messages become Email Activities, and Notes, Tasks, Users and Email templates move to their HubSpot equivalents.
| Salesforce | HubSpot | Note |
|---|---|---|
| Accounts | Companies | Standard mapping |
| Person Accounts | Contacts | Standard mapping |
| Contacts | Contacts | Standard mapping |
| Leads | Contacts | Arrive as Contacts, alongside your Salesforce Contacts |
| Opportunities | Deals | Standard mapping |
| Cases | Tickets | Standard mapping |
| Events | Meetings | Standard mapping |
| Email Messages | Email Activities | Standard mapping |
| Notes, Tasks | Notes, Tasks | Standard mapping |
| Users | Users | Configure these before attachments (see below) |
| Email templates | Email templates | Standard mapping |
| Attachments | One-time post-sync transfer | Not kept up to date |
| Campaign lists | One-time post-sync transfer | Based on Campaign Membership, not kept up to date |
| Custom objects | Not supported | “The transfer of custom objects isn’t supported” |
Leads is the row to read twice. In Salesforce, a lead and a contact are separate records that mean different things to your team. In HubSpot they arrive as the same object, so decide how you’ll tell them apart, with a property or a lifecycle stage, before the sync runs.
Relationships move through five Salesforce fields, per the same page: a Contact’s Account Name (contact to company), an Opportunity’s Account Name (deal to company), Opportunity Contact Roles, all of them (contact to deal), and a Case’s Account Name and Contact Name (ticket to company and ticket to contact). If a relationship your team depends on lives somewhere else, such as a custom lookup, it isn’t on that list. HubSpot’s page doesn’t say whether contact role labels carry over or how it handles a contact tied to more than one account, so check both yourself before you rely on them.
Which Salesforce data does Smart Transfer not move?
HubSpot documents four gaps for Salesforce. Its supported apps page (last updated October 2, 2026) says custom objects don’t transfer, five field types aren’t supported (encryptedstring, JunctionIdList, masterrecord, reference and calculated), and attachments and campaign lists move once without staying up to date. A separate sync-error guide (last updated November 26, 2025) adds that attachments arrive without owners unless you configured users first.
Custom objects. If anything your team reports on lives in a custom object, Smart Transfer won’t carry it. That data needs its own path into HubSpot, and someone has to decide which HubSpot object it becomes.
Five field types. HubSpot lists these by their API type names only. In plain terms, and this is our gloss rather than HubSpot’s wording, reference is a lookup field and calculated is a formula field. If a report, a territory rule or a commission calculation reads from a formula field, that field won’t come over through Smart Transfer, and you’ll rebuild the logic in HubSpot or retire it. Before you rebuild anything, decide which fields deserve to move at all. Our paper on CRM field bloat covers how to make that call.
Attachments and campaign lists. HubSpot treats both as a one-time post-sync transfer, and its note is plain: “The data transferred through one-time post-sync transfers will not be part of an ongoing sync and therefore will not automatically stay up to date.” What moves on the campaign side is a list based on Campaign Membership. HubSpot’s documentation doesn’t cover campaign attribution or influence history, so don’t assume it moves and don’t assume it’s lost. Check it yourself before you retire a Salesforce report that depends on it.
Owners on attachments. HubSpot’s sync-error guide says that if the Configure transfer action didn’t include users, “HubSpot cannot assign owners to attachments.” The attachments still transfer. To keep the user who created each one, run the Configure transfer action for users first. The guide states this for attachments only. It says nothing either way about record owners on contacts or deals.
HubSpot’s Smart Transfer pages also don’t address activity history limits, record ownership on contacts and deals, contact role labels, or contacts tied to more than one account. Silence in the documentation isn’t a yes or a no. Treat each one as a question to answer in your own org.
Does Smart Transfer clean your data on the way in?
No. HubSpot’s cleanup step (last updated November 26, 2025) scans for and marks QA properties, empty properties and text properties for enumeration workflows that Smart Transfer created during the configuration transfer, and groups them under a “Migration Clean up” property group for review before deletion. It tidies the properties the transfer made. The values inside your records, duplicates included, are yours to deal with.
Duplicate emails are where that shows up first. HubSpot’s Knowledge Base (last updated September 17, 2026) says that in Salesforce “you can have two lead or contact records with the same email address,” but HubSpot “doesn’t allow multiple records to share the same email address.”
Put that next to the object map above. A lead and a contact with the same email are two legal records in Salesforce, and both are headed for the HubSpot Contacts object, which allows one record per email. Find those pairs and decide which record survives before the sync runs. Our paper on HubSpot duplicate contacts covers what to do with them once you have the list.
Duplicate emails are a narrow problem inside a wider one. Validity’s State of CRM Data Management in 2025, published July 2025 and based on a survey of 602 CRM users and stakeholders, found 76% said less than half of their organization’s CRM data is accurate and complete. A tool that moves records as they are moves that problem with them.
Reverting a transfer only undoes Smart Transfer’s own changes
Smart Transfer has a real undo, with limits. Per HubSpot’s revert guide (last updated November 26, 2025), reverting removes the settings the transfer updated, including properties, pipelines, users, currencies and workflows, and deletes newly created records if the configuration created a sync connection. The Revert action can only roll back changes made by Smart Transfer. You can’t use it to delete records synced through a standard sync connection.
The undo matters less than the timing. HubSpot’s Smart Transfer guide (last updated October 2, 2026) says the sync can take several hours depending on the volume of data, and after the initial sync it keeps running in the background to keep transferred records up to date.
The transfer doesn’t stop when the first sync finishes. If you need filters, or want to confirm mappings before records move, HubSpot recommends turning off the Automatically sync toggle, which “will prevent unwanted records from being transferred.” Leave it off until the mappings check out.
A pre-transfer checklist for a Salesforce org
Run your Salesforce org against the scope HubSpot documents in its Smart Transfer Knowledge Base articles, last updated between November 26, 2025 and October 2, 2026, before the first sync. Each question below comes from one of those pages. A yes means that part of your org needs a decision, a separate path into HubSpot, or a cleanup pass before Smart Transfer runs. A no means the documented scope covers it.
- Will you keep using Salesforce after the move, or is the HubSpot-Salesforce integration already connected? If yes, HubSpot points you to the integration instead. Don’t run both.
- Do you need custom field mappings without a Data Hub subscription, or without a Super Admin to run the transfer? If yes, sort out the plan and the permissions first.
- Do reports, renewals or handoffs depend on custom objects, or on relationships outside the five association fields? If yes, plan their path into HubSpot separately.
- Do any reports or rules read from lookup (reference) or formula (calculated) fields, or from encryptedstring, JunctionIdList or masterrecord fields? If yes, list them. They won’t transfer.
- Do you report on campaign history? If yes, know that campaign lists move once, based on membership, and check attribution yourself.
- Do any Leads and Contacts share an email address? If yes, resolve the pairs before they meet HubSpot’s one-email rule.
- Are attachment owners important to you, with the users step not yet configured? If yes, configure users first.
- Is automatic sync still on while mappings and filters are unconfirmed? If yes, turn it off.
You have two honest options from here. Move the org as it is and clean it in HubSpot afterward, on HubSpot’s rules. Or look at the source first, while the records still sit in the system your team knows and the answers above are still cheap to change.
The license is only part of the bill. What a Salesforce to HubSpot migration costs breaks out the rest.
If you want a read-only look at your Salesforce data before the first sync, the free CRM Diagnostic runs 40+ automated checks across data quality, pipeline hygiene, freshness, reachability and ICP fit.