Many companies run HubSpot for marketing and Salesforce for sales, connected by HubSpot's Salesforce integration. It works well when each system has a clear job and every synced field has one owner. Three settings decide most outcomes: the inclusion segment, which controls which HubSpot records sync to Salesforce at all; the sync rule on each field mapping, which decides which system wins; and the Salesforce API calls the sync consumes. Get those right before go-live and the two systems behave like one; leave them at defaults and duplicates and overwritten fields follow.
When does running both make sense?
- Marketing is productive in HubSpot and the cost and disruption of moving it are not justified yet.
- Sales, service or finance need Salesforce's data model, security or integrations.
- You can name an owner for the integration who will maintain mappings as both systems change.
If marketing and sales both want one system, or the integration keeps breaking, compare consolidating on Salesforce with Account Engagement or Marketing Cloud, or on HubSpot, instead of maintaining two.
What controls what syncs?
- Inclusion segment: HubSpot syncs records to Salesforce only if they are in the segment you select. Use it to send sales-ready contacts, not every newsletter subscriber.
- Object syncs: contacts and leads are the default; companies, deals, cases to tickets and custom objects each have their own settings in HubSpot.
- Field mappings: each HubSpot property maps to one Salesforce field, with matching field types.
- Sync rules: per mapping, choose Prefer Salesforce unless blank, Always use Salesforce, Two-way (the most recent value wins) or Don't sync.
| Data | Owner | Typical rule |
|---|---|---|
| Name, email, company, phone | Shared | Two-way, with duplicate rules in both systems |
| Lead source, original campaign, marketing engagement | HubSpot | Two-way, with the Salesforce field read-only so HubSpot's value is the one that changes |
| Lead status, owner, opportunity stage | Salesforce | Always use Salesforce |
| Lifecycle stage | Agreed definition | Set by rules in one system, mirrored in the other |
| Account fields such as industry and size | Usually Salesforce | Prefer Salesforce unless blank |
How much Salesforce API capacity does it use?
The integration reads and writes through the Salesforce API, so it counts against your org's daily API allocation alongside every other integration. HubSpot advises having at least three times the number of records in a segment available in API calls before a batch sync. Check your allocation in Salesforce before turning on a large segment, and set HubSpot's API usage limit so marketing syncs cannot starve other integrations.
What goes wrong most often?
- Syncing every HubSpot contact, which floods Salesforce with records sales will never work.
- Two-way sync on fields both teams edit, so values flip back and forth.
- Leads and contacts duplicated because matching rules differ between systems.
- Required Salesforce fields or validation rules blocking records HubSpot tries to create, with errors nobody reads.
- Owner assignment split between HubSpot workflows and Salesforce assignment rules.
A short setup checklist
- Document lead definitions, lifecycle stages and who owns each field.
- Create a dedicated Salesforce integration user with only the access the sync needs.
- Build the inclusion segment and test with a small set of records first.
- Set sync rules per mapping, not just defaults.
- Check API allocation and set HubSpot's usage limit.
- Review HubSpot's sync error list weekly for the first month, then monthly.

