FluxCascade
FeaturesConnectorsPricingDocsBlog
Sign InGet Started Free

Getting Started

  • Introduction
  • Quick Start
  • Core Concepts

Integrations

  • Overview (35+)
  • HubSpot
  • Salesforce
  • Pipedrive
  • Jobber
  • All Connectors

Field Mappings

  • Creating Mappings
  • Field Transformations
  • Bidirectional Sync
  • Conflict Resolution

Syncing Data

  • How Syncs Work
  • Scheduling
  • Webhooks
  • Error Handling

API Reference

  • Overview
  • Authentication
  • Connections
  • Mappings
  • Syncs
  • Webhooks

Guides

  • All Guides
  • HubSpot + Jobber
  • Salesforce + HubSpot
  • Pipedrive + Jobber
  • Salesforce + Jobber
  • HubSpot + QuickBooks
  • Shopify + HubSpot
  • Deals to Jobs
  • Multi-Platform Sync
  • Address Mapping
  • Phone Formatting
  • Custom Fields
  • Data Migration
  • Performance

Security

  • Data Privacy
  • Encryption
  • Compliance

Support

  • FAQ
  • Troubleshooting
  • Contact Us

Shopify + HubSpot Integration Guide

This guide walks you through setting up a complete integration between Shopify and HubSpot. By the end, your e-commerce customers will automatically appear as CRM contacts for marketing and sales follow-up.

Overview

Goal: Sync Shopify Customers with HubSpot Contacts so your marketing and sales teams have full visibility into e-commerce customers.

What You'll Set Up:

  • Shopify Customers synced to HubSpot Contacts
  • Name, email, phone, and address mapping
  • Order data considerations for segmentation
  • One-way sync (Shopify → HubSpot is typical)

Time Required: 15–20 minutes

Prerequisites

Before starting, ensure you have:

  • [ ] A FluxCascade account (sign up free)
  • [ ] Admin access to your Shopify store (or a custom app with customer read/write scopes)
  • [ ] Admin access to your HubSpot portal
  • [ ] Both platforms connected to FluxCascade

If you haven't connected your platforms yet, go to Connections → Add Connection and connect each platform via OAuth. See the HubSpot integration docs for HubSpot-specific setup.

Step 1: Understand the Typical Flow

For most e-commerce businesses, the sync direction is Shopify → HubSpot:

  1. A customer places an order on your Shopify store
  2. Shopify creates or updates the Customer record
  3. FluxCascade syncs the Customer to HubSpot as a Contact
  4. Your marketing team uses HubSpot to segment, email, and follow up

Bidirectional sync is less common here because HubSpot doesn't generate customers — Shopify does. However, if your sales team updates contact info in HubSpot and you want those changes reflected in Shopify, bidirectional is an option.

Step 2: Plan Your Field Mapping

Customer → Contact Field Pairs

Shopify Customer FieldHubSpot Contact FieldNotes
first_namefirstnameDirect mapping
last_namelastnameDirect mapping
emailemailUsed for matching records
phonephoneAdd phone_e164 transform
default_address.companycompanyFrom default address
default_address.address1addressStreet address
default_address.citycityCity
default_address.province_codestateState/province code (e.g., "CA")
default_address.zipzipZIP/postal code
default_address.country_codecountryCountry code (e.g., "US")
orders_countnum_orders (custom)Create custom property in HubSpot
total_spenttotal_revenue (custom)Create custom property in HubSpot

Step 3: Create Custom HubSpot Properties (Optional)

If you want to sync order metrics from Shopify, create custom properties in HubSpot first:

  1. Go to HubSpot Settings → Properties → Contact Properties
  2. Create these custom properties:
    • num_orders (Number) – Total number of Shopify orders
    • total_revenue (Number) – Total amount spent in Shopify
    • shopify_customer_id (Single-line text) – Shopify's internal customer ID
    • accepts_marketing (Checkbox) – Whether the customer opted into marketing

These properties enable segmentation in HubSpot (e.g., "customers with 3+ orders" or "customers who spent over $500").

Step 4: Create the Mapping

  1. Go to Mappings in FluxCascade
  2. Click New Mapping
  3. Configure the basics:

Source:

  • Connection: Your Shopify connection
  • Object: Customers

Target:

  • Connection: Your HubSpot connection
  • Object: Contacts

Direction: Shopify → HubSpot (one-way recommended)

  1. Click Continue

Step 5: Configure Field Pairs

Add these field pairs:

  1. First Name

    • Source: first_name
    • Target: firstname
    • Transform: None
  2. Last Name

    • Source: last_name
    • Target: lastname
    • Transform: None
  3. Email (Matching Field)

    • Source: email
    • Target: email
    • Transform: lowercase
    • Mark as Matching Field
  4. Phone

    • Source: phone
    • Target: phone
    • Transform: phone_e164
  5. Company

    • Source: default_address.company
    • Target: company

Address Fields

  1. Street

    • Source: default_address.address1
    • Target: address
  2. City

    • Source: default_address.city
    • Target: city
  3. State

    • Source: default_address.province_code
    • Target: state
  4. Postal Code

    • Source: default_address.zip
    • Target: zip
  5. Country

    • Source: default_address.country_code
    • Target: country

Optional: Order Metrics

  1. Order Count

    • Source: orders_count
    • Target: num_orders (custom property)
  2. Total Spent

    • Source: total_spent
    • Target: total_revenue (custom property)

Step 6: Set Matching Strategy

  1. In mapping settings, find Matching Strategy
  2. Select Email as the primary matching field
  3. Enable Case Insensitive Matching

This prevents duplicate HubSpot contacts when a Shopify customer checks out with john@example.com and already exists in HubSpot as John@Example.com.

Step 7: Marketing Segmentation Setup

After syncing, use the custom properties to create HubSpot lists for targeted marketing:

Example segments:

  • Repeat buyers: num_orders greater than 1
  • High-value customers: total_revenue greater than 500
  • New customers: num_orders equals 1
  • Marketing opt-in: accepts_marketing is true

These lists feed into HubSpot email campaigns, workflows, and ad audiences.

Step 8: Test the Mapping

Before going live:

  1. Click Test Sync

  2. Review the preview showing what would sync

  3. Check for:

    • Correct name and email mapping
    • Address fields populated from default address
    • Custom properties receiving order data
    • No duplicate contacts being created
  4. Adjust configuration and test again if needed

Step 9: Run Initial Sync

Once testing looks good:

  1. Click Sync Now
  2. Choose Full Sync for initial population
  3. Monitor progress in real-time
  4. Review completion statistics

Expected Results:

  • Shopify Customers created as HubSpot Contacts
  • Existing HubSpot Contacts matched by email and updated with Shopify data
  • Order metrics populated on custom properties

Step 10: Enable Scheduled Sync

Set up automatic syncing:

  1. Go to mapping Settings
  2. Enable Scheduled Sync
  3. Choose frequency: Every 15 minutes (or enable real-time webhooks)
  4. Save

For stores with high order volume, real-time sync via webhooks ensures new customers appear in HubSpot within seconds of their first purchase.

Verification

Check Shopify

  1. Note a recent customer's email and order count

Check HubSpot

  1. Search for that customer by email
  2. Verify name, phone, and address are populated
  3. Check custom properties (num_orders, total_revenue) if configured

Review Sync Logs

  1. Go to Syncs
  2. Click on recent sync jobs
  3. Verify success rates and any errors

Common Issues & Solutions

Shopify Customers Without Email

Cause: Shopify allows checkout without an email (phone-only orders or draft orders).

Solution: HubSpot requires email for contact creation. These records are skipped during sync. Check sync logs for "missing required field" errors. To handle phone-only customers, set up a secondary matching strategy using phone number.

Address Fields Blank

Cause: The Shopify Customer has no default_address set. This happens when a customer creates an account but hasn't placed an order yet.

Solution: Only customers with at least one order have address data populated. Filter the sync to customers with orders_count >= 1 if you only want buyers.

Duplicate HubSpot Contacts

Cause: Email matching not finding existing records due to case differences or typos.

Solution:

  1. Enable case-insensitive matching
  2. Add lowercase transform to the email field
  3. Run HubSpot's built-in deduplication tool after initial sync

Order Metrics Not Updating

Cause: Custom properties in HubSpot haven't been created, or property internal names don't match.

Solution: Verify the custom property internal names in HubSpot match what you configured in the field mapping. HubSpot auto-generates internal names from labels (e.g., "Total Revenue" becomes total_revenue).

Shopify API Rate Limits

Cause: Shopify's API allows 2 requests per second (REST) or 1,000 cost points per second (GraphQL).

Solution: FluxCascade handles rate limiting automatically. For stores with 100,000+ customers, the initial full sync may take several hours. Subsequent incremental syncs process only changes and complete quickly.

Best Practices

  1. Use one-way sync (Shopify → HubSpot) – Shopify is the source of truth for e-commerce customer data

  2. Create custom properties before your first sync – This ensures order metrics sync from the start

  3. Sync order metrics, not individual orders – Aggregate fields (orders_count, total_spent) are more useful for segmentation than raw order data

  4. Enable webhooks for high-volume stores – Real-time sync ensures new customers enter marketing workflows promptly

  5. Filter out test orders – If you use Shopify's Bogus Gateway for testing, exclude test customers from the sync

  6. Set lifecycle stage automatically – Use a static value to set lifecyclestage to customer for all synced Shopify customers

Next Steps

  • Field Transformations – Advanced data transformation options
  • Sync Scheduling – Configure sync frequency
  • Custom Fields guide – Working with custom properties
  • Error Handling – Handle sync failures
FluxCascade

The modern data integration platform. Connect your systems, sync your data, automate your workflows.

Product

  • Features
  • Pricing
  • Connectors
  • Changelog

Resources

  • Documentation
  • API Reference
  • Guides
  • Blog

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

Connect

  • Twitter
  • GitHub
  • LinkedIn

© 2026 FluxCascade. All rights reserved.

PrivacyTermsSecurity