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:
- Read advertising cookies (
_fbp,_fbc,gcl*,_ga, etc.) - Extract URL parameters (
fbclid,gclid) - Initialize SDKs like
fbq,gtag, orttq - Expose those IDs to your Web Pixel or to a server-side endpoint
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:
- App Embed Extension → reads ad cookies, executes
fbq/gtag, sends IDs server-side - Web Pixel → listens to Shopify events and forwards
event_id+ consent state - Server-Side Tagging (GTM SS or custom) → merges client + server data → sends to Meta CAPI / Google Ads API
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:
- Web Pixel = site-centric tracking (on-site behavior, conversions, user consent)
- App Embed = ad-centric tracking (ad attribution, identifiers, cross-channel conversions)
They complement each other:
- The Web Pixel listens to what happens on Shopify (product views, cart additions, purchases).
- The App Embed connects these events to advertising ecosystems.
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:
- Shopify Web Pixels API → https://shopify.dev/docs/api/web-pixels-api
- Shopify App Embed Blocks → https://shopify.dev/docs/apps/build/app-surfaces#app-embed-blocks
- Meta Ads Conversions API → https://developers.facebook.com/docs/marketing-api/conversions-api
- Google Ads Enhanced Conversions → https://support.google.com/google-ads/answer/9888656
- Elevar Server-Side Tagging Overview → https://getelevar.com/courses/server-side-tracking/what-is-server-side-tracking/
- Shopify Checkout Extensibility → https://shopify.dev/docs/apps/checkout/validation/customize-checkout