Shopify has modernized its tracking ecosystem with the introduction of Web Pixels — a concept I’ve covered before.
It’s clean, sandboxed, privacy-compliant… but it remains primarily site-centric.
The Web Pixel listens to Shopify-native events such as product_viewed, add_to_cart, and checkout_completed, yet it has no access to the DOM, cookies, or advertising identifiers.
In practice, it cannot read _fbp, _fbc, _gcl_aw, fbclid, or gclid values.
source=https://shopify.dev/docs/api/pixels

From Site-Centric to Ad-Centric Tracking

That raises the obvious question: what if you need to measure ad conversions — not just user interactions on the site?
Shopify’s Web Pixel is excellent for analytics but lacks the identifiers that link an ad click to a purchase.
This is where the “ad-centric” concept comes into play.
source=https://shopify.dev/docs/api/web-pixels-api

Why This Limitation Matters

If you want to build ad tracking that reliably feeds platforms such as Meta Ads, Google Ads, or TikTok, you need to capture and use ad identifiers.
They’re the glue between the click and the conversion — the key to attribution.
Without _fbp, _fbc, gclid, or fbclid, there’s no way to prove which ad generated a specific order.
Unfortunately, the Shopify Web Pixel can’t access them.
It only sees events happening inside the Shopify sandbox, not who the user is or where they came from.
source=https://help.shopify.com/en/manual/promoting-marketing/pixels

The Solution: The App Embed Extension

The workaround (and now best practice) is to use an App Embed Extension.
An App Embed is a front-end Shopify extension authorized to execute code inside the main storefront context.

It’s the only layer that can:

Essentially, the App Embed acts as a bridge between the real browser environment and Shopify’s sandboxed tracking ecosystem.
source=https://shopify.dev/docs/apps/build/app-surfaces#app-embed-blocks

But Isn’t This Against Shopify’s Best Practices?

Technically, yes.
Shopify’s Checkout Extensibility model encourages developers to minimize direct client-side code.
However, if you want to access identifiers that connect front-end ad signals with server-side conversions, you have little choice.
There’s currently no other layer capable of retrieving those identifiers in compliance with browser sandboxing and Shopify’s API model.
source=https://shopify.dev/docs/apps/checkout/validation/customize-checkout

The 2025 “Clean Architecture” for Ad Tracking

A proper architecture in 2025 usually looks like this:

This layered model ensures both compliance and reliability while separating business logic between front-end and server-side environments.
source=https://shopify.dev/docs/apps/build/marketing-analytics/build-web-pixels

Site-Centric vs. Ad-Centric Tracking — and Why You Need Both

In short:

They complement each other:

If you want reliable, privacy-safe ad tracking on Shopify, the duo “Web Pixel + App Embed” has become essential.
source=https://getelevar.com/courses/server-side-tracking/what-is-server-side-tracking/

Recommended References

For deeper implementation or validation: