CRM 9 min read

Shopify HubSpot Integration: Sync Ecommerce and CRM Data (2025)

Connect Shopify with HubSpot CRM for unified customer data, automated marketing, and better sales insights. Setup guide and best practices.

HubSpot’s CRM combined with Shopify creates a complete view of your customer relationships. This guide covers setup, use cases, and optimization strategies for the integration.

Shopify
integrates with
HubSpot
CRM 1
TOP PICK

HubSpot CRM

CRM Integration for Shopify
1
4 reviews
Price
Free plan available
Last Updated
2025-12-19

HubSpot 2025 Quick Stats

MetricData
Customer baseNearly 279,000 customers
Global footprint135+ countries
What most teams automateLead → customer sync, abandoned cart, lifecycle stages

Sources: HubSpot Investor Relations, HubSpot annual reports.

Why Integrate Shopify with HubSpot?

Most Shopify stores face a common problem: customer data lives in silos.

Data LocationInformationProblem
ShopifyOrders, transactionsLimited customer insights
Email toolCampaigns, opensNo purchase context
Support toolTickets, chatsNo revenue data
SpreadsheetsManual analysisAlways outdated

HubSpot integration solves this by creating unified customer records that combine:

  • Purchase history from Shopify
  • Email engagement from HubSpot
  • Support interactions
  • Website behavior
  • Sales team notes

Integration Options

HubSpot offers a native Shopify integration built and maintained by HubSpot.

Pros:

  • Free to use
  • Direct support from HubSpot
  • Real-time sync
  • Regularly updated

Cons:

  • Some features require paid HubSpot plans
  • Less customizable than third-party options

Option 2: Third-Party Connectors

AppBest ForPrice
UnificAdvanced sync, historical data$99-399/month
ZapierCustom workflows$20+/month
MakeComplex automation$9+/month

Option 3: Custom API Integration

For unique requirements, use Shopify and HubSpot APIs directly.

// Example: Sync Shopify order to HubSpot deal
const syncOrderToDeal = async (order) => {
  const hubspotDeal = {
    properties: {
      dealname: `Order #${order.order_number}`,
      amount: order.total_price,
      dealstage: 'closedwon',
      closedate: new Date(order.created_at).getTime(),
      pipeline: 'default'
    },
    associations: [{
      to: { id: customerId },
      types: [{ associationCategory: 'HUBSPOT_DEFINED', associationTypeId: 3 }]
    }]
  };

  return await hubspotClient.crm.deals.basicApi.create(hubspotDeal);
};

Step-by-Step Setup (Official Integration)

Step 1: Install from Shopify App Store

  1. Go to apps.shopify.com and search “HubSpot”
  2. Click the official HubSpot app in the Shopify App Store
  3. Click Add app and authorize permissions

Step 2: Connect HubSpot Account

  1. Sign in to your HubSpot account (or create one free)
  2. Select the HubSpot portal to connect
  3. Authorize Shopify access to HubSpot

Step 3: Configure Sync Settings

In HubSpot’s integration settings:

SettingRecommended ValuePurpose
Sync contactsEnabledCreate HubSpot contacts from Shopify customers
Sync productsEnabledProduct data for deal line items
Sync ordersEnabledCreate deals from orders
Historical syncEnabledImport past customers/orders

Step 4: Map Custom Properties

Create HubSpot properties for Shopify data:

Contact Properties:

  • Total Lifetime Value
  • Order Count
  • First Order Date
  • Last Order Date
  • Average Order Value

Deal Properties:

  • Shopify Order Number
  • Fulfillment Status
  • Discount Codes Used

Step 5: Verify Data Sync

Data Flow
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#e0f2fe', 'primaryTextColor': '#0369a1', 'primaryBorderColor': '#0369a1', 'lineColor': '#64748b', 'secondaryColor': '#f0fdf4', 'tertiaryColor': '#fef3c7'}}}%% graph LR A[Shopify Store] -->|Customer Data| B[Shopify] A -->|Order History| B B -->|Segments & Tags| C[HubSpot] C -->|Campaigns| D[Email/SMS] D -->|Engagement| A
Real-time sync Scheduled sync

After setup:

  1. Create a test order in Shopify
  2. Check HubSpot for new contact and deal
  3. Verify property values are correct
  4. Test historical import completed

Key Use Cases

1. Abandoned Cart Recovery

Set up automated emails for cart abandonment:

Trigger: Shopify cart abandoned (no order within 1 hour)
├── Wait 1 hour
├── Send Email 1: "You left something behind"
├── Wait 24 hours
├── If no purchase: Send Email 2: "Still interested?"
├── Wait 48 hours
└── If no purchase: Send Email 3: "Last chance + 10% off"

HubSpot advantage: Include customer service history, past purchases, and support ticket status in personalization.

2. Customer Segmentation

Create smart lists based on purchase behavior:

SegmentCriteriaMarketing Use
VIPsLifetime value > $1000Exclusive offers, early access
At-RiskLast order > 90 days, was regular buyerWin-back campaigns
New CustomersFirst order in last 30 daysOnboarding sequence
High Potential2+ orders, AOV > averageUpsell campaigns

3. Post-Purchase Automation

Trigger: Shopify order placed
├── Immediate: Update contact record with purchase data
├── Day 1: Order confirmation (Shopify handles)
├── Day 3: Request product review
├── Day 14: Cross-sell related products
├── Day 30: Satisfaction survey
└── Day 60: Replenishment reminder (if consumable)

4. Sales Team Enablement (B2B)

For wholesale or B2B Shopify stores:

  • Sales reps see customer order history in HubSpot
  • Deals created automatically from large orders
  • Tasks triggered for high-value customer actions
  • Quotes generated with Shopify pricing

Property Mapping Reference

Standard Mappings (Automatic)

Shopify FieldHubSpot PropertyObject
Customer emailEmailContact
First nameFirst nameContact
Last nameLast nameContact
Order totalDeal amountDeal
Order dateClose dateDeal
ProductsLine itemsDeal

Create these properties for better segmentation:

Contact Level:

shopify_total_spent (Currency)
shopify_order_count (Number)
shopify_first_order_date (Date)
shopify_last_order_date (Date)
shopify_average_order_value (Currency)
shopify_accepts_marketing (Boolean)
shopify_tags (Text)

Deal Level:

shopify_order_number (Text)
shopify_fulfillment_status (Dropdown)
shopify_payment_status (Dropdown)
shopify_discount_code (Text)
shopify_shipping_method (Text)

Workflows and Automation

Abandoned Cart Workflow

  1. In HubSpot, go to Automation > Workflows
  2. Create new workflow, trigger: “Cart abandoned”
  3. Add delay: 1 hour
  4. Add email action: abandoned cart template
  5. Add if/then branch: check if order placed
  6. Continue sequence or exit based on conversion

Customer Lifecycle Workflow

New Customer Journey:
Trigger: First order placed

Day 0: Welcome email + set lifecycle stage to "Customer"
Day 3: Product tips/how-to content
Day 7: Review request
Day 14: Related product recommendations
Day 30: Loyalty program invitation (if criteria met)

Win-Back Workflow

Trigger: Contact property "Days since last order" > 90
         AND "Lifetime value" > $200

Day 0: "We miss you" email
Day 7: Personalized product recommendations
Day 14: Exclusive offer (10-15% off)
Day 21: Final reminder with urgency
Day 28: Exit workflow (mark as churned if no action)

Reporting and Analytics

Essential Reports

Create these reports in HubSpot:

  1. Customer Acquisition by Source

    • Group by original traffic source
    • Metric: Customer count, total revenue
  2. Customer Lifetime Value Cohort

    • Group by first order month
    • Metric: Total revenue over time
  3. Email Campaign Revenue Attribution

    • Group by email campaign
    • Metric: Orders and revenue influenced
  4. Sales Pipeline from Ecommerce

    • Filter deals by source = Shopify
    • Track deal stages and close rates

Attribution Setup

For accurate revenue attribution:

  1. Enable HubSpot tracking code on Shopify
  2. Configure UTM parameters for campaigns
  3. Set up revenue attribution reporting
  4. Use HubSpot’s multi-touch attribution models

Common Issues and Solutions

Issue: Duplicate Contacts

Cause: Customer exists in both systems with slightly different data

Solution:

  1. HubSpot deduplicates by email address
  2. Run manual deduplication review monthly
  3. Set up import rules to merge on email match

Issue: Missing Historical Orders

Cause: Integration only syncs data after connection

Solution:

  1. Use historical sync option during setup
  2. If missing, disconnect and reconnect with historical enabled
  3. For very old data, use CSV import

Issue: Cart Abandonment Not Triggering

Cause: Timing or configuration issues

Solution:

  1. Verify checkout tracking is enabled
  2. Check workflow enrollment criteria
  3. Ensure email addresses are captured at cart stage

HubSpot vs. Klaviyo for Shopify

FeatureHubSpotKlaviyo
Best forFull CRM + marketingEcommerce email/SMS
Free tierYes (generous)Yes (limited)
Shopify integrationGoodExcellent (deeper)
Email automationStrongStrongest for ecommerce
CRM featuresFull CRM platformBasic contact management
Sales toolsYes (deals, pipeline)No
B2B featuresStrongWeak
Price (1,000 contacts)Free - $50/moFree - $30/mo
Price (50,000 contacts)$800+/mo$350+/mo

Choose HubSpot if: You need sales team tools, B2B features, or a unified CRM platform.

Choose Klaviyo if: Ecommerce email/SMS is your primary focus and you want the deepest Shopify integration.

2025 Snapshot

Quick benchmarks for the HubSpot workflow. Use these as planning ranges, then validate against your own data.

Data point20242025Why it matters
Data sync validation time30–60 min30–60 minPrevents duplicate contacts and broken pipelines
Lifecycle segmentation setup1–2 hours1–2 hoursImproves conversion targeting
Sales/marketing alignment cadenceWeeklyWeeklyKeeps pipelines and campaigns consistent
Time-to-first-report (typical)1 daySame-dayMeasures integration success quickly

Next Steps

After setting up Shopify-HubSpot integration:

  1. Build your first workflow - Start with abandoned cart recovery
  2. Create customer segments - VIP, at-risk, new customers
  3. Set up reporting - Track email campaign revenue
  4. Train your team - Ensure everyone uses the unified data

Shopify + HubSpot implementation checklist (2025)

This section adds practical “make it stable” steps you can use after you install the app/connector. It’s intentionally lightweight: the goal is fewer sync surprises, cleaner reporting, and easier troubleshooting.

1) Quick setup checklist

  • Permissions first: grant only the scopes you need (orders/customers/products as required) and document who owns the admin credentials.
  • Data mapping: confirm how email, phone, currency, and SKU are mapped between Shopify and HubSpot.
  • Historical import: decide how far back to import orders/customers (avoid importing years of data if you don’t need it).
  • Deduplication rules: pick one unique identifier per object (usually email for customers, order ID for orders) to prevent doubles.
  • Alerts: set a lightweight alert path (email/Slack) for failed syncs, auth expiry, and API rate limits.

2) Data you should verify after connecting

Most integration issues show up in the first hour if you test the right things. Use the table below as a QA checklist (create a test order if needed).

Data objectWhat to checkWhy it matters
CustomersEmail/phone format, marketing consent fields, duplicatesPrevents double messaging and broken segmentation
OrdersOrder total, tax, discount, shipping, currencyKeeps revenue reporting and automation triggers accurate
Line itemsSKU, variant ID, quantity, refunds/returns behaviorAvoids inventory and attribution mismatches
FulfillmentStatus changes + timestamps, tracking numbers, carrier fieldsDrives customer notifications and post-purchase flows
CatalogProduct titles, handles, images, collections/tagsEnsures personalization and reporting match your storefront

3) Automation ideas for CRM

  • Lead capture: new customer/signup → create/update contact in HubSpot with consent fields.
  • Lifecycle stages: first purchase → move contact to customer stage and start onboarding tasks in HubSpot.
  • Support handoff: high-value order → create a task/notification so reps can follow up in HubSpot.
  • Deal signals: repeat purchase or high cart value → trigger sales outreach for B2B accounts.
  • Dedupe rules: standardize email/phone formatting to prevent duplicate records across systems.

API sanity check (Shopify Admin API)

If your integration UI says “connected” but data isn’t flowing, a quick API call helps confirm whether the store is accessible and returning the objects you expect.

# List the 5 most recent orders (GraphQL)
curl -X POST "https://your-store.myshopify.com/admin/api/2025-01/graphql.json" \
  -H "X-Shopify-Access-Token: $SHOPIFY_ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d "{\"query\":\"{ orders(first: 5, sortKey: CREATED_AT, reverse: true) { edges { node { id name createdAt totalPriceSet { shopMoney { amount currencyCode } } customer { email } } } } }\"}"

Tip: keep tokens/keys in environment variables, and test in a staging store/site before rolling changes to production.

4) KPIs to monitor (so you catch problems early)

  • Sync freshness: how long it takes for a new order/customer event to appear in HubSpot.
  • Error rate: failed syncs per day (and which object types fail most).
  • Duplicates: number of merged/duplicate contacts or orders created by mapping mistakes.
  • Revenue parity: weekly spot-check that Shopify totals match downstream reporting (especially after refunds).
  • Attribution sanity: confirm that key events (purchase, refund, subscription) are tracked consistently.

5) A simple 30-day optimization plan

  1. Week 1: connect + map fields, then validate with 5–10 real orders/customers.
  2. Week 2: enable 1–2 automations and measure baseline KPIs (conversion, AOV, repeat rate).
  3. Week 3: tighten segmentation/rules (exclude recent buyers, add VIP thresholds, handle edge cases).
  4. Week 4: document the setup, create an “owner” checklist, and set a recurring monthly audit.

Related integration guides

Sources

CRM Integration Comparison

Compare key features across popular crm solutions

FeatureHubSpotPipedriveSalesforceZoho CRM
Free tierAvailable without paymentYesNoNoYes (3 users)
Contact syncCustomer data synchronizationYesYesYesYes
Order historyPurchase data in CRMYesYesYesYes
Abandoned cartCart recovery workflowsYesVia ZapierVia automationVia workflow
Custom fieldsCustom data mappingYesYesYesYes
Bi-directional syncTwo-way data flowLimitedLimitedYesYes

Data based on publicly available information as of February 2026. Features and pricing may vary.

Questions & Answers

Does HubSpot have a free Shopify integration?

Yes, HubSpot's native Shopify integration is free to use with any HubSpot plan, including the free CRM. Premium HubSpot features like advanced automation require paid Marketing Hub or Sales Hub subscriptions.

What data syncs between Shopify and HubSpot?

The integration syncs customer data, order history, products, abandoned carts, and cart totals. HubSpot creates deal records for orders and company records for B2B customers.

Can HubSpot send abandoned cart emails for Shopify?

Yes, with HubSpot Marketing Hub you can create automated abandoned cart email sequences triggered by Shopify cart abandonment. This is one of the most popular use cases for the integration.

Is HubSpot better than Klaviyo for Shopify?

They serve different purposes. Klaviyo excels at ecommerce email/SMS with deep Shopify integration. HubSpot is a full CRM platform better for stores needing sales tools, lead management, or B2B features alongside marketing automation.