Quick answer: A green "On" status on HubSpot's Shopify sync only confirms the connection is active - not that your data is syncing. Check the In Sync, Failing, and Excluded columns on the CRM syncs dashboard for the real picture.
Most teams install HubSpot's native Shopify integration once, watch the toggle flip to "On," and never open the CRM syncs dashboard again. That's a reasonable assumption to make - the setup takes minutes, HubSpot handles the field mapping, and the connection genuinely does work. Right up until it doesn't - and by the time someone notices the sync isn't working the way it should, the backlog is already enormous.
We recently audited a HubSpot portal for a mid-sized e-commerce brand running exactly this setup: native HubSpot-Shopify Data Sync, default field mappings, no custom development. Every sync object showed a green status. On paper, everything was syncing. When we opened the CRM syncs tab and looked at the actual numbers, the picture looked very different. It's the same pattern we've seen play out with HubSpot's Prospecting Agent recommending the wrong leads and with dashboards that show the wrong numbers - a green light on the surface, and a data problem underneath it.
What Does "On" Actually Mean on the HubSpot-Shopify Sync Dashboard?
HubSpot's Shopify integration connects through Settings > Integrations > Connected Apps > Shopify, under the CRM syncs tab. Each object you sync - Contacts, Companies, Products, Orders, Carts - gets its own status: On, Off, or a paused/error state. That status answers exactly one question: is the connection itself active. It does not tell you what percentage of your records are actually making it across.
For that, you need the Object view, which breaks every synced object into three columns:
- In Sync - records currently matched and updating correctly between Shopify and HubSpot.
- Failing - records HubSpot is actively trying to sync but can't, usually due to a sync error on that specific record.
- Excluded - records that never enter the sync at all, either because they don't match your filter criteria, or because they lack a unique identifier the matching key depends on.
A status of "On" is fully compatible with a Failing count in the thousands and an Excluded count in the hundreds of thousands. The toggle and the health of the data are two separate things, and HubSpot's own interface doesn't surface that distinction anywhere near the on/off switch - you have to know to go looking for it. HubSpot's own documentation on how data sync works confirms this: Excluded records are simply the ones the index couldn't match, and there's no alert that tells you the count has grown.

Default field mappings for Contact sync - the configuration screen most teams never revisit after initial setup.
What Did the Audit Actually Find?
Here's what the Object view showed across the four synced objects, at the time of the audit:
Product sync was switched off entirely. Someone had turned it off - likely after a matching-key conflict during setup - and it had stayed off long enough that nobody remembered it was disabled.
Contact sync looked healthy at a glance, but the Excluded column told a different story. 4,811 contacts were syncing cleanly. But 845,904 records - customers created in Shopify over years of trading - were sitting in Excluded, almost certainly because they were missing an email address or had one that didn't normalize cleanly against an existing HubSpot record.
Order sync was the real problem. Only 322 orders were successfully in sync, against 8,712 actively failing and 496,420 excluded. For a store processing meaningful order volume, that's not a rounding error - it's most of the sales team's pipeline visibility simply not existing in HubSpot.
Cart sync had a quieter version of the same issue. Zero carts were in sync or failing - every single one of the 6,862 recovered checkouts had landed in Excluded, which pointed to a matching key setting that had never been deliberately chosen.

The CRM syncs Object view, showing the four synced objects and their real In Sync / Failing / Excluded counts.
Why Does Order Sync Break Down First - and Hardest?
Order sync is where the native integration's built-in limitations show up fastest at scale, for a few structural reasons:
- It's strictly one-way. Shopify orders sync into HubSpot, but HubSpot can't write back - so any correction has to happen at the source, in Shopify, and wait for the next sync cycle.
- It doesn't deduplicate. If a batch of orders is re-imported or a filter is adjusted after records already exist in HubSpot, the sync can create a second record instead of updating the first.
- Guest checkouts create orphaned records. An order placed without an associated email address syncs into HubSpot as an order with no linked contact - technically "in sync," but disconnected from the customer record a sales rep would actually look at.
- Matching relies on exact, normalized fields. Small formatting differences between how a name or identifier appears in Shopify versus HubSpot are enough to push a record into Excluded rather than matching it to what's already there.

