Meta gets the purchase. Give it the whole funnel.
The free channel app is a good way to connect your store to Meta. PixelRelay is what you add when you need every step of the funnel — product views, add-to-carts, checkout starts and purchases — relayed server-side to Meta and to every other platform you run, from one install, with a per-order record of what actually arrived.
Keep the sales channel for catalog and social selling. This is about the measurement layer.
Purchases optimise. The events before them are what teach.
Meta's algorithm learns from the whole journey, not just the last step. Upper-funnel events are what build lookalikes, feed retargeting pools, and let a campaign optimise for add-to-cart before you have enough purchase volume to optimise on.
PixelRelay relays the complete set server-side, in Meta's own event vocabulary, with hashed customer match fields where available — so match quality in Events Manager comes from real first-party data rather than whatever survived the page.
One authoritative path in. One event spec out.
Order capture is server-to-server: Shopify hands the order straight to our server, so there is no browser script on that path for anything to strip. A first-party script rides alongside it — served from your own store's domain, never a third-party one — purely to attach the ad-click receipts that earn your campaigns credit.
From there it's one set of rules fanned out to every destination you've connected — GA4, Meta, Google Ads, TikTok, Klaviyo, Bing, Reddit, Snapchat, Pinterest, LinkedIn and Segment, plus your own server endpoints. Change a rule once and every platform gets the change. No GTM container, no theme edits, and no digital fingerprinting — first-party signals only.
Each platform gets the proof of click it recognises.
A shopper can touch three platforms before they buy. PixelRelay captures every one of those ad-click receipts on a single first-party cookie, then hands each destination the parameter it understands — so the same order can be credited correctly everywhere, and you keep one owned record of the overlap.
Know it arrived. Know when it didn’t.
Most tracking setups give you a number in a platform dashboard. The number you actually need is which orders are behind it — and which ones aren’t.
Per-order reconciliation
Live delivery status for every order, per platform, checkable against your Shopify admin — with the reason when one didn’t relay: duplicate, stale order, quota, relay disabled.
Retries that surface
Failed sends are retried automatically, capped, and surfaced in your dashboard if they still can’t be delivered — so a failure becomes a task, not a silence.
Counted once
PixelRelay recognises sales an existing sender already reported and doesn’t send them again. One order stays one conversion, in every dashboard.
Breakage alerts
Threshold-based, not hopeful: events quiet for four hours, or delivery under 80% across a day, and you hear about it — instead of finding out at month end.
Two senders, one dataset.
PixelRelay deduplicates against events another sender already reported — one order, one purchase event. Where two senders can't be matched, though, a platform can record the same sale twice, so it's worth deciding which one is canonical before you scale spend on the numbers.
Two senders, no decision
If both report the same order and the events can’t be matched, your totals stop agreeing with Shopify — and optimisation follows the inflated number.
One canonical source
Pick the source of truth for conversions and let the other stand down. The coexistence guide walks through the settings on both sides.
What we do — and how to check what you have.
We’re not going to tell you what another app does under the hood; we don’t run it and it changes. Here’s what PixelRelay does, and the question that settles each row for your own store.
| Capability | PixelRelay | Check in your own admin |
|---|---|---|
| Event coverage | Product views, add-to-carts, cart views, checkout starts and purchases — the whole funnel, relayed server-side | Open your platform’s event dashboard. Which of those five are arriving, and which are marked server-side? |
| Destinations | One install, one event spec, 11+ destinations — including ones with no free channel app | Count the tracking apps on your store. To change one rule, how many places do you change it? |
| Ad-click receipts | gclid, gbraid and wbraid for iOS, fbclid and ttclid — captured on one first-party cookie with a 365-day window | Pull a recent converting order. Can you see which ad click it came from, on every platform at once? |
| Per-order delivery | Live delivery status per order, per platform — with the reason when one didn’t relay | Name an order from yesterday that didn’t reach the platform. Can you? |
| Retries | Automatic and capped on failed sends, surfaced in your dashboard if they still can’t be delivered | When a send fails today, where does that appear? |
| Breakage alerts | Threshold-based — events quiet 4h, or delivery under 80% over 24h | If tracking broke this morning, what would tell you, and how long would it take? |
| Counted once | Recognises sales an existing sender already reported, so one order stays one conversion | If you add a second sender to this dataset, what stops the same sale counting twice? |
| Conversion value | Adjusted for excluded products — gift cards, shipping protection — so you bid on revenue you actually want | Does the value you optimise against include line items you’d rather not bid on? |
| Subscriptions | Recharge subscription starts and renewals relay as conversions | Do renewals show up as conversions in your reporting today? |
| Headless | Works on Hydrogen and headless storefronts | If you moved off the Online Store theme tomorrow, what would still be tracking? |
The right-hand column is deliberately a question, not our description of another app. We don’t run it, and it changes.
When the free app on its own is enough.
If Meta is the only platform you advertise on, you’re not spending much yet, and nobody is making budget decisions off the numbers — the free channel app on its own is a perfectly reasonable place to be. Adding a relay would be paying to solve a problem you don’t have.
It stops being enough when you run more than one platform, when upper-funnel events start mattering for audiences and learning, or when someone asks which orders a dashboard is actually missing and nobody can answer.
- One platform, early spendThe channel app is fineNothing is riding on the numbers yet, and the funnel gaps cost you nothing.
- Multiple platforms, real budgetConsolidate the measurement layerOne event spec, every destination, and a per-order record you can check.
Before you change anything.
We describe what PixelRelay does; we don’t describe another app’s internals. Shopify and Meta change their app settings and menus periodically — confirm the current labels in your own admin. Last reviewed August 2026.
Stop losing conversions to ad blockers.
Install the Shopify app from the App Store and start relaying orders server-side today.
// install from the Shopify App Store. That’s the whole setup.
delivery status you can check against Shopify.Failed sends retry automatically and surface in your dashboard.