How pixels work on Shopify today
Most Shopify stores track ads in one of three ways. The ad platforms' own sales channel apps, like Facebook & Instagram, Google & YouTube and TikTok. Custom pixels added under Settings, then Customer events. Or a third-party pixel app from the App Store.
Shopify runs these pixels in a sandbox through its Customer events system, and it has been moving checkout tracking away from scripts pasted into the thank-you page. That's good for speed and security, but it means pixels see less of the page than they used to, and they still depend on the buyer's browser.
Where a Shopify pixel loses sales
On Shopify the common leaks are the same as anywhere, plus a few of its own. Buyers from Instagram and TikTok often start in an in-app browser and finish in Safari. Shop Pay and accelerated checkouts can move the buyer through a flow where your pixel's cookies don't come along. Some buyers close the tab the second their payment goes through.
Add ad blockers, iOS cookie limits and cookie banners, and it's normal to see Shopify report noticeably more orders than Ads Manager does for the same days.
What the native Shopify apps already do
Credit where it's due: Shopify's Facebook & Instagram app can send some events server-side through the Conversions API when you choose a higher data-sharing level, and the Google and TikTok apps have their own connections. For a store running one platform, that can be enough to start.
The limits show once you run ads on several platforms. Each app is set up and checked separately, each keeps its own idea of where the buyer came from, and none of them gives you one view of spend, sales and ROAS per ad.
There's also Snapchat, Pinterest, X, Microsoft Ads and Reddit. Many stores test them next to Meta and TikTok, and setting up server-side events for each one separately is where most owners give up.
What a dedicated Shopify pixel tracker adds
A Shopify pixel tracker like Settl sits next to those apps or replaces them, and adds:
- The ad click saved on your own store the moment the visitor lands, kept for 90 days.
- Every paid order sent from our server to Meta, TikTok, Google (GA4 and Google Ads), Snapchat, Pinterest, X, Microsoft Ads and Reddit, with hashed email and phone.
- One event id shared by browser and server, so each sale counts once.
- An hourly check on your Shopify orders, so nothing slips through.
- Delivery status per order, with automatic retries.
- Spend, sales and ROAS per ad from your connected ad accounts, with advice on what to scale or switch off.
Avoiding double tracking
The most common Shopify pixel mistake isn't missing events, it's duplicate ones: the same Meta pixel added by the Facebook app, a pixel app and a custom pixel at the same time. That inflates purchases and confuses the algorithm.
Before you add any tracker, list where each pixel id is installed and keep one browser source per platform. Settl's server events use the same event id as its browser events, so platforms can merge them correctly.
A quick way to check: open your store with the Meta Pixel Helper extension, add something to your cart and look at how many times the AddToCart event fires. One is right. Two or more means a duplicate somewhere.
What to expect in the first weeks
Once a Shopify pixel tracker sends purchases server-side, the first change is usually in your ads manager: more purchases reported for the same spend, and a gap with Shopify's order count that gets smaller. Give it at least a week before you judge, because platforms report purchases on the day of the ad interaction, and some buyers take days to decide.
The algorithm needs time as well. Meta and TikTok adjust delivery as more purchase data comes in, so look at results over two to three weeks rather than day by day. In the meantime, Settl's dashboard shows spend, sales and ROAS per ad based on your real Shopify orders, which gives you a steadier picture while the platforms catch up.
Don't expect the numbers to match Shopify exactly. Some orders come from email, search or word of mouth, and some buyers can't be matched by the platform. The goal is a gap that reflects reality, not one caused by blocked scripts.