All resources
IntegrationUpdated August 10, 2026

Server-side conversion tracking for Shopify

Shopify makes it easy to add a pixel and hard to keep it accurate. Ad blockers, iOS and Safari's tracking limits quietly drop a share of your conversions, so Meta and Google optimize on less than you actually sold. Server-side tracking closes that gap by capturing the purchase from the order itself, not from a script in the browser.

Why Shopify conversion tracking leaks

Every browser-based pixel on a Shopify store shares the same weaknesses:

  • Ad blockers stop the script before it fires, so the event never happens.
  • Safari's ITP caps tracking cookies at 7 days, so returning buyers lose attribution.
  • Checkout limits. Shopify restricts custom scripts in checkout, so client-side purchase tracking is fragile by design.

The result is familiar: the store shows a sale, the ad platform does not, and reported ROAS drifts below reality.

How server-side tracking works on Shopify

SetRoasFlow installs as a Shopify app and captures data in two complementary ways:

  • The on-site funnel (page views, product views, add to cart, checkout started) is captured by a Shopify Web Pixel, which runs in Shopify's sandbox without touching your theme.
  • The purchase is captured server-side from the Shopify order webhook. Because it comes from the order itself, an ad blocker or a closed browser tab cannot cost you the conversion.

From there, each event is unified into a first-party customer profile and delivered server-side to your destinations: Meta, Google, TikTok and more receive the conversion through their conversions APIs, with sensitive fields hashed before they leave.

What you get

  • Complete purchase data to every ad platform, including the sales client-side pixels miss.
  • One profile per customer, resolved across sessions and devices, with lifetime value and order history.
  • First-party durability, so identity survives Safari's cookie limits.
  • Consent enforced per visitor and region before anything is sent, with plaintext personal data staying in your own first-party layer.
  • Optional sync of segments and profiles to your CRM, so email and ads work from the same customer.

Setup: no code, no developer

  1. Install the SetRoasFlow app on your Shopify store.
  2. Paste your project token when prompted.
  3. That is it. The Web Pixel and the order webhook are registered for you. Purchases start flowing server-side, and you can confirm each delivery in the dashboard.

There are no checkout.liquid edits, no theme changes, and no snippet to maintain. Shopify and WooCommerce stores work without writing tracking code.

Want the same on a custom site? SetRoasFlow is a customer data layer for any website, not just Shopify. The store integration is one way in, not the whole product.

Frequently asked questions

Do I need to edit my Shopify theme code?

No. SetRoasFlow installs as a Shopify app: a Web Pixel captures the on-site funnel and a webhook captures the purchase from the order itself. No checkout.liquid edits and no developer required.

Will the purchase still be tracked if a shopper uses an ad blocker?

Yes. The purchase is captured server-side from the Shopify order webhook, which ad blockers cannot touch. Only the lightweight on-site events depend on the browser.

Own your customer data, end to end.

SetRoasFlow unifies every visitor into one first-party profile and feeds it to every channel you run. Server-side, on your own domain.

Request early access