HubSpot and Shopify serve different functions in an ecommerce operation. Shopify owns the transaction: the product catalogue, the order, the cart, the checkout, and the payment. HubSpot owns the relationship: the contact record, the marketing history, the CRM pipeline, and the attribution data that connects marketing spend to revenue.
The native HubSpot Shopify integration connects these two systems - syncing customers, orders, products, and abandoned carts from Shopify to HubSpot - but it does so with specific limits that the official documentation describes incompletely. Refunds do not sync. Fulfillment events do not update after initial order creation. Metafields are not mapped. Product variants do not become separate records. Understanding these gaps before building a marketing strategy on top of the integration prevents the frustration of discovering them mid-campaign.
This guide covers the full integration: what actually syncs, what does not, how to set it up, what automation is possible with the synced data, and the ownership question that every team running both platforms must answer - which email automation belongs in HubSpot and which belongs in a dedicated ecommerce platform like Klaviyo. For the ecommerce automation context, see our ecommerce marketing automation guide 2026.
What the Native HubSpot–Shopify Integration Does
HubSpot's native Shopify integration is available from the HubSpot App Marketplace and is included at no additional cost with Marketing Hub Starter and above. It syncs four primary Shopify object types to HubSpot - Customers, Orders, Products, and Abandoned Checkouts - creating or updating corresponding HubSpot objects when Shopify events occur. (Source: HubSpot Knowledge Base - Shopify integration overview: knowledge.hubspot.com/integrations/shopify-integration-overview)
The sync is primarily unidirectional: Shopify is the source of truth for ecommerce data, and HubSpot receives it. Limited write-back (updating customer records in Shopify when HubSpot contact data changes) exists in some configurations but is not a core feature of the native integration.
The commercial case for the integration: it gives HubSpot's marketing automation and CRM tools access to Shopify's transactional data without manual export. A contact's total order count, total lifetime spend, last order date, and abandoned cart status become available as HubSpot contact properties - enabling segmentation, lead scoring, and workflow automation based on purchase behaviour.
Sync Reality Matrix: Objects, Directions, and Gaps
The table below documents what syncs, in which direction, and what is absent from the native integration. This is the reference to consult before designing any automation that depends on Shopify data in HubSpot.
Sync behaviour verified against HubSpot's Shopify integration documentation, mid-2026. HubSpot updates integration capability periodically - verify at knowledge.hubspot.com/integrations/shopify-integration-overview before implementation.
Setup Steps: Connecting Shopify to HubSpot
Prerequisites
Before beginning the connection:
- A HubSpot portal on Marketing Hub Starter or above (the Shopify integration is not available on the free CRM tier)
- A Shopify store on any paid Shopify plan
- Super Admin access in HubSpot and Owner or Admin access in Shopify
- An understanding of how existing HubSpot contacts will be matched to Shopify customers - the integration matches on email address; contacts with mismatched emails will create duplicates
Step 1: Install the HubSpot App in Shopify
- In HubSpot, go to the App Marketplace (top navigation > Marketplace > App Marketplace).
- Search for 'Shopify' and select the official HubSpot for Shopify app.
- Click Install App. You will be redirected to Shopify's authorization screen.
- In Shopify, confirm the connection. You will be redirected back to HubSpot to complete configuration.
Step 2: Configure Sync Settings
After the initial connection, HubSpot prompts you to configure which Shopify objects to sync and how they map to HubSpot:
- Customer sync: Enable to sync Shopify customers as HubSpot contacts. Choose whether to sync existing historical customers at first connection or only new customers going forward. For most teams, syncing existing customers immediately is correct - it populates order history data that enables segmentation from day one.
- Order sync: Enable to sync orders as HubSpot deals. Orders are mapped to a dedicated Shopify pipeline in HubSpot's deal tool - separate from the sales pipeline, which prevents ecommerce transactions from cluttering the sales team's pipeline view.
- Product sync: Enable to sync Shopify products to HubSpot's Product Library. Products can then be associated with deals in HubSpot and used in email tokens.
- Abandoned checkout sync: Enable to sync abandoned carts as deals with a specific abandoned cart stage. This is the trigger for abandoned cart recovery workflows.
Step 3: Configure Consent Handling
The consent configuration step is the most compliance-critical part of the setup. Shopify customers who opt into marketing (the 'Email marketing' checkbox at checkout) should be synced to HubSpot as subscribed contacts. Customers who do not opt in should be synced as contacts but with an unsubscribed or non-marketing status.
In HubSpot's Shopify sync settings, configure the mapping from Shopify's 'Accepts Marketing' field to HubSpot's email subscription status:
- Shopify Accepts Marketing = true: Set HubSpot email subscription status to 'Subscribed' - these contacts can receive marketing email.
- Shopify Accepts Marketing = false: Set HubSpot email subscription status to 'Not subscribed' or 'Unsubscribed' - do not market to these contacts via email.
This mapping is not automatic - it requires explicit configuration in the sync settings. Teams that skip this step risk sending marketing email to contacts who did not opt in, which is a GDPR and TCPA compliance violation.
Step 4: Map Properties and Test
Review the default property mappings in HubSpot's sync settings. Key properties to verify are mapping correctly:
- Customer email → Contact Email
- Customer first and last name → Contact First Name, Last Name
- Shopify total spent → Contact property 'Total Revenue'
- Shopify orders count → Contact property 'Number of Orders'
- Shopify last order date → Contact property 'Last Purchase Date'
Place a test order in Shopify (or use a Shopify development store) and verify that the contact, deal, and product records appear in HubSpot within the expected sync window. The native integration syncs in near-real time for new events; historical sync for large catalogues and order histories may take several hours.
Shopify Product Variants and Line Items: Understanding the Limits
Product variants are one of the most commonly misunderstood aspects of the HubSpot–Shopify sync. In Shopify, a product can have multiple variants (size, colour, material) - each with its own SKU, price, and inventory. In HubSpot's Product Library, the native integration syncs the parent product but not variants as separate records.
The practical implication: if a customer orders 'Blue T-Shirt (L)', the HubSpot deal shows the product as 'T-Shirt' with the order value, but does not expose the colour or size variant as a distinct product record. For teams that need variant-level data in HubSpot - for product-specific segmentation, personalised email content featuring the exact product purchased, or variant-level revenue reporting - a custom integration via the HubSpot API or an iPaaS tool (Zapier, Make, Celigo) is required.
Order line items - the specific products in a given order - are captured in HubSpot at the deal level but are not individually queryable as separate records in standard workflow triggers. Workflows can trigger on deal value (total order amount) and deal properties, but not on 'contact purchased product SKU X' without custom integration. For teams whose automation depends on specific product purchase signals, see our HubSpot API guide 2026 for the custom integration patterns that enable this.
What Does Not Sync: The Gaps That Matter
Refunds
Refunds are not synced from Shopify to HubSpot by the native integration. A contact who placed a $200 order and then fully refunded it will show a $200 order in HubSpot's deal record and $200 in their total spend property - with no indication that the refund occurred. For teams using HubSpot's deal values and contact spend properties to segment customers or calculate LTV, this is a meaningful data quality issue.
Workarounds: track refunds in a custom HubSpot contact property updated via a Zapier or Make flow that triggers on Shopify refund events, or exclude HubSpot's order-derived properties from LTV calculations and use Shopify's own analytics for financial reporting.
Fulfillment Events and Tracking Numbers
When an order is created in Shopify and syncs to HubSpot as a deal, the deal is created with the order's status at the time of sync. Subsequent fulfillment events - the order being picked, packed, shipped, and delivered - do not automatically update the HubSpot deal record. A deal created at order placement will show 'Unfulfilled' status even after the package has been delivered.
For most HubSpot marketing use cases, this is not a problem - the relevant signal for post-purchase workflows is 'order placed' not 'order delivered.' For teams who want to trigger post-purchase emails specifically after confirmed delivery (to maximise review collection timing, for example), the fulfillment sync gap requires a custom Shopify webhook → HubSpot API integration.
Metafields
Shopify metafields - custom fields added to products, customers, or orders - are not synced by the native HubSpot integration. This is a significant gap for stores that have invested in a rich metafield architecture: custom customer attributes ('preferred store', 'loyalty tier', 'subscription preference') and product attributes ('material', 'made in', 'care instructions') are invisible in HubSpot.
Metafield sync requires a custom integration using the Shopify Admin API to read metafield values and the HubSpot API to write them to corresponding custom contact or deal properties. See our HubSpot API guide 2026 for the API integration patterns. Alternatively, some iPaaS platforms (Celigo, Paragon) offer pre-built Shopify–HubSpot connectors that include metafield mapping.
Marketing and Workflow Automation After Sync
Once the sync is live and historical data has populated, HubSpot's Shopify-synced contact properties become the trigger data for ecommerce-specific automation. The following workflow recipes are the highest-ROI applications of Shopify data in HubSpot. For the full workflow design framework, see our HubSpot workflows guide 2026.
Segmenting the Shopify Customer Base in HubSpot
With Shopify data synced, HubSpot's contact lists can segment the customer base with commercial precision:
- First-time buyers: Number of Orders = 1 - the segment with the highest potential for a second purchase, most sensitive to post-purchase experience quality.
- Repeat buyers: Number of Orders ≥ 2 - already proven customers; the audience for loyalty, VIP, and cross-sell programmes.
- High-LTV customers: Total Spend above a defined threshold - the 20% of customers who typically generate 60–80% of revenue; the audience most worth protecting from churn.
- Lapsed customers: Last Purchase Date more than 90 days ago AND Number of Orders ≥ 1 - the re-engagement target audience.
- Abandoned cart contacts: Associated with an open Abandoned Cart deal - the highest-intent segment available; the first audience to target after sync is live.
HubSpot vs Klaviyo: Email Ownership for Shopify Brands
For Shopify brands that already use Klaviyo (or are evaluating it), the HubSpot–Klaviyo split is one of the most practically important decisions in the stack. Both platforms can send email to Shopify customers. They do not serve the same purpose, and running both without clear ownership creates duplicate sends, conflicting messaging, and attribution confusion.
The cleanest model for most Shopify brands using both platforms:
Klaviyo owns ecommerce-native flows: abandoned cart, welcome series, post-purchase, browse abandonment, win-back, and product-triggered sequences. These flows depend on real-time Shopify event data, product catalogue integration, and revenue attribution per flow - all areas where Klaviyo's native Shopify integration is stronger than HubSpot's.
HubSpot owns CRM-enriched communication: B2B customer relationships, VIP or wholesale account management, sales rep-to-customer follow-up via Sequences, attribution reporting across all marketing channels, and any segmentation that depends on CRM properties (customer support history, sales pipeline stage, custom account attributes) rather than ecommerce transaction data.
The overlap - post-purchase nurture, re-engagement - should be assigned to one platform and suppressed in the other. Running the same re-engagement sequence in both HubSpot and Klaviyo sends two emails to the same customer and splits attribution data, making it impossible to measure which platform is actually working. See our Klaviyo alternatives guide for a detailed comparison of Klaviyo vs HubSpot for ecommerce email.
Custom and iPaaS Integration Options
The native HubSpot–Shopify integration covers the most common use cases. When the gaps described above - refunds, metafields, variants, fulfillment events - are material to the marketing or operations workflow, custom or third-party integration options fill them:
- HubSpot API + Shopify Webhooks (custom): The most flexible approach. Shopify webhooks fire on specific events (refund created, fulfillment updated, order edited, metafield updated) and POST the event data to a backend that calls the HubSpot API to update the corresponding contact or deal record. Requires developer resource but provides full control over what syncs and how. See our HubSpot API guide 2026 for the integration patterns.
- Zapier or Make: No-code middleware that connects Shopify trigger events to HubSpot API actions without custom code. Suitable for lower-volume scenarios (under 1,000 events per day) and for filling specific gaps - syncing refunds, updating fulfillment status - without a full custom integration. Limited by Zapier plan task limits and execution speed at high volume.
- Celigo: A dedicated integration platform with pre-built HubSpot–Shopify connectors that handle higher volume, more complex mapping, and better error management than Zapier. Celigo's Shopify connector is one of the most comprehensive in the market for teams that need variant-level sync, metafield mapping, and refund tracking without building a custom integration.
- Paragon or Alloy: Integration platforms designed specifically for SaaS and ecommerce stack connectivity, with pre-built Shopify–HubSpot flows and a lower technical barrier than custom API integration. Useful for teams without dedicated engineering but with specific data requirements beyond what Zapier handles reliably.
Work with Belt Creative
Belt Creative implements HubSpot for ecommerce and B2B teams that need their Shopify store, CRM, and marketing automation connected correctly - sync configuration, consent mapping, workflow design, and attribution setup included. If you are connecting Shopify to HubSpot for the first time or need to fill gaps in an existing integration, we can help.
See our work, or get in touch to discuss your integration requirements.
A Note on Sources
HubSpot Knowledge Base - Shopify integration overview: knowledge.hubspot.com/integrations/shopify-integration-overview. HubSpot Knowledge Base - Shopify data sync: knowledge.hubspot.com/integrations/what-data-syncs-in-the-shopify-integration. All sync behaviour, object mappings, and configuration steps verified against official HubSpot documentation, mid-2026. HubSpot updates integration capability periodically - verify at knowledge.hubspot.com before implementation.
Frequently Asked Questions
Does the HubSpot–Shopify Integration Sync in Both Directions?
Primarily no. Shopify is the source of truth for ecommerce data - customers, orders, products, and abandoned checkouts sync from Shopify to HubSpot. Limited write-back exists (some contact property updates can write back to Shopify customer records), but HubSpot marketing properties, lifecycle stages, and custom properties do not write back to Shopify. Think of it as Shopify pushing data to HubSpot, not a true bidirectional sync.
Does Refund Data Sync from Shopify to HubSpot?
No. Refunds are not synced by the native integration. A contact's total spend in HubSpot reflects gross order value, not net-of-refunds spend. For teams using spend-based segmentation or LTV calculations in HubSpot, this is a meaningful limitation - either track refunds via a custom integration or exclude HubSpot's spend properties from financial reporting and use Shopify's own analytics instead.
Can I Use HubSpot for Abandoned Cart Emails Instead of Klaviyo?
Yes, technically - abandoned checkout data syncs to HubSpot as deals, and workflows can trigger on these deals to send recovery emails. However, HubSpot's abandoned cart emails lack the product catalogue integration that Klaviyo provides natively - showing the specific product images, names, and prices from the abandoned cart in the email requires custom token infrastructure and more setup work. For simple abandoned cart emails (total value, link to checkout), HubSpot workflows work. For product-image-rich, personalised cart recovery emails, Klaviyo is significantly easier to configure.
Do Shopify Product Variants Sync as Separate Records in HubSpot?
No. The native integration syncs the parent product to HubSpot's Product Library but does not create separate records for variants (e.g., size S, M, L of the same t-shirt). If variant-level data is needed in HubSpot - for personalisation, product-specific segmentation, or variant-level revenue reporting - a custom integration via the HubSpot and Shopify APIs, or a third-party connector like Celigo, is required.
What Happens to Shopify Customers Who Did Not Opt in to Marketing?
They sync to HubSpot as contacts but with an unsubscribed or non-marketing email status - they should not receive marketing emails. The consent mapping (Shopify 'Accepts Marketing' field → HubSpot email subscription status) must be explicitly configured in the sync settings. If this mapping is not configured, all synced contacts may appear as 'subscribed' regardless of their actual consent status, which is a GDPR/TCPA compliance risk.
How Does HubSpot Attribute Revenue to Marketing for Shopify Orders?
HubSpot attributes revenue to marketing touchpoints by connecting contact records (which carry the email click and page visit history) to deal records (which carry the order value). When a deal closes (order placed) for a contact who has prior marketing interactions logged in HubSpot, those interactions appear in the deal's attribution report. Multi-touch attribution (available in Marketing Hub Professional) shows which email, ad, or content piece influenced the order, weighted across all touchpoints.
Can I Segment Shopify Customers by Purchase Behaviour in HubSpot?
Yes. Once the sync is live, HubSpot contact properties like 'Number of Orders', 'Total Revenue', 'Last Purchase Date', and 'Shopify Customer Tag' (where synced) are available for list segmentation and workflow triggers. You can build active lists for first-time buyers (Number of Orders = 1), high-LTV customers (Total Revenue above threshold), lapsed buyers (Last Purchase Date over 90 days ago), and abandoned cart contacts (associated open abandoned cart deal).
Sources: knowledge.hubspot.com/integrations/shopify-integration-overview; knowledge.hubspot.com/integrations/what-data-syncs-in-the-shopify-integration. All data verified mid-2026.