Why Your HubSpot-Salesforce Integration Is Lying to You

Your sync is running but is it working? Learn the 6 ways the HubSpot-Salesforce integration silently breaks and what to fix before it costs you pipeline.

Why your HubSpot-Salesforce integration is lying to you

Here's the thing about a broken HubSpot-Salesforce integration: it rarely announces itself.

Your sync is technically running. Records are moving between systems. Marketing is sending campaigns. Sales is logging activity. Leadership is getting reports.

The problem is the reports are wrong. The campaigns are firing on bad data. And the MQL your marketing team flagged as high priority has been sitting in a sync queue for six hours while the prospect goes cold.

You don't find out until someone pulls the thread. A rep says "I had no idea marketing had already emailed this account three times." A VP asks why the pipeline numbers in HubSpot and Salesforce don't match. That's when you realize: the integration has been lying to you for a while.

Not sure if your HubSpot-Salesforce integration is actually working?

BOOK A DISCOVERY CALL

The native integration is not an integration strategy

The native HubSpot-Salesforce connector is a sync tool. A good one for basic use cases. But most companies running both systems have custom fields, complex workflows, and automation running in both places simultaneously,  and the native connector wasn't designed to handle that without deliberate configuration.

Most teams turn it on, map the obvious fields, and assume the rest will sort itself out. It doesn't. Here's specifically where it goes wrong.

Still running both HubSpot and Salesforce but not sure they're actually working together?

Failure #1: The two systems don't think about people the same way

HubSpot has one record for a person: a Contact, associated with a Company.

Salesforce has two: a Lead and a Contact. A Lead is a pre-conversion record with no company attached. Once converted, it becomes a Contact tied to an Account, and the original Lead is retired.

When you connect these systems without deciding how to handle this upfront, the same person can exist in Salesforce as an incomplete Lead with no company, an orphaned Contact with no Account, or both. Multiply that by thousands of contacts and your sales team is working from broken records while your marketing team wonders why their company data isn't showing up.

The fix is a decision, not a technical one: how does your organization want to handle Leads vs. Contacts in Salesforce, and how does that map to how HubSpot creates records? That decision has to be made before the integration is configured.

Failure #2: Sync rules set to the wrong default

The native integration gives you three options for how fields sync: always use Salesforce, always use HubSpot, or two-way where the most recent value wins.

Two-way sounds right. In practice, it means whichever system wrote to a field last wins,  regardless of whether that write was correct.

A real example: a Salesforce admin marks a contact as "Customer" after a deal closes. Meanwhile, a HubSpot workflow re-enrolls that contact in a nurture sequence and resets their status back to "Lead." Two-way sync fires. Salesforce now shows a paying customer as a Lead. Marketing keeps nurturing someone who already bought. No error message. The data just changes, and nobody knows why.

The right answer is deliberate field-level ownership: some fields should always be controlled by Salesforce, some by HubSpot, and some shouldn't sync at all.

Failure #3: Salesforce's data rules are silently blocking your sync

Salesforce lets admins set rules that reject records missing required information,  for example, every Lead must have a Lead Source, or a disqualified lead must include a reason. These rules are useful. The problem is when HubSpot tries to sync a record that doesn't meet them, the sync fails quietly.

No alert. No notification. The record sits in HubSpot getting nurtured, invisible to your sales team in Salesforce, while your pipeline numbers silently diverge between the two systems.

This is one of the most common reasons HubSpot and Salesforce show different numbers. It's not a reporting problem. It's records that never made it across because of rules nobody reconciled when the integration was set up.

Failure #4: The same person exists as multiple records in both systems

HubSpot identifies duplicates by email address. Salesforce can match on email, name, phone, or custom logic. When the two systems don't agree, the same person ends up as multiple records, one from a HubSpot form, one entered manually by a rep, one from a list import.

The integration doesn't merge these. It syncs all of them, potentially creating new duplicates in the process.

Now your rep is calling the same prospect twice. Your attribution data is split across three records. Your lead score is calculated on partial information. Deduplication isn't a one-time cleanup,  it requires a defined strategy for how duplicates are detected and resolved, enforced as an ongoing process.

Failure #5: Your sales team can't see what marketing is doing

When a contact opens an email, fills out a form, or visits your pricing page, that activity lives in HubSpot. For your sales team to have context before they call, that activity needs to surface in Salesforce on the right record.

The native integration has limits on what activity syncs and how. Marketing engagement data often stays in HubSpot while reps in Salesforce have no visibility into it. The result: reps call into accounts cold, not knowing marketing has been warming them up for months. Or they call right after a contact unsubscribed, because that signal didn't sync in time.

Failure #6: The sync isn't fast enough for time-sensitive decisions

The native connector runs on a cycle, not in real time. For most data, that's acceptable. For time-sensitive signals,  unsubscribes, demo requests, MQL triggers — it isn't.

A rep who calls a contact 20 minutes after they unsubscribed didn't make a mistake. The integration did. For high-priority signals, you may need webhooks or middleware to push data immediately rather than waiting for the next sync cycle. That's not a workaround, it's the right architecture for the use case.

What actually fixes it

All six failures share the same root cause: the integration was installed, not designed.

The companies that get this right make three decisions before touching a single configuration:

  • Who owns what. Every field that syncs needs a designated owner,  HubSpot or Salesforce. Without this, both systems fight over the same data and the most recent write wins, regardless of accuracy.
  • What can block the sync. Salesforce's data rules need to be audited against what HubSpot actually captures. If there's a gap, records will fail silently until someone notices the numbers don't add up.
  • How duplicates get resolved. Match criteria, master record logic, and what happens to duplicate records need to be defined before the integration creates its first conflict.

If you're not sure where your integration stands, start here: Does your sync error count surprise you? Do your pipeline numbers match between both systems? Can your sales team see marketing activity without switching tools? If any of those are broken, it's fixable, but it won't fix itself.

BOOK A CALL WITH A SPECIALIST

Get started with revblack today

Ready to see these results for your business?

Fill out form