How to check server-side tracking on Shopify, step by step
List your pixels under Settings > Customer events and set the Facebook & Instagram app to Enhanced or Maximum. Then confirm in Meta Events Manager that Purchase arrives from browser and server and counts once. Add Google Ads enhanced conversions before you pay for a server container.
By Joris van Huët, Founder & CEOUpdated 8 min read
Run the numbers for your store: the free server-side tracking ROI calculator.
Usually you can check it yourself in one sitting, no developer needed. See which pixels your store runs and raise Meta's data-sharing level in Shopify. Then confirm in Meta Events Manager that purchases arrive from browser and server and count once. If every platform you pay for passes, skip the separate server project.
The order below follows the data: your store first, then Meta, then Google, then the money. Every step names where to click.
Step by step
- List the pixels your store runs. Shopify's Customer events page lists app pixels and custom pixels in one place. Note each ad platform, and whether its pixel came with an app or was pasted in by hand. Path: Shopify admin > Settings > Customer events.
- Read each app pixel's privacy settings. Click the button next to an app pixel and select View customer privacy. In markets set to require consent, Shopify runs web pixels only after visitors give the permissions the pixel needs. Path: Settings > Customer events > (pixel) > View customer privacy.
- Check whether Shopify paused a pixel's data. An app pixel's data access is Optimized by default, and Shopify can pause data from a marketing pixel it sees oversharing. The activity log lists such changes from June 3, 2026 onward. Path: Settings > Customer events > (pixel) > View details.
- Raise Meta's data-sharing level. Standard sends data through the browser pixel alone. Enhanced and Maximum add the Conversions API, which sends the purchase event between Shopify and Facebook servers. Path: Sales channels > Facebook & Instagram > Settings > Data sharing settings > CHOOSE LEVEL.
- Place a test order with the Pixel Helper open. The Shopify Pixel Helper shows the events a pixel receives as they fire, one app pixel at a time. To test the Thank you page, you need a test order. Path: Settings > Customer events > (pixel) > Test.
- Confirm Meta hears from both senders. Meta says you should be able to verify received events within 20 minutes of sending them. On the pixel's Overview, Connection Method shows the channel each event came through. Path: Events Manager > Data Sources > (your pixel) > Overview.
- Check deduplication. With the pixel and the Conversions API both sending Purchase, Meta needs a matching event ID and event name to count one sale once. The Event Deduplication tab shows the rate of events deduplicated from each source. Path: Overview > Event Details (Purchase) > Event Deduplication.
- Read Event Match Quality. It rates how well the customer details in your server events match Meta accounts. Meta's developer guide recommends aiming for a score of 6.0 or higher. Path: Events Manager > (your pixel) > Overview.
- Turn on Google Ads enhanced conversions. It adds hashed first-party data, such as email addresses, to your conversion tags. Conversions imported from Google Analytics goals aren't supported, so check how your purchase action is set up first. Path: Goals icon > Settings > Enhanced conversions > Turn on enhanced conversions.
- Compare each platform with Shopify's orders. Use the same days on both sides. Shopify's count is the one ad blockers never touched, so it is your referee. Path: Analytics > Reports > Total sales over time, with the time unit set to day in the Dimensions menu.
Only after the last step does a server container of your own come up. Shopify says only certain app owners offer server pixels, so ask each remaining app's maker before you price a container. Google's Cloud Run setup guide is where that pricing starts.
A worked example
Start with one store's GA4 export, 1 January 2024 to 21 August 2026. On its Channels sheet, Paid Social holds 0.0% of revenue in last click, first click and touched views. Direct holds 57.7% on the same Channels sheet.
Now picture a shop whose export looks like that while Meta Ads Manager reports purchases week after week. Steps 4 to 8 change what Meta sees. None of them moves a row of the GA4 export, because the Conversions API talks to Meta's servers, not to Google Analytics.
For illustration, say Meta reports 40 purchases a week on the Standard level, with Shopify's orders flat. For illustration, step 4 then lifts Meta's count to 50 a week. In this illustrative case, the 10 extra are sales Meta can now see, not sales the ads newly made.
Step 7 is where the count can go wrong. For illustration, if the pixel sends 40 and the server sends 50 for the same 50 sales, Meta can record 90. In the illustrative case, matching event IDs bring the count back toward 50.
Purchase values differ by design, too. On Shopify, Meta events that track an order value use the order's total price, including duties, taxes and discounts. The Google & YouTube app's GA4 purchase value leaves out shipping charges and taxes. One order, two honest values.
And the GA4 row? Fix the links, not the servers. GA4 counts a visit as Paid Social when its source is a social site and its medium reads like cpc, ppc, retargeting or paid. That is a tagging job: see how to set up UTM parameters for Shopify.
What should you check when the numbers look wrong?
Meta shows more purchases than Shopify has orders. Open the Event Deduplication tab first. A low rate there means the pixel and the server are both counting the same sales.
The Pixel Helper says the pixel is awaiting consent. That is your consent setup doing its job. Accept the cookie banner, or click Give consent to continue test, then run the test again.
Pixels never fire, even after visitors consent. A cookie banner app must sync consent to Shopify through the Customer Privacy API. If it doesn't, Shopify says your pixels might not fire even after a customer agrees.
Events vanish on the new Order status page. With a custom domain, your customer account domain must be a subdomain of your store's domain, such as account.example.com. Otherwise Shopify says pixels and cookie consent won't work on that page.
A pixel went quiet with no error. Check its activity log for a Data access paused entry. If you still use that app, switch its data access from Optimized to Always on in the same place.
Server events arrive but match poorly. Low Event Match Quality usually means few customer details per event. Meta's help page ranks email and click ID as high-priority parameters.
GTM pasted in as a custom pixel misses events. Shopify says tags that Google Tag Manager loads there still run inside Shopify's sandbox, with the same limits. It is a browser setup, not a server container.
What to do this week
- Write the pixel list. Go to Settings > Customer events and note each pixel, its type and its data access setting. Pass: every ad platform you pay for appears once, as an app pixel where one exists. Fail: two pixels for one platform, which invites double counting.
- Run one test order. Open the Pixel Helper from Settings > Customer events > (pixel) > Test, then place a test order. Pass: a green dot next to the purchase event. Fail: a red dot, or "awaiting consent" after you already accepted the banner.
- Line up one week. Put Meta's purchases for last week next to Shopify's orders from Total sales over time for the same days. Pass: Meta's count sits below Shopify's total. Fail: it is higher, which no amount of better tracking explains, so start at the Event Deduplication tab.
Check the homework. Your GA4 Attribution paths export already holds the evidence. Causality Engine reads that one file and shows what each channel caused next to what last-click gave it, in 1 to 2 minutes, for €99 once (excluding VAT), refundable within 30 days. Check the homework
Sources, 1 October 2026: Pixels overview (Shopify); App pixels (Shopify); Facebook data sharing (Shopify); Sales reports (Shopify); Setting and comparing time ranges for your reports (Shopify); Verifying Your Setup (Meta); Handling Duplicate Pixel and Conversions API Events (Meta); About event match quality (Meta); Set up enhanced conversions for web using the Google tag (Google); Shopify event parameters (Google); Default channel group (Google); Set up server-side tagging with Cloud Run (Google)
Related answers
Frequently asked questions
Why does Meta report more purchases after I turned on the Conversions API?
Because it now sees purchases the browser pixel missed, and possibly some twice. Open the Event Deduplication tab in Events Manager. Meta only merges a pixel event and a server event when their event ID and event name match. It also only merges them within 48 hours of the first one.How soon do server events show up in Events Manager?
Meta says you should be able to verify received events within 20 minutes after they were sent. Event Match Quality takes longer to settle. Meta scores it on the last 48 hours of data, so judge it a few days after any change.Can I run server-side Google Tag Manager through Shopify's Customer events?
Only the browser half. Shopify lets you run Google Tag Manager as a custom pixel, but the tags it loads still run inside Shopify's sandbox with the same limits. A server container is a separate Google Cloud setup that the browser tag sends its data to.
Go deeper: Causal attribution, explained.
Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.
Keep reading
Terms in this article
- AnalyticsAnalytics is the systematic computational analysis of data. It reveals customer behavior and measures campaign performance.
- AttributionAttribution identifies user actions that contribute to a desired outcome and assigns value to each. It reveals which marketing touchpoints drive conversions.
- ConversionConversion is a specific, desired action a user takes in response to a marketing message, such as a purchase or a sign-up.
- Google AdsGoogle Ads is an online advertising platform where advertisers bid to display ads, service offerings, and product listings.
- Google AnalyticsGoogle Analytics is a web analytics service that tracks and reports website traffic.
- Google Tag ManagerGoogle Tag Manager is a tag management system that allows you to update tracking codes and related code fragments on your website or mobile app.
- RetargetingRetargeting is online advertising that targets users who have previously interacted with your website or content. Attribution analysis shows the causal role of retargeting in driving conversions and improving ad spend.
- UTM ParametersUTM Parameters are URL tags marketers use to track campaign effectiveness across traffic sources. They provide data for accurate campaign tracking and attribution in analytics platforms.