Record matching configuration for Contact sync - matching on email address is what determines whether a Shopify customer and a HubSpot contact are recognized as the same person.
None of this is a bug. It's the tradeoff of a connector built for five-minute setup and zero maintenance - HubSpot's own Shopify data sync setup guide confirms that order sync doesn't automatically identify or merge duplicates, and that re-importing records can create a second one instead of updating the first. It optimizes for getting most stores running quickly, not for surfacing the edge cases that accumulate once a store has years of order history, real-world messiness in its customer data, and - on the cart side - abandoned checkouts that Shopify itself defines loosely enough to make clean matching genuinely difficult.
How Do You Read Your Own Sync Health?
You don't need an audit to get a first read on this. Five minutes in the CRM syncs tab will tell you most of what you need to know:
How Loncom Approaches a HubSpot-Shopify Sync Audit
A sync audit starts in the same place we'd recommend to anyone reading this: the Object view, object by object, cross-referenced against real order and customer volume in Shopify admin. From there, the Excluded and Failing exports usually make the root cause obvious within an hour, not a week.
The harder decision is what to do about it. Sometimes the fix is a genuinely small configuration change - a filter, a matching key, an email requirement. Other times, the volume of edge cases (multi-year order history, guest checkout patterns, B2B wholesale orders that need to land on Companies rather than Contacts) makes it clear the native connector has reached the ceiling of what it was built to handle, and a custom HubSpot CRM integration is the more durable answer - the same audit-first approach behind our Dentally-to-HubSpot sync engine and the work we do resolving CRM-to-NetSuite data mismatches.
"A green status light tells you the connection is alive. It doesn't tell you whether the data behind it is complete, accurate, or even arriving at all - and that gap is exactly where most HubSpot-Shopify integrations quietly fail," Stefan Loncar, CEO of Loncom Consulting, says.
Curious What a Healthy Sync Actually Looks Like?
Explore HubSpot CRM DashboardsIn Short
- A green "On" status on the HubSpot-Shopify sync dashboard only confirms the connection is active - it says nothing about data health.
- Real data health lives in the CRM syncs Object view: the In Sync, Failing, and Excluded columns for each object.
- Order sync breaks down first at scale because it's one-way, doesn't deduplicate, and can't link guest checkouts without an email address.
- A five-minute check of your own Object view against real Shopify order volume will tell you if the same pattern applies to your store.
Not Sure What Your Own Sync Numbers Are Hiding?
Book a Free ConsultationFAQ
What does "On" mean on the HubSpot-Shopify sync dashboard?
It means the connection between the two platforms is active - HubSpot is actively listening for changes and attempting to sync records. It does not mean every record is successfully syncing. The actual data health lives in the In Sync, Failing, and Excluded columns under the CRM syncs Object view, not in the on/off toggle itself.
What's the most common reason HubSpot-Shopify order sync fails at scale?
If you're seeing Shopify orders not syncing to HubSpot at scale, guest checkouts without an email address and re-imported order batches that create duplicates are the two most frequent causes. Both stem from the native integration's design: it doesn't deduplicate automatically, and it can't link an order to a contact record if there's no email to match on. In one audit we ran, this meant only 322 of the store's orders were actually in sync, while 8,712 were failing - a 27x gap between what looked connected and what actually was.
How can I tell if my HubSpot-Shopify sync is actually healthy?
Open Settings > Integrations > Connected Apps > Shopify > CRM syncs > Object view, and compare the In Sync count for each object against your real record volume in Shopify. A large Failing or Excluded number relative to In Sync is the clearest sign that the connection is active but the data isn't fully flowing.
Does this only affect high-volume stores?
The underlying limitations - one-way order sync, no automatic deduplication, exact-match matching keys - apply to any store size. They simply take longer to accumulate into a visible problem for a smaller catalogue and order volume. A store with a few years of history and any guest checkout activity can hit the same pattern well before reaching enterprise scale.
Can Loncom help audit or fix a HubSpot-Shopify integration?
Yes. We audit existing HubSpot-Shopify setups - native or custom - to find where records are failing or being excluded, and build the fix that fits: a configuration correction, or a purpose-built sync layer when the native connector has reached its limits.
Share:
Leave a comment