How Do You Fix HubSpot and Salesforce Sync Issues?
Your marketing team works in HubSpot. Your sales team works in Salesforce. In theory, the integration connects them seamlessly. In practice, you've got duplicate records multiplying, lead data disappearing between systems, picklist values breaking the sync every other week, and pipeline reports that tell a different story depending on which platform you pull them from.
If this sounds familiar, you're in good company. The HubSpot-Salesforce integration is one of the most powerful, and most frequently problematic, connections in the B2B tech stack. The native connector handles basic contact, company, and deal synchronization well enough. But the moment your data model gets complex, your teams grow, or your processes evolve, sync issues start appearing in ways that are difficult to diagnose and even harder to fix without the right approach.
Key takeaway: Most HubSpot-Salesforce sync problems aren't caused by the integration platform itself. They're caused by misaligned data models, incomplete field mapping, and a lack of ongoing governance. Fix the architecture, and the sync takes care of itself.
What You Will Learn
- What are the most common HubSpot-Salesforce sync errors?
- Why do duplicate records keep appearing after syncing HubSpot and Salesforce?
- How do you set up a HubSpot-Salesforce integration the right way?
- What's the best way to troubleshoot HubSpot-Salesforce sync failures?
- Should you use the native integration or a third-party sync tool?
- How do you maintain integration health over time?
- FAQ
What Are the Most Common HubSpot-Salesforce Sync Errors?
HubSpot's sync health dashboard categorizes errors into several types. The most common ones fall into five categories and understanding each one is the first step to fixing them.
Picklist value mismatches
This is the single most frequent sync error. Salesforce uses picklists (dropdown fields) with strict value sets. HubSpot uses dropdown properties that operate independently. When a value exists in one system but not the other, or when HubSpot sends a free-text value to a Salesforce picklist field, the sync fails for that record.
The most common offenders are State/Region and Country fields. HubSpot stores these as open-text by default, while Salesforce requires them to match a predefined picklist. "United States" in HubSpot won't sync if Salesforce expects "US."
Insufficient permissions
HubSpot connects to Salesforce through a dedicated integration user. If that user doesn't have the right permissions in Salesforce, to view specific objects, edit certain fields, or access particular record types, sync errors appear. This is especially common after Salesforce admin changes, password resets, or role restructuring.
Missing required fields
Salesforce validation rules can require specific fields to be populated before a record can be created or updated. If HubSpot doesn't capture that data, or doesn't map a corresponding property to the required Salesforce field, the record stalls. This frequently happens with custom required fields that were added to Salesforce after the integration was initially configured.
Field type incompatibilities
Mapping a HubSpot text field to a Salesforce number field, or a HubSpot multi-select to a Salesforce single-select, will cause sync failures. These errors are usually caught during initial setup but resurface when teams add new properties without checking field type compatibility across both systems.
API call limits
Salesforce enforces daily API call limits, and HubSpot shares those limits with every other tool connected to your Salesforce instance. If HubSpot consumes too many API calls, especially during bulk data operations, other integrations can fail, and HubSpot syncs slow down or stop entirely. This becomes a real issue for organizations with multiple tools connected to Salesforce and large contact databases.
Why Do Duplicate Records Keep Appearing After Syncing HubSpot and Salesforce?
Duplicates are the most visible and most frustrating sync problem. They happen because HubSpot and Salesforce structure contact data fundamentally differently and most integrations don't account for those differences thoroughly enough.
The structural mismatch
HubSpot treats every person as a single contact record, deduplicated by email address. Salesforce separates people into two objects: Leads and Contacts. A person can exist as a Lead in Salesforce and simultaneously as a Contact in HubSpot. When the sync creates a new record for someone who already exists under a different object type, you get a duplicate.
Auto-association creates shadow records
HubSpot's default setting automatically creates and associates company records when new contacts are created. If this setting is enabled during the sync, HubSpot may generate company records that duplicate existing Salesforce Accounts, especially when company names are slightly different (e.g., "Acme Inc" vs. "Acme, Inc.").
Bulk imports bypass deduplication
When marketing or sales teams import CSV lists directly into either system, those records may not match against the existing deduplicated database in the other system. A contact imported into HubSpot with a slightly different email format won't match an existing Salesforce Lead, creating a parallel record that the sync treats as new.
How to fix it
- Turn off automatic company creation in HubSpot's integration settings if your Salesforce accounts should be the system of record for company data.
- Use inclusion lists to control which HubSpot contacts sync to Salesforce, preventing low-quality or unqualified records from creating unnecessary duplicates.
- Map Salesforce Record IDs (Contact ID, Lead ID, Account ID) into HubSpot properties with the sync rule set to "Always use Salesforce." This maintains accurate associations even when other data changes.
- Establish import governance: require that all bulk imports go through a central ops person who deduplicates the list against both systems before importing.
- Use a deduplication tool like Insycle, Dedupely, or Koalify to catch duplicates that slip through, especially across the Lead/Contact divide in Salesforce.
How Do You Set Up a HubSpot-Salesforce Integration the Right Way?
Most sync problems originate in the initial setup — HubSpot's documentation on setting up the Salesforce integration covers the technical mechanics. Getting the integration right from the start prevents the majority of issues that teams spend months troubleshooting later. The steps below focus on the strategic decisions the documentation doesn't cover.
Step 1: Clean your data first
Before connecting the two systems, clean your data in both platforms. Deduplicate contacts, standardize key fields (especially country, state, and industry), and remove invalid records. Connecting dirty systems amplifies the mess — you don't want duplicates, formatting inconsistencies, and stale records syncing in both directions.
Step 2: Create a dedicated Salesforce integration user
Don't connect HubSpot using a personal Salesforce account. Create a dedicated integration user with the appropriate permissions to see all objects and fields that need to sync. This prevents disruption when individual employees change roles, reset passwords, or leave the company.
Step 3: Map fields intentionally
Don't auto-map everything. Start by mapping only the fields that both teams actively use and need to see in both systems. For each mapped field, define the sync direction:
- HubSpot → Salesforce: Use when HubSpot is the source of truth for that data (e.g., marketing lead source, campaign data)
- Salesforce → HubSpot: Use when Salesforce is the source of truth (e.g., deal stages, account ownership)
- Bi-directional: Use sparingly and only when both teams need to update the same field. Bi-directional sync on too many fields creates update conflicts.
- "Always use Salesforce" or "Always use HubSpot": Use for fields like Record IDs or system-of-record data where one platform should always win.
Step 4: Configure inclusion lists
Don't sync every HubSpot contact to Salesforce. Use inclusion lists to control which contacts flow over — typically those who have reached MQL status based on yourlifecycle stage definitions or meet specific qualification criteria.
Step 5: Test with a small batch
Before turning on the full sync, test with 50–100 contacts. Verify that records sync correctly in both directions, field values map properly, lifecycle stages update as expected, and no duplicates are created. Fix any issues before expanding to your full database.
Step 6: Document everything
Create an integration document that records every field mapping, sync direction, inclusion list criteria, and configuration decision. This document becomes essential when troubleshooting future issues, onboarding new team members, or modifying the integration as your business evolves.
What's the Best Way to Troubleshoot HubSpot-Salesforce Sync Failures?
When sync errors appear, the instinct is to start fixing individual records. That's the wrong approach. Start with the system, not the symptoms.
Step 1: Check the sync health dashboard
In HubSpot, navigate to Settings → Integrations → Connected Apps → Salesforce → Sync Health. This dashboard shows error counts by category, affected records, and error descriptions. Start here to understand the scope and type of the problem before diving into individual records.
Step 2: Categorize errors by type
Group errors into categories: picklist mismatches, permission issues, required field failures, field type conflicts, and API limits. Each category has a different root cause and a different fix. Treating all sync errors as the same problem leads to whack-a-mole troubleshooting that never resolves the underlying issue.
Step 3: Fix at the system level, not the record level
If 200 records are failing because of a picklist mismatch on the Country field, don't fix the 200 records individually. Fix the picklist alignment between the two systems, add the missing values, standardize the formatting, and create a workflow to prevent future mismatches. System-level fixes prevent recurrence; record-level fixes are temporary.
Step 4: Check the integration user permissions
If you're seeing "Insufficient access" errors, verify that the Salesforce integration user has the correct profile, permission sets, and field-level security settings. This is one of the most common post-setup issues, especially after Salesforce admin changes that inadvertently restrict the integration user's access.
Step 5: Review recent changes in both systems
Sync errors often appear after someone modifies a field, adds a validation rule, or changes a workflow in one system without considering the impact on the integration. Ask: "What changed in the last 48 hours?" before assuming the integration itself is broken.
Step 6: Monitor API call usage
If syncs are slowing down or timing out, check API call allocation in the Salesforce sync health tab. You may need to adjust how many calls are allocated to HubSpot, reduce bulk update frequency, or optimize which records are included in the sync.
Should You Use the Native Integration or a Third-Party Sync Tool?
This depends on the complexity of your data model, the volume of records you're syncing, and how much control you need over the sync logic.
When the native integration is sufficient
The HubSpot native Salesforce connector works well for organizations with straightforward needs: standard object sync (contacts, companies, deals), fewer than 100,000 records, standard field mappings, and minimal custom objects. It's included in HubSpot Professional and Enterprise plans at no additional cost and is relatively easy to set up.
When you need a third-party tool
Consider a third-party integration platform when:
- You need to sync custom objects between HubSpot and Salesforce (the native connector has limited custom object support)
- You require real-time sync rather than the native connector's near-real-time cadence
- Your Salesforce instance is heavily customized with complex validation rules, Apex triggers, or record types that the native connector can't navigate
- You're syncing high volumes (100,000+ records) and need better performance optimization
- You need advanced matching logic for deduplication across the Lead/Contact divide
Popular third-party options
|
Tool |
Best For |
Key Strength |
|
Insycle |
Data quality + deduplication |
Advanced matching logic, bulk merge, picklist standardization |
|
Stacksync |
Real-time bi-directional sync |
Sub-second sync speed, custom object support |
|
Workato / MuleSoft |
Enterprise-grade middleware |
Complex multi-system orchestration, API management |
|
Dedupely |
Simple deduplication |
HubSpot-native, easy to configure, bulk merge |
|
Koalify |
Real-time duplicate prevention |
Catches duplicates at creation time, not after the fact |
The honest answer
Most mid-market B2B companies with a standard HubSpot-Salesforce setup should start with the native integration and only add third-party tooling when they hit specific limitations. Jumping to middleware too early adds cost and complexity that may not be warranted. But if you're experiencing chronic sync issues with the native connector, a third-party platform often resolves them more reliably than endless native connector troubleshooting.
How Do You Maintain Integration Health Over Time?
Setting up the integration correctly is step one. Keeping it healthy requires ongoing attention because both platforms evolve, your data changes, and your business processes shift.
Assign an integration owner
Someone needs to own the HubSpot-Salesforce integration, monitoring sync health, resolving errors, and ensuring that changes in either system don't break the connection. This is typically a marketing ops, RevOps, or HubSpot admin role. If nobody owns it, errors accumulate silently until the data divergence becomes a crisis.
Check sync health weekly
Make it a habit: every Monday morning, check the sync health dashboard in HubSpot. Review error counts, resolve new issues, and confirm that records are flowing as expected. A 10-minute weekly check prevents small problems from becoming big ones.
Coordinate changes across platforms
Before any team adds a new required field in Salesforce, changes a picklist value, modifies a validation rule, or updates a workflow — they should notify the integration owner. Many sync failures are caused by unilateral changes in one system that create incompatibilities in the other.
Re-audit quarterly
Every quarter, conduct a focused integration audit: verify that all field mappings are still accurate, confirm that inclusion lists reflect current qualification criteria, review API call usage patterns, and check for any new sync errors that have emerged since the last review.
Document and update
Keep your integration documentation current. Every mapping change, every new field addition, every inclusion list update should be reflected in the document. When someone new joins the ops team, this document is their onboarding guide to understanding how the two systems connect.
Frequently Asked Questions
How long does it take to set up a HubSpot-Salesforce integration?
For a basic setup with standard objects and straightforward field mapping, the initial configuration takes 1–3 hours. However, proper setup, including data cleanup, intentional field mapping, inclusion list design, testing, and documentation, typically takes 1–3 weeks. Complex setups involving custom objects, multi-region configurations, or heavy Salesforce customization can take 3–6 weeks with the involvement of a Salesforce admin and a HubSpot integration specialist.
Can I sync custom objects between HubSpot and Salesforce?
The native HubSpot-Salesforce connector has limited support for custom objects. If custom objects are central to your Salesforce data architecture (e.g., subscriptions, contracts, product configurations), you'll likely need a third-party integration platform or custom API work to sync them reliably. HubSpot has been expanding custom object support, but the native connector still prioritizes standard objects.
What should be my system of record, HubSpot or Salesforce?
The most common approach for B2B companies running both platforms: HubSpot is the system of record for marketing data (campaigns, lead source, engagement data, content interactions) and Salesforce is the system of record for sales data (deals, pipeline, revenue, account ownership). For shared fields like lifecycle stage and contact information, define one system as the authority and set sync rules accordingly. The worst configuration is bi-directional sync on every field with no clear ownership, that's how conflicting data proliferates.
Why do sync errors spike after Salesforce admin changes?
Salesforce admin changes, password resets, role modifications, profile updates, new validation rules, or Apex trigger changes, frequently affect the integration user's permissions or the data model the integration relies on. The most common scenario: a Salesforce admin adds a required field to a page layout without notifying the HubSpot team. Suddenly, records can't be created in Salesforce because HubSpot isn't sending the newly required data. Prevention is simple: ensure the integration owner is notified before any Salesforce schema changes are deployed.
How do I know if my sync issues need professional help vs. DIY troubleshooting?
If your sync errors are limited to a few records with clear error messages (picklist mismatches, missing fields), you can usually resolve them yourself using HubSpot's sync health dashboard and the guidance in this article. If you're dealing with chronic duplicate proliferation, data inconsistencies that affect reporting accuracy, or complex errors tied to Salesforce customization (Apex triggers, custom objects, record types), a specialist who understands both platforms' data models will resolve the issues significantly faster and more permanently than trial-and-error troubleshooting.
Your Integration Is Only as Good as Its Architecture
The HubSpot-Salesforce integration isn't a "set it and forget it" project. It's a living connection between two complex systems that both evolve over time. When it works well, your marketing and sales teams operate from a shared set of data, handoffs are seamless, and reporting reflects reality — which is what makes it possible to prove marketing ROI to leadership with confidence.
The fix isn't more technology. It's better architecture: clean data going in, intentional field mapping, clear system-of-record decisions, and someone who owns the integration health as part of their ongoing responsibility.
Dealing with sync issues you can't resolve? Book a free discovery call and I'll review your integration setup, field mappings, sync errors, inclusion lists, and data flow, to identify what's breaking and build a plan to fix it. HubSpot-Salesforce integration management is one of the most common and highest-impact projects I take on with clients.
Anna Connolly is a HubSpot Solutions Consultant and marketing operations strategist with 9+ years of experience helping B2B marketing and RevOps teams fix broken CRM systems, clean up messy data, and build automation that scales. Learn more →