Skip to main content
Upstack Data

Shopify integration: every order captured server-side and resolved to a person

One Upstack app setup that captures Shopify storefront and checkout events with the Upstack Pixel, records every order directly from Shopify, and forwards both to every tool you spend on.

Role
Source
Category
E-commerce
Pre-built connectors
34 destinations
Plans
All plans

What Upstack captures

Every Shopify event leaves resolved to a person. Captured on the server, resolved to a person, then sent.

In: from ShopifyWhat it carries
  • order_idShopify order and checkout token
  • email / phonecustomer contact from checkout
  • customer_idShopify customer record, if they have one
  • line_itemsproducts, variants and quantities
  • total / subtotal / discountorder economics

Storefront events from the Upstack Pixel, orders directly from Shopify.

Upstack DataResolved before it is sent
  • IdentityMatched against a 750M+ device graph, so a phone browse and a desktop checkout resolve to one customer.
  • customer_typeNew or returning, resolved before send.
  • DeduplicationBrowser and server copies of the same purchase collapse on event ID, so nothing is counted twice.
  • Bot and fraud filteringAutomated traffic never reaches the model, because what you keep out of the training set matters as much as what goes in.
Out: to Meta Conversions API1 of 34 destinations
  • em, ph (SHA-256)raise Event Match Quality
  • fbclid / _fbpcredit the click that drove it
  • external_idstable person across sessions
  • event_iddedupe against the browser pixel
  • value / currencyvalue-based bidding

Conversions API with higher Event Match Quality.

About Shopify

Shopify already knows the order.

What it does not know is who the shopper was before checkout, or whether the person buying today is the person who browsed last week on a different device. Upstack captures Shopify’s events on the server, matches each one against a 750M+ device graph, and attaches the resolved customer before forwarding. That turns Shopify from a system that records orders into a system that feeds every other tool a complete customer: the same event powering your ad platforms, your flows and your warehouse, reconciled rather than reconstructed three times.

What Shopify is

Shopify is the commerce platform a large share of DTC brands run their storefront and checkout on, from first product to nine figures of GMV.

Because checkout happens inside Shopify, it holds the order record every other tool in your stack is trying to reconcile against. That makes it the natural place to capture events from the server rather than the browser.

How Shopify works

Shopify hosts the storefront and, critically, the checkout. When a shopper completes an order, Shopify writes an order record and emits webhooks (orders/create, checkouts/update, customers/create) that any connected app can subscribe to. Apps are installed against the store with scoped permissions rather than by editing the theme, and the Admin API exposes orders, customers, products and inventory behind those scopes. Because checkout is Shopify’s, the order record it writes is the closest thing to a source of truth in the stack: every other tool is reconciling against it. The events a browser-side script sees are a subset of what Shopify itself knows.

What you can do with it

Three jobs Shopify does once it is connected.

01

Orders recorded from Shopify itself

Purchases also reach Upstack directly from Shopify, about 10 minutes after the order, so an order still counts when an ad blocker stopped the pixel or the shopper closed the page.

02

Resolve each event to a person

Every Shopify event is matched against a 750M+ device graph before it leaves, so a phone browse and a desktop checkout resolve to one customer rather than two strangers. Returning buyers are recognized as returning.

03

Forward once, to everything

Connect Shopify a single time and the same resolved event stream feeds every ad platform and email tool you run. Adding a destination later means adding its credentials, not another tracking project.

How it works

How the Upstack Shopify app works.

Two browser components capture what shoppers do, and Shopify sends orders, refunds and customer updates straight to Upstack. Both components are required.

Theme app extension

The Upstack app embed loads the tracking script into your theme with no hard-coding and captures page, product and collection views. App embeds are per theme, so turn it on again when you publish a new theme.

Custom pixel for cart and checkout

Added under Settings, Customer events, the Upstack custom pixel captures cart views and changes, searches, checkout started and progressed, shipping and payment steps and checkout completed. Payment steps send no card data.

Orders straight from Shopify

Every paid or pending order reaches Upstack from Shopify about 10 minutes after it is placed, with the same order ID as the browser purchase. Upstack keeps one Purchase per order and still records orders the browser missed.

Your full order history

Setup requests the store’s full order history, so attribution has data from day one. The backfill can take up to 2 hours, products sync every 6 hours, and orders updated in the last 2 days are re-synced daily.

Identifiers captured automatically

Email and phone from the checkout contact step, plus click IDs and cookies such as fbclid and _fbc, gclid, gbraid and wbraid, ttclid and _ttp, ScCid, _epik and msclkid, each stored with the time it was collected. Email and phone are hashed before they go to ad platforms.

What ad platforms don’t receive

Upstack records a Purchase for every new paid or pending order, whatever the sales channel, but skips subscription renewals and draft orders for ad platforms, and POS and exchange orders for most of them. Upsells tagged AfterSell Upsell are sent as a separate upsell_purchase.

Events and the data they carry

Upstack event Captured by Data on the event
page_view Theme app extension URL, title, referrer
view_content Theme app extension product ID, name, price, variant, URL
add_to_cart Custom pixel product ID, name, price, quantity, variant
initiate_checkout Custom pixel and Shopify cart items, value, currency
add_shipping_info Custom pixel contact info, address, shipping tier
add_payment_info Custom pixel payment method type, no card data
purchase Custom pixel and Shopify order data items, value, tax, shipping, customer

Setup

Install and set up the Upstack Shopify app.

What you need

  • A Shopify store on a paid plan. Shopify’s free trial period isn’t supported.
  • Store owner or staff access with permission to install apps and edit themes.
  • An Upstack account, or create one by installing from the Shopify App Store.
Complete Shopify app setup guide
  1. Step 1

    Connect Shopify

    In Upstack, open System, Data Sources, click Connect Shopify and approve the install in Shopify Admin. Upstack reads products, orders and customers, and its only write permission is for its own pixel. You can also install from the Shopify App Store listing.

  2. Step 2

    Turn on the app embed

    In Shopify, open Online Store, Themes, Customize, App embeds, switch on the UpStackified Pixel embed and save.

  3. Step 3

    Add the custom pixel

    Copy the Pixel Code from the app’s onboarding page. In Settings, Customer events, click Add custom pixel, name it UpstackData, paste the code, choose the privacy settings, save and connect.

  4. Step 4

    Confirm your timezone

    Check that Business Details, Regional, Timezone in Upstack matches the store, so days line up with Shopify’s reports.

  5. Step 5

    Remove old tracking

    Turn off Shopify’s Facebook & Instagram and TikTok data sharing and uninstall other pixel apps, so purchases aren’t sent twice.

Check it

How to verify it’s working, and common fixes.

How to verify it’s working

  • The store shows Connected under System, Data Sources.
  • Browsing in an incognito window produces PageView, ViewContent and AddToCart in Real-Time Events within a few minutes.
  • A test order produces a Purchase with the right revenue and order details.
  • The UpstackData custom pixel shows Connected under Settings, Customer events.
  • Checkout runs in Shopify’s sandboxed frames, which most browser extensions (Meta Pixel Helper included) can’t see. Confirm checkout events through server events in the ad platform instead.

Common problems and fixes

The dashboard is at zero, or events stopped.
Shopify resets app embeds when you publish a new theme. Turn the Upstack embed back on in App embeds, save and test in an incognito window.
Events from another store, or none at all.
The Pixel ID in the theme embed doesn’t match this workspace. Compare it with System, Events Manager and update it.
More Upstack purchases than Shopify orders.
Shopify’s report may be filtered to Online Store, or include different statuses or a different timezone. Compare against all sales channels in the same timezone.
Revenue doesn’t match Shopify.
Shopify’s gross sales include tax and shipping, while the Purchase value typically reflects the cart subtotal. Compare gross minus taxes and shipping.
PageView or AddToCart counted twice.
A manual Upstack script runs beside the embed, or another tag fires twice. Keep only the official app embed and remove script tags from theme.liquid.
Historical data missing after install.
The backfill can take up to 2 hours. Contact support with your Pixel ID if it isn’t complete after 4.

Pre-built connectors

Shopify forwards to 34 destinations. Connect Shopify once. Every destination is already wired.

See all 34 Shopify connectors

Documentation

Set-up reference.

Set-up, event schema and field mapping for Shopify as a source, next to the Shopify developer docs.

FAQ

Shopify integration questions.

What does the Upstack Shopify app capture?

PageView, ViewContent, AddToCart, InitiateCheckout, AddPaymentInfo, Search and Purchase from the storefront and checkout, plus orders, cancellations, refunds and new customers directly from Shopify. No custom code is needed.

Which Shopify plans are supported?

Basic, Shopify, Advanced and Plus are fully supported, and Starter partly, since it has no online store. Shopify’s free trial period isn’t supported.

Do I need to edit my theme code?

No hard-coding is needed. You switch on the Upstack app embed in the theme editor and add the Upstack custom pixel under Settings, Customer events.

What happens if the pixel is blocked or goes down?

Purchases and refunds still reach Upstack directly from Shopify. The script loads asynchronously and fails silently, and event delivery is retried for up to 24 hours.

Does Upstack work with headless Shopify?

Yes. On Hydrogen, Next.js or Remix storefronts you add the Upstack Pixel script and fire storefront events with the JavaScript SDK, keep the custom pixel for checkout, and orders, refunds and cancellations still come from Shopify.

How long until events appear?

Real-Time Events shows them within a few minutes, dashboard analytics run a few minutes behind, and attribution reports take up to an hour while identity resolution completes.

Can I use Upstack on more than one store?

Yes. Each store gets its own workspace, Pixel ID and subscription, priced on that store’s monthly orders, all from one account.

How are post-purchase upsells counted?

An offer accepted after checkout is sent as a separate upsell_purchase for the extra amount, not a second Purchase. It works for orders tagged AfterSell Upsell within 2 hours of the order.

Which plans include the Shopify integration?

All plans. Upstack has three plans that scale with your order volume, and the same integrations are on every plan.

Which destinations can Shopify send to?

34 destinations, including Meta Conversions API, Google Ads Conversions, TikTok Events API, Pinterest, Snapchat and Reddit. Each one has its own pre-built connector.

Guides

Guides and related pages.

Background reading for the Shopify integration, and the Upstack pages that go with it.

Similar integrations

Other sources to connect.

See all integrations

Get Shopify tracking right.

A 15-minute walkthrough tailored to your stack and channels.