In this guide
- Shopify's Facebook & Instagram channel can send Conversions API events without a server container. It is quick but covers Meta only.
- A server-side Tag Manager container adds control, cookies that last, stored customer data and other platforms.
- Whichever you use, deduplicate browser and server events with a shared event ID, and test with Meta Test Events.
Shopify stores usually want the same thing: Meta should see every purchase, with enough customer data to match it. Shopify gives you two main routes, and the right one depends on how many platforms you use and how much control you want. This page explains both, the Shopify-specific traps (the checkout is separate from the storefront, and Shopify changes how scripts run there) and how to test. See Meta Conversions API vs Pixel for the basics.
Route 1: the built-in Meta channel
Install Shopify's Facebook & Instagram sales channel and connect your Meta business account and dataset. In its data-sharing settings, choose the maximum level, which sends events through the Conversions API as well as the pixel. Shopify handles the event IDs and deduplication for you.
- Good for: a store that only advertises on Meta and wants a result in minutes.
- Limits: you cannot control or enrich the events much, it does nothing for Google, TikTok or others, and cookie lifetimes stay at Safari's defaults.
Connected in minutes
Add your domain, install the pixel, connect your ad platforms and watch the first events land.
Route 2: a server-side Tag Manager container
Shopify has moved away from letting stores paste code into the checkout. Tracking now runs through Shopify's customer events and custom pixels, which are sandboxed. A common pattern is a custom pixel that listens to Shopify's standard events (page viewed, product viewed, product added to cart, checkout started, checkout completed) and forwards them to your tagging subdomain. The server container then sends them on to Meta and other platforms. Shopify's rules and the sandbox change from time to time, so follow Shopify's current documentation for custom pixels.
Set up the tagging subdomain
For example data.yourstore.com, verified with your host. See DNS configuration.
Add a custom pixel in Shopify
In Settings, Customer events, add a custom pixel that sends the standard events to your container, with an event ID per event.
Map the customer data
Pass hashed e-mail and phone from the checkout events, with consent.
Turn off the other route
If you used the built-in channel before, set it to browser-only or turn its server events off, so Meta does not receive the same purchase twice.
What a server container adds for Shopify
Cookies that last
Open Tracked's Cookie Keeper restores _fbp and other cookies for returning Safari visitors. It is on every plan.
Stored customer data
The Data Store and Enricher add stored hashed e-mail and phone to later events from the same browser.
More platforms
The same events can feed Google Ads, GA4, TikTok and others.
Control
Remove or add fields per vendor, and respect consent in one place.
Watch events arrive, live
A sample feed. In Open Tracked you see the same stream for your own store.
Shopify traps
Test
- Open Meta Events Manager, Test Events.
- Place a test order on your store.
- Look for Purchase from the Browser and from the Server with the same event ID.
- Check that Meta marks one as deduplicated and that customer data shows on the server event.
- Compare Meta purchases with Shopify orders for a week.
Which route would we pick?
For a Shopify store that advertises only on Meta, spends a modest amount and has no one who wants to learn Tag Manager, the built-in channel is a sensible first step. Turn it on, check Test Events, and look at the match quality after a week. If the result is good enough, there is no need to add complexity. Add a server container when one of three things happens: you start advertising on a second platform, you notice that returning iPhone visitors are not matched, or you want to add data to the events that the channel does not send.
At that point the move is straightforward. Set up the tagging subdomain, forward Shopify's customer events to it with a custom pixel, add the Meta tag, and switch the channel's server events off so Meta does not receive two copies. Do it on a quiet day, compare Meta purchases with Shopify orders for the week before and after, and keep a note of the date so you can explain any change in the numbers.
Terms you will see
- Customer events
- Shopify's system for tracking what visitors do, used by custom pixels.
- Custom pixel
- A script you add in Shopify that listens to customer events.
- Data sharing level
- The setting in the Meta channel that controls whether server events are sent.
- Checkout extensibility
- Shopify's newer, app-based way to customise checkout.
- Dataset
- Meta's name for the place events arrive.
Runs on your domain, anywhere
Your tracking runs on your own domain, so a visit from any country is handled the same way.
Frequently asked questions
Does Shopify support the Meta Conversions API?
Yes. The Facebook & Instagram channel can send server events when you choose the maximum data-sharing level.
Do I need a server container for Shopify?
Not for Meta alone. A container helps when you use several platforms, want longer cookies or want to control the data.
How do I avoid duplicate purchases?
Use one server route for Meta, and share an event ID between pixel and server.
Can I add scripts to the Shopify checkout?
Shopify limits custom scripts in the checkout. Use customer events and custom pixels, following Shopify's current documentation.
Does Open Tracked work with Shopify?
Yes. Open Tracked hosts the server container that receives events from your Shopify store, from the free plan upwards.
Do I need spreadsheets to read my results?
No. Once tracking is live, the Open Tracked analytics shows spend, revenue, ROAS and profit, and you can ask Ari, the built-in AI assistant, questions about your own numbers in plain words. Ari's allowance depends on your analytics plan.
Is Open Tracked different from Open Track or Open Space Track?
No. Open Tracked is the official name of our server-side tracking platform, and the website is opentracked.io. Many people search for it as Open Track, OpenTrack or Open Space Track. All of them lead to the same product: server-side Google Tag Manager hosting, first-party analytics and a CRM pipeline.

Fix your tracking at the source
Open Tracked hosts your server-side Tag Manager, keeps first-party cookies alive and shows what each ad is really worth.
The Open Tracked team
We build Open Tracked: server-side tracking hosting, analytics and the tools around them, for stores that spend on ads. Questions about this guide, or an idea for the next one?
Comments
Loading comments...
