Storefront
Shopify Integrations
How xUpsell tracks store behaviour, syncs your customers, and hands off to and from Shopify Flow.
xUpsell connects deeply with your Shopify store so core tracking and sync work automatically. It tracks what your customers do, syncs their data, and responds to store events. This page explains exactly how those connections work and where optional setup (like Shopify Flow workflows) can be used.
Good to know: Core integrations are set up automatically when you install xUpsell. Optional Shopify Flow automations require creating workflows in Shopify Flow.
Web Pixel — Automatic Customer Tracking
When you install xUpsell, a small piece of tracking is automatically added to your storefront. It watches what your customers do while shopping and reports back to xUpsell. This is what powers features like abandoned cart recovery, product browsing workflows, and targeted campaigns.
What It Tracks
| Customer Action | What xUpsell Sees | How It Helps You |
|---|---|---|
| Product Viewed | A customer looked at a specific product page | Trigger workflows like “Browsed but didn’t buy” |
| Added to Cart | A customer put a product in their cart | Know what they’re interested in for personalized offers |
| Removed from Cart | A customer took a product back out of their cart | Keep abandoned-cart contents accurate |
| Checkout Started | A customer began the checkout process | Track how far customers get before dropping off |
| Checkout Contact Info Submitted | A customer entered their contact details during checkout | Know who a shopper is even before they finish buying |
| Checkout Address Info Submitted | A customer entered their address during checkout | See how far a shopper progressed through checkout |
| Checkout Shipping Info Submitted | A customer chose their shipping option | See how far a shopper progressed through checkout |
| Payment Info Submitted | A customer entered their payment details | Spot shoppers who almost completed a purchase |
| Checkout Completed | A customer finished their purchase | Track conversions |
| Collection Viewed | A customer browsed a category page | Understand what categories interest them |
Automatic: The web pixel is installed automatically when you add xUpsell. No code. No setup. No configuration needed.
Privacy and Data
The web pixel only tracks shopping behavior that’s needed for your marketing automation:
- It does not collect passwords or payment information
- It runs in Shopify’s own sandboxed pixel environment and respects your customers’ privacy and consent choices
- It follows Shopify’s privacy policies and guidelines
- Data is used solely for powering your xUpsell workflows, campaigns and offers
Store Event Sync
xUpsell keeps in step with your Shopify store through a mix of storefront tracking and data sync. Here’s what each part does and how it works — so you know exactly what to expect.
What Syncs, and How
| Store Data | How xUpsell Gets It |
|---|---|
| Orders | Order data is synced from Shopify. A new order also fires the Order created workflow trigger |
| Existing customers | Imported as subscribers in a one-time batch when you first install xUpsell (see Customer & Product Sync below) |
| Cart activity | Tracked through the web pixel on your storefront (add to cart, remove from cart) to power abandoned cart recovery |
| Products | Your catalog is synced so workflows always show the right name, price, image, and availability |
Good to know: The web pixel reports shopping activity from your live storefront. Order and product data is synced from Shopify. The initial customer import happens once, at install time.
Post-purchase offers are separate. They’re shown by a Shopify checkout extension the moment a purchase completes, not by the order sync — see the Post-Purchase Offers page for how to set those up.
Delays are yours to set. Abandoned cart, abandoned checkout and abandoned product page workflows wait a while before running, so you don’t message someone who was simply still shopping. You control that wait in Settings → Preferences (minimum one hour each). Order created does not wait — an order confirmation goes out as soon as the order is placed.
You Don’t Need to Do Anything
The tracking and the sync set themselves up from the moment you install xUpsell. There’s nothing to connect and no sync button to press. The only related setting is the trigger wait times in Settings → Preferences, and those come with sensible defaults.
Shopify Flow Integration
What Is Shopify Flow?
Shopify Flow is Shopify’s own automation tool. It lets you automate backend tasks in your store — like tagging customers, managing inventory, or sending internal notifications. It’s available on all Shopify plans (Basic, Shopify, Advanced, Plus).
How xUpsell Connects to Shopify Flow
xUpsell works with Shopify Flow in two directions:
| Direction | How It Works |
|---|---|
| xUpsell as an action | A Shopify Flow reaches a step called xUpsell action → that step starts an xUpsell workflow for the customer |
| xUpsell as a trigger | An xUpsell workflow reaches a Shopify Flow Trigger step → that starts a Shopify Flow |
Both directions need a matching piece set up on the xUpsell side first, so the two apps have something to hand off to.
Direction 1: Shopify Flow starts an xUpsell workflow
- In xUpsell, go to Workflows → Create workflow and choose the Shopify flow trigger
- Build the workflow as usual (emails, SMS, push, delays, conditions) and turn it on
- In Shopify Admin → Apps → Flow, create or open a Flow
- Pick any Shopify trigger you like, then add the xUpsell action step
- Open that step’s settings — it lists your Shopify flow workflows. Choose the one you want and save
- Turn on the Flow
Shopify Flow trigger: Customer's total spend is over $500
↓
Shopify Flow action: Tag customer as "VIP"
↓
Shopify Flow action: xUpsell action → run your "VIP welcome" workflow
↓
xUpsell sends the exclusive VIP discount emailOnly workflows built on the “Shopify flow” trigger appear in that list. A workflow built on any other trigger can’t be started from Flow.
Direction 2: An xUpsell workflow starts a Shopify Flow
- Open any xUpsell workflow in the editor
- From the sidebar’s Others group, drag in the Shopify Flow Trigger step and connect it where you want it
- By default it fires the Shopify Flow trigger that matches your workflow’s own trigger — so an abandoned-cart workflow fires the Abandoned cart trigger in Flow
- Prefer your own name? Tick Custom workflow and type one. The step then fires the generic xUpsell triggered Flow trigger and passes your name along as the trigger name
- In Shopify Flow, create a Flow that starts from that xUpsell trigger and add whatever Shopify actions you want
These xUpsell triggers are available inside Shopify Flow:
- xUpsell triggered (the generic one, with your own trigger name)
- Abandoned cart
- Abandoned checkout
- Abandoned product page
- Product viewed
- Subscribed to receive email marketing
- Subscribed to receive push notifications
- Subscribed to receive SMS/MMS marketing
xUpsell workflow: Abandoned cart (after your configured delay)
↓
xUpsell step: Shopify Flow Trigger
↓
Shopify Flow trigger: Abandoned cart (from xUpsell)
↓
Shopify Flow action: Tag the customer "cart-abandoner" for your team to follow upTip: You don’t need Shopify Flow to use xUpsell. Everything xUpsell does can be set up directly in the app. Shopify Flow is for advanced users who want to combine xUpsell with other Shopify automations — tagging, inventory, internal notifications, and so on.
Customer & Product Sync
Customer Sync
When you install xUpsell, your existing Shopify customers are automatically imported as subscribers:
| Timing | What Happens |
|---|---|
| During installation | All existing customers are imported to xUpsell as subscribers, in pages of 250 at a time |
| After installation | Shoppers who interact with your storefront are captured through the web pixel, the discount popup or the product-page notification form |
For a large customer list the import works through it page by page, so it doesn’t slow anything down. You’ll see subscribers appearing gradually over a few minutes. Customers already in xUpsell are skipped, so nobody is duplicated.
It’s a one-time import. Customers you add in Shopify later aren’t back-filled into xUpsell. They become subscribers the normal way — by shopping on your store or opting in through one of your storefront forms.
Product Sync
Your product catalog is also synced so that xUpsell workflows can reference current product information:
| What Syncs | Why It Matters |
|---|---|
| Product name and description | So emails and messages show the correct details — and so xUpsell can work out which products go together |
| Product price | So offers display the right price |
| Product images | So product recommendation blocks show current photos |
| Product availability | So you don’t accidentally promote out-of-stock items |
| Variants, tags and vendor | So recommendations and offers can reference the right variant |
This is what powers post-purchase recommendations. When a product syncs, xUpsell analyses its title, description and tags so it can later match it against what a shopper just bought. That’s how post-purchase offers pick relevant products without you choosing them.
Automatic updates: If you change a product’s name or price in Shopify, xUpsell picks up the change automatically. Your workflows and campaigns always use the most current product data.
Frequently Asked Questions
Do I need to set up the web pixel manually?
No. The web pixel is installed automatically when you add xUpsell to your store. There’s nothing for you to configure.
Does the tracking slow down my store?
No. The web pixel is extremely lightweight and loads asynchronously — your store pages load first, then the tracking loads in the background. Your customers won’t notice any difference in page speed.
What is Shopify Flow and do I need it?
Shopify Flow is Shopify’s own automation tool. You do not need it to use xUpsell — everything works perfectly without it. But if you want to combine xUpsell automations with other Shopify features (like customer tagging, inventory management, or internal notifications), Shopify Flow makes that possible.
I added the xUpsell action in Flow but the workflow list is empty?
The xUpsell action step only lists xUpsell workflows built on the Shopify flow trigger. Create one in xUpsell first (Workflows → Create workflow → Shopify flow), then reopen the step.
How does customer data get into xUpsell?
Your existing customers are imported as subscribers in a one-time batch when you first install xUpsell — this may take a few minutes for a very large customer list. After that, shoppers become subscribers by being tracked through the web pixel or by opting in through your discount popup or product-page notification form.
Can I disable the web pixel tracking?
The web pixel is part of xUpsell’s core functionality. Disabling it would prevent features like abandoned cart recovery, product browsing workflows, and conversion tracking from working. If you have specific privacy concerns, reach out through the in-app Help widget.
Does xUpsell work with Shopify Plus?
Yes. xUpsell works with all Shopify plans — Basic, Shopify, Advanced, and Plus. All integrations described on this page work the same way regardless of your Shopify plan.
I have thousands of products — will they all sync?
Yes. xUpsell syncs your entire product catalog intelligently. Large catalogs sync in batches without affecting your store’s performance.