How to Integrate GoHighLevel with Shopify: The Ultimate Automation & Migration Guide
Connect GoHighLevel with Shopify using the native app, Zapier, Make, or webhooks. Sync data, automate follow-ups, and track e-commerce ROI in your CRM.
GoHighLevel integrates with Shopify through reliable methods, including the native LeadConnector (or Lead Connector) application (via the modern OAuth App method), third-party automation tools like Zapier or Make (Integromat), and direct custom webhooks. This integration seamlessly syncs supported customer data, products, collections, contacts, orders, and transactions by setting Shopify as your "Trigger" (e.g., New Order, Abandoned Cart, Abandoned Checkout) and GoHighLevel as your "Action" (e.g., Create/Update Contact, Add to Campaign/Workflow, Add to Pipeline, or Create Opportunity). You can automate multi-channel SMS, email, and Ringless Voicemail (RVM) follow-ups, and track e-commerce ROI and customer lifetime value (LTV) directly inside your GoHighLevel CRM.
What Is the GoHighLevel Shopify Integration and How Does It Work?
The GoHighLevel Shopify integration connects your Shopify store to a HighLevel sub-account to utilize supported e-commerce data and events inside HighLevel. Shopify data supports e-commerce workflows, customer follow-up, product visibility, and order-related automation once connected.
The current Shopify connection experience uses an OAuth App method to allow users to authorize the connection through Shopify, bypassing the manual creation of a Shopify custom app and copying of an Admin API access token. Existing stores connected through the older Custom App method may continue syncing, unless the connection is disconnected.
Connecting your storefront to your CRM is critical, if you run an e-commerce business. A seamless GoHighLevel Shopify integration enables business owners, marketing agencies, and e-commerce brands to sync customer data, automate marketing campaigns, manage reputation, track customer lifetime value (LTV), build customer loyalty, and recover abandoned carts.
Which GoHighLevel Shopify Integration Method Is Best?
You can connect Shopify using either the newer OAuth App method or the older Custom App method. Users can choose the right path and avoid creating unnecessary duplicate connections by understanding the difference.
| Connection Method | Best For | Setup Experience | Notes |
|---|---|---|---|
| OAuth App Method | New Shopify connections | Authorize Shopify through the app connection flow | Recommended for new connections because it reduces manual setup steps. |
| Custom App Method | Existing legacy Shopify connections | Create a Shopify custom app and use an Admin API access token | Older setup method documented in existing Shopify integration guidance. |
Note: The existing connection may continue syncing historical data, if your Shopify store is already connected using the Custom App method, unless it is disconnected. Reconnecting may require using the current OAuth App connection flow once disconnected.
How to Integrate GoHighLevel with Shopify (Step-by-Step Methods)
Method 1: Connect Directly via the Native GoHighLevel Shopify App
You can integrate most efficiently via the official LeadConnector application found in the Shopify App Store. This native connection utilizes a direct API handshake via GoHighLevel's App Marketplace to ensure the highest data integrity without requiring third-party middleware.
Step-by-Step Setup Guide
- Open your GoHighLevel Sub-account (Location) dashboard.
- Navigate to the left-hand menu and click on Settings (in the bottom left corner), then select Integrations or App Marketplace.
- Locate the Shopify icon and click "Connect".
- Enter your exact Shopify Store URL or store name (e.g., yourstore.myshopify.com, your-store.myshopify.com, or store-name.myshopify.com) and click Next.
- Alternative Route: You can also log into your Shopify Admin dashboard, navigate to the App Store, search for "LeadConnector", and click 'Install'.
- Select the Shopify data you want to import as a one-time historical import on the Import Elements screen. These elements control which supported records are brought in (ideal for historical data existing before setup). Choose the data types useful for your workflows and customer management:
- Contact Import (Imports Shopify customers as GHL Contacts).
- Order Import
- Transaction Import
- Product Import (Imports product catalog details).
- Collection Import
- Proceed to the Sync Settings screen by clicking Next. Select the data and triggers you want to keep syncing going forward. These settings control ongoing sync activity after setup:
- Contact Sync (Ensure Shopify "Customers" map to GHL "Contacts" to maintain database integrity; maps product fields).
- Order Sync (Ensures "Sync Orders" and "Sync Customers" are toggled on to capture order updates).
- Order Received Trigger
- Transaction Sync
- Payment Received Trigger
- Product Sync
- Collection Sync
- Click Save. This will initiate the OAuth authorization flow and redirect you to the Shopify admin panel.
- Log in (if prompted) and review the permissions requested on the Shopify Install app screen. Click Install to authorize the Lead Connector bridge, which grants GoHighLevel permission to read and access your customers, orders, and products.
- Confirm your connection in GHL once you are redirected back to ensure your sync settings are active.
Tip: Select all available import and sync options for a full Shopify store migration, unless your migration plan requires only specific data types. This helps ensure supported historical data is imported and future Shopify activity continues syncing.
Method 2: Automate with the Workflow Trigger Method
Shopify acts as a direct "Trigger Source" within GoHighLevel Workflows once the native connection is active.
- Available Triggers: Order Placed, Abandoned Checkout, Order Fulfilled, Refund Issued, and Customer Created.
- Data Mapping: GHL automatically maps Shopify fields (including Email, Phone, and Name) directly to GHL Contact fields.
- Important Trigger Note: Shopify workflow triggers may change over time. HighLevel's workflow trigger list currently identifies some older Shopify-specific triggers as deprecating soon (including Shopify Abandoned Cart and Shopify Order Fulfilled). However, newer general e-commerce store triggers (such as Abandoned Checkout for both native HighLevel e-commerce stores and connected external stores like Shopify) remain available for current store connections.
Method 3: Integrate via Zapier or Make.com for Advanced Automation
A third-party middleware iPaaS (Integration Platform as a Service) like Zapier or Make (Integromat) is superior for users and advanced automation requiring custom triggers (such as "New Canceled Order", "Refund Issued", or "Updated Product") or highly customized workflows—such as filtering by specific SKUs, utilizing custom metafields, filtering specific product tags, or setting up multi-store routing. This approach offers granular control, allows for multi-step logic and filtering before data enters the CRM, and bridges GHL's LeadConnector API with Shopify's Admin API.
Shopify & GoHighLevel Integration Map
| Shopify Trigger Event | GoHighLevel Action |
|---|---|
| New Order Placed / New Paid Order | Add Contact Tag & Fire Post-Purchase SMS / Create Opportunity / Add to Pipeline |
| Abandoned Checkout / Abandoned Cart | Start Abandoned Cart Recovery Workflow |
| Customer Created / New Customer | Sync to CRM Pipeline / Create or Update Contact / Add to Workflow / Opportunity |
| New Canceled Order | Update CRM Pipeline / Remove from Active Campaign |
| Refund Issued | Update Lead Status / Adjust Opportunity Value |
| Updated Product | Sync Custom Fields / Product Update |
Step-by-Step Zapier Setup Guide
- Prepare your accounts: Ensure you have active admin accounts for Shopify, GoHighLevel, and Zapier. Log into all three dashboards.
- Create a new Zap: In Zapier, click "Create a Zap" to build your integration bridge.
- Configure the Shopify trigger:
- Search for and select the Shopify app.
- Choose a Trigger Event, such as "New Customer", "New Paid Order", "New Order", or "Abandoned Cart / Abandoned Checkout".
- Authenticate and connect your Shopify store by entering your store domain URL and API key, granting Zapier the required permissions.
- Run a test to pull in sample data from your Shopify store.
- Configure the GoHighLevel action:
- Add a new action step and search for LeadConnector (GoHighLevel's official Zapier app name).
- Choose the Action Event "Add/Update Contact", "Add to Campaign/Workflow", or "Create/Update Contact / Add to Workflow / Opportunity".
- Connect your GoHighLevel account using your Agency or Sub-Account API Key (found under GHL Settings > Company).
- Map the data fields: Map the Shopify data to the corresponding fields in GoHighLevel:
- Shopify First Name → GoHighLevel / LeadConnector First Name
- Shopify Email → GoHighLevel / LeadConnector Email
- Shopify Phone / Phone Number → GoHighLevel / LeadConnector Phone Number
- Shopify Order Tags → GoHighLevel Tags
- Shopify Total Price → GoHighLevel / LeadConnector Custom Field: Order Value
- Add tags (Optional but Recommended): In the LeadConnector action step, assign a tag like shopify-buyer or shopify-customer to automatically trigger specific GoHighLevel workflows.
- Test and publish: Click "Test Action" to ensure the Shopify test customer correctly appears in your GoHighLevel CRM/Smart Lists. Turn on and publish your Zap, if the test is successful.
Method 4: Sync in Real-Time Using Custom Webhooks
Developers and advanced users can integrate GoHighLevel with Shopify using Webhooks, if you want to avoid Zapier fees and bypass task limits. This process involves setting up Webhooks in Shopify's notification settings to send JSON payloads directly to a GoHighLevel Premium Workflow Webhook Trigger. This method ensures the lowest latency by directing data to GoHighLevel API endpoints, bypassing third-party delays so your CRM reflects store activity in real-time. This is a highly customized, cost-effective alternative to Zapier.
Webhook Header Configuration Example
POST /v1/webhooks/shopify/incoming Content-Type: application/json X-Shopify-Topic: orders/create
Step-by-Step Setup Guide
- Create a workflow in GHL: Go to Automation > Workflows and create a new workflow. Set the trigger to Inbound Webhook (Premium Workflow Webhook Trigger).
- Copy the webhook URL: Copy the unique Webhook URL provided by GoHighLevel.
- Configure Shopify notifications: Navigate to your Shopify Admin > Settings > Notifications > Webhooks.
- Create the webhook in Shopify: Click "Create Webhook", select your desired event (e.g., Order Creation), set the format to JSON, and paste the GHL Webhook URL.
- Map the JSON data: Send a test payload from Shopify, then map the incoming JSON fields directly to your GHL contact fields within the GHL workflow builder.
Which GoHighLevel Shopify Workflows Should You Set Up?
You can construct these automated workflows inside the GoHighLevel Workflow Builder to maximize your marketing efficiency and boost e-commerce revenue:
1. Abandoned Cart Recovery 2.0
GHL allows for dynamic, multi-channel recovery sequences (SMS, email, and Ringless Voicemail) to win back sales, although Shopify has native abandoned cart emails.
- Trigger: Shopify Abandoned Checkout (or "Checkout Created" trigger).
- Note: Use the newer e-commerce abandoned checkout trigger when building new abandoned checkout automations, as the legacy Shopify Abandoned Cart trigger is deprecating.
- Filter: Checkout Value > $50
- Action 1: Wait 30 Minutes (or 1 Hour)
- Decision: If checkout is not completed
- Action 2: Send personalized SMS with dynamic checkout link:
- "Hey {{contact.first_name}}, you forgot something! Click here to complete your order: [Checkout URL]" OR "Hi [Name], you left something in your cart! Click here to complete your order: [Checkout URL]."
- Action 3: Add Tag "Shopify-Abandoned-Cart" (or tag contact as shopify-customer)
- Action 4: Trigger a Ringless Voicemail (RVM) and/or multi-channel email, if no purchase occurs after 24 hours.
2. Post-Purchase Nurture, Order Confirmation, and Upsell
Build customer loyalty and drive repeat sales immediately after a transaction.
- Trigger: Shopify Order Paid (or "Order Placed")
- Action 1: Move contact automatically to "Purchased" pipeline stage / "Closed/Won" stage of your CRM sales pipeline.
- Action 2: Send order receipt email and a thank-you message with a promotional discount code.
- Action 3: Wait 3 Days.
- Action 4: Send promotional code and offer for a related product (cross-sell/upsell sequence). For example, trigger a GHL email/SMS cross-sell sequence showcasing Product B, if a customer buys Product A in Shopify.
3. Post-Purchase Review Generation & Reputation Management
Collect social proof systematically once the product is delivered.
- Trigger: Shopify Order Fulfilled (Or trigger immediately after Shopify fulfillment reaches "Delivered" status).
- Action 1: Wait 7 Days (delivery buffer).
- Action 2: Send automated GHL Review Request via SMS or Email requesting a Google or Trustpilot review.
- Action 3: Logic Branch: Tag the contact as "Brand Ambassador", if a 5-star rating is received.
4. Customer Lifetime Value (CLV) Segmentation & Win-Back Campaigns
Segment your database automatically to target high-value buyers or re-engage dormant ones.
- Setup: Use GHL "Smart Lists" to segment Shopify customers based on total spend or purchase frequency. Trigger "VIP Only" workflows and specialized marketing campaigns for customers who have spent over $500.
- Win-Back Campaign: Automatically trigger a workflow to send a personalized discount code via SMS, if a Shopify customer has not made a purchase in 60 days.
What are the benefits of integrating Shopify to GoHighLevel?
Agency owners and e-commerce merchants can automate lead nurturing, track customer lifetime value (LTV), and trigger advanced marketing workflows based on purchase behavior by connecting your Shopify storefront (your e-commerce engine) to the GoHighLevel CRM (GHL, your marketing CRM).
By bridging this gap, you unlock several key benefits:
- Simplifying connection setup: Connect Shopify using an app-based OAuth flow instead of manually creating a custom app and API token.
- Unifying customer profiles and syncing contacts: View complete Shopify order history directly within the GHL contact card. Automatically import Shopify customers, order history, and tags directly into the GoHighLevel CRM. Every new Shopify customer is automatically created as a Contact in GHL, syncing customer names, emails, phone numbers, and total spend directly into GHL Smart Lists.
- Importing historical data: Bring supported historical Shopify data into HighLevel during setup, including available products, collections, contacts, orders, and transactions.
- Syncing ongoing data: Keep selected Shopify data syncing into HighLevel after the initial connection is active to support e-commerce reporting workflows.
- Recovering abandoned carts: Automatically trigger dynamic, multi-channel GHL SMS, email, and Ringless Voicemail (RVM) sequences the moment a user abandons their checkout in Shopify to recover lost e-commerce revenue.
- Nurturing post-purchase customers (upsells and loyalty): Trigger automated review requests, cross-sell/upsell sequences, and customer loyalty campaigns in GHL based on specific Shopify product purchases. For instance, you can trigger SMS/Email review requests immediately after a Shopify fulfillment reaches "Delivered" status.
- Mirroring product catalogs: GoHighLevel "Payments" sections can pull in Shopify products for direct use in Funnels and Invoices.
- Automating order status updates and pipelines: Automatically move contacts through different Pipeline stages (e.g., moving contacts automatically to "Ordered" ➔ "Shipped" ➔ "Delivered" or "Completed" / "Cancelled" stages) based on Shopify fulfillment and order status.
- Tracking unified analytics, attribution, and ROI: Measure the exact conversion value of your GHL funnels against Shopify sales. This allows you to track the precise ROI of your marketing pipelines against revenue in the GHL attribution dashboard. You can track exactly which GoHighLevel marketing campaigns or funnels led to specific Shopify purchases using UTM parameters and contact tags, allowing agencies to prove exact ROI on ad spend.
- Centralizing e-commerce visibility: View and use supported Shopify information from inside the connected HighLevel sub-account to centralize e-commerce activities.
How to Troubleshoot GoHighLevel Shopify Integration Issues
- The "Duplicate Contact" Issue: GHL uses Email and Phone Number as unique identifiers. Ensure Shopify checkouts require an email address to prevent duplicate record creation to maintain clean data hygiene during your Shopify sync. In GHL settings, ensure that "Allow Duplicate Contacts" is turned OFF, and set the system to merge contacts based on Email or Phone Number. A duplicate may still be created, if a customer uses a different email at checkout than what exists in GHL. Always designate Shopify as the "Source of Truth" for transactional and inventory data.
- Merged Contacts: Merged contacts in Shopify will have the primary contact updated in the GHL Sub-account.
- Attribution Gaps: Use UTM parameters on your Shopify store links so GHL can correctly identify and record the lead source, which allows you to track precise campaign performance in the GHL attribution dashboard.
- Webhook Latency and Maintenance Mode: Native integrations usually update within seconds. Ensure your Shopify store is not in "Maintenance Mode" if you experience delays, as this blocks outgoing API calls. Ensure you are utilizing the 2023-10 (or latest) Shopify API version to avoid webhook deprecation, if you are using custom webhooks.
- Permissions & API Access: Ensure the user connecting the integration has "Admin" (or correct "App Development") privileges enabled in both Shopify and the GHL Sub-account before attempting connections. Ensure your connection has Read/Write (Read and Write) access to "Orders" and "Customers", if you are building a custom API bridge or using a "Private App" or "Custom App" in Shopify.
- Tax Mapping Limitation: Taxes are not mapped in Products while importing or syncing the Products.
- Transaction Sync Limitation: For each order, only one transaction is created in your sub-account.
- Order Status Syncing: Order statuses are marked as "Completed" or "Cancelled" when synced with Shopify.
- SEO Details: The SEO data will be received as null in the GHL Sub-account, if there are no changes to the SEO details in Shopify (default SEO settings).
- Shopify Plan Restrictions: Shopify Basic plan users may experience limitations with certain data types depending on Shopify API access and plan restrictions.
- Store Name Accuracy: Use the exact Shopify store name or store URL when prompted during setup.
- Legacy Connections Preservation: Existing legacy Custom App connections should not be disconnected unless the user is ready to reconnect using the current supported connection flow. Reconnecting will require using the current OAuth App connection flow, if the connection is disconnected.
Frequently Asked Questions (FAQ)
Is there a native GoHighLevel Shopify integration?
Yes. GoHighLevel features a direct, native connection through the LeadConnector Shopify App available in the Shopify App Store and the GHL App Marketplace. Additionally, you can utilize intermediary options like Zapier, Make.com, custom webhooks, or third-party bridge apps. New Shopify connections should use the OAuth App method when available.
Can I track Shopify sales inside GoHighLevel?
Yes. By passing the order value from Shopify through Zapier, webhooks, or the native integration into a GoHighLevel Opportunity, you can track e-commerce revenue on your dashboard. This allows you to attribute revenue to specific marketing campaigns within the GHL attribution dashboard.
Does the integration support abandoned cart recovery?
Absolutely. By integrating Shopify with GoHighLevel, you can trigger automated emails, SMS, and RVM sequences when a user leaves the checkout flow. Simply set your trigger to Shopify's "Abandoned Checkout" event and map it to your GHL recovery workflow.
Can I sync Shopify products to GoHighLevel?
Yes. Products and collections sync directly via the native sync settings, mapping Shopify catalog details. Additionally, by using advanced Zapier paths or Make.com, you can pass specific product SKUs or names into GoHighLevel custom fields, allowing you to trigger product-specific marketing workflows.
Do I need to create a Shopify custom app to connect Shopify?
New Shopify connections should use the OAuth App method when available. The older Custom App method requires creating a Shopify custom app and using an Admin API access token, but this should be treated as a legacy setup path unless specifically required.
What is the difference between Import Elements and Sync Settings?
Import Elements bring selected historical Shopify records (such as products, collections, contacts, orders, and transactions) into HighLevel during setup. Sync Settings control which selected Shopify data continues syncing into HighLevel on an ongoing basis after the connection is active.
Can I change my Shopify sync settings later?
Yes. Sync settings may be adjustable after setup, but changing them generally affects only future syncing. Data that was already imported or synced may remain in HighLevel.
Can I manage Shopify inventory inside GoHighLevel?
No. Shopify remains the "Source of Truth" for inventory, cart management, taxes, shipping, and fulfillment. GoHighLevel acts as the Marketing and CRM layer to drive traffic, nurture leads, run post-purchase campaigns, and manage customer relationships.
Does the integration support Shopify POS?
Yes. Since Shopify POS (Point of Sale) syncs directly with the Shopify Admin, any transaction made in-person will trigger GHL workflows just like an online order.
Does GoHighLevel sync historical Shopify data?
The native integration allows you to sync historical data via the Import Elements screen during setup. For custom migrations, it is recommended to export your Shopify Customer CSV and perform a manual "Bulk Import" directly into GoHighLevel, mapping the email address as the unique identifier to populate the CRM.
Should I use the Shopify Abandoned Cart trigger?
No. You should use the newer general e-commerce abandoned checkout trigger when building new abandoned checkout automations. HighLevel's workflow trigger guidance identifies the legacy Shopify Abandoned Cart trigger as deprecating soon.
What happens if I disconnect my existing Custom App Shopify connection?
Existing legacy Custom App connections may continue working while connected. Reconnecting will require using the current supported OAuth App flow, if disconnected.
Where do I find my Shopify store name?
Use the store name or Shopify store URL associated with the Shopify admin account you want to connect. Confirm these store details in Shopify before authorizing the connection.
Get Started
Ready to try GoHighLevel?
Get full access to every GoHighLevel feature with our exclusive 30-day extended trial. No commitment — cancel anytime.
Start Your Free TrialThe 30-day extended trial is exclusive to GHL Experts referrals.
Join thousands of agencies using GoHighLevel to replace their entire marketing stack and boost recurring revenue.
