The short version
Add the Meta pixel through Shopify's Facebook & Instagram sales channel: in the channel's Share data settings, turn on customer data sharing, pick one of three levels, then connect or create the pixel.
Standard sends only customer behavior through the browser pixel, while Enhanced and Maximum add Meta's Conversions API, which sends the purchase event from server to server, along with personal details such as name, location and email.
Remove any Meta pixel code left in your theme first, because a second install can report duplicate data.
None of the Shopify Help Center pages we read on October 11, 2026 says the channel deduplicates browser and server events or recommends a level, so confirm one purchase per order yourself in Meta's Test events tool.
Setting up the Meta pixel on Shopify touches four places: your store's privacy settings, the Facebook & Instagram sales channel, Customer events, and Meta Events Manager. The clicks are few. The decisions around them — which route, which data-sharing level, what to remove first — decide whether one order reaches Meta as one purchase.
This guide follows Shopify's Help Center and Meta's own help pages as read on October 11, 2026, and says so wherever the two disagree or stay silent.
Already know your route? Go straight to the eight setup steps. If the pixel is live and Meta's numbers look wrong, start at events missing or doubled.
What You Are Setting Up: Pixel, Conversions API, Dataset
Key takeaway
You are connecting two ways of sending the same store activity to Meta. The Meta pixel is, in Meta's words, “a piece of code that you put on your website”; the Conversions API is designed to create a direct connection between your marketing data and Meta.
On Shopify you paste neither. Both are switched on inside one sales channel, and what you see on Meta's side afterwards is a dataset in Events Manager.
Three Ways to Connect the Meta Pixel to Shopify
Key takeaway
Shopify gives a store one place for tracking code, Settings > Customer events, and two ways to add a pixel there: app pixels, installed through marketing and data collection apps, and custom pixels, added manually by a developer. Its advice between the two is plain.
When possible, choose an app pixel integrated with a third-party service to leverage higher security and include automatic updates.
For Meta, the route Shopify documents on its Meta pixel page is the Facebook & Instagram channel.
Three routes for the Meta pixel, and who owns each
| Route | What it is | Who maintains it | What Shopify says |
|---|---|---|---|
| Facebook & Instagram channel | Meta's sales channel; the pixel and the data-sharing level are set in the channel's settings | Meta maintains the channel | The route its Meta pixel page documents; for a Meta pixel from the old Preferences page, Shopify's migration page says to migrate it to this channel |
| Custom pixel | JavaScript you add yourself under Settings > Customer events | You or your developer | Unsupported by Shopify; an advanced feature that requires JavaScript knowledge; qualifies as data sale by default |
| Google Tag Manager | A GTM container run as a custom pixel | You or your developer, inside GTM | “You can run Google Tag Manager as a custom pixel” — so the custom pixel conditions apply |
Shopify Help Center pages on pixels, custom pixels, pixel migration and the channel's setup, read October 11, 2026.
One caveat about names: Shopify defines app pixels as scripts installed as part of a third-party app or sales channel, but none of the Shopify Help Center pages we read calls the channel's pixel an “app pixel” in those words (see what we looked for and did not find). In our development store, on October 12, 2026, the installed channel was already listed as a pixel under Customer events before any Facebook account was connected.
A custom pixel is the route for a store that needs its own event logic. Shopify says custom pixels help you collect customer events on even more pages of your online store, such as the checkout and post-purchase pages.
The price is ownership. Shopify states that adding and using custom pixels is unsupported and that it is an advanced feature that requires JavaScript knowledge. It also says Meta's pixel SDK doesn't automatically transmit data from a Shopify custom pixel, and that any HTML in the third-party code needs to be removed, because the pixel sandbox only supports JavaScript.
Google Tag Manager is the same route under another name: Shopify says you can run GTM as a custom pixel, so everything above applies to it. Whether your store needs GTM at all, how to build the container, and how Consent Mode v2 fits Google's tags are covered in our guide to Google Tag Manager on Shopify. Its answer for Meta matches Shopify's advice here: use the channel unless you have a specific reason not to.
What happened to pasted pixel code?
Key takeaway
Most older tutorials describe a fourth route: paste Meta's code into the theme, into a field under Online Store > Preferences, or into the Additional scripts box in the checkout settings. Each of those has changed.
Where pasted pixel code lived, and what to do with it now
| Where the code lived | Status today | What to do |
|---|---|---|
| The theme (theme.liquid) | Still runs if you leave it. Beside the channel it means more than one pixel on the store, which Shopify says can result in duplicate or incorrect data in your reports | Remove the pixel code from the theme before you connect a pixel in the channel. Shopify's page gives both orders: its section on changing or removing a pixel says before you add a pixel ID, its introduction says after you set up the pixel. Removing it first leaves no overlap |
| Online Store > Preferences | Meta pixels that were not set up through the app were removed from this page as of February 2025 and converted to custom pixels in Customer events | Find the converted pixel among your custom pixels and migrate it to the Facebook & Instagram channel |
| Additional scripts | Not supported on the new Thank you and Order status pages; August 26, 2026 was the deadline to upgrade those pages on non-Plus plans | Replace the script with an app pixel or a custom pixel |
| checkout.liquid (Plus only) | One of the places Shopify lists for existing pixel code | Remove or modify it before you add a custom pixel, so customer events aren't counted twice |
Shopify Help Center pages on the Meta pixel, pixel migration, managing custom pixels and Additional scripts, read October 11, 2026.
Shopify's own pages are out of step on the Preferences field. Its pixel migration page says the Meta pixels there were removed as of February 2025 and converted to custom pixels “to attempt continuity in your measurement”, while its Meta pixel page still carries a section on removing a pixel from Preferences.
If you remember pasting a pixel ID into that field, look under Settings > Customer events instead: a converted pixel sits with your custom pixels. Shopify's instruction for it is short — migrate your Meta pixel to the Facebook & Instagram channel.
Moving off Additional scripts can show up as fewer events, and Shopify explains why: app pixels and custom pixels only track customer behavior with consent, “whereas consent is often not set up properly in additional scripts or checkout.liquid code”.
Hand-pasted snippets are the opposite case. Shopify warns that code snippets can be used to bypass customer consent requirements, which violates the Shopify Terms of Service and can lead to legal liability for you. The wider move off the old Thank you and Order status pages is covered in our checkout extensibility guide.
Which Route Fits Your Store?
The three-route table answers by route. The five questions below answer by situation: what is already in your store, who else touches your tracking, what you need to measure, where your visitors are and which data you are prepared to send.
No answer is wrong here. Each result is a legitimate route with its first moves, not a score.
Which route to the Meta pixel is yours?5 questions → a route, what to do first, and what your privacy settings change
What to Have in Place Before You Connect
Key takeaway
A setup that stalls usually stalls on access, not on the pixel. Check the items below before the first click.
Accounts and permissions
Key takeaway
Shopify's requirements and setup pages for the channel list what has to be true before you start:
- A Shopify online store that is not in private mode.
- A Sender email for the store that is a valid email address.
- A published Facebook Page that belongs to the business.
- A personal Facebook account with full control of both the business portfolio and that Page.
- A business portfolio that owns the Page: during onboarding, the portfolio you select must be the Page's owner.
- For advertising, a Facebook ad account. Shopify says you need to connect one to create Facebook ads, and to add one to your business portfolio if you've never run ads with a personal ad account.
Staff don't inherit the connection. If a staff member sets the channel up, Shopify says it is displayed to all other staff but won't display as connected for them, and that staff member's own Facebook account needs the same full control of the portfolio and the Page.
Inside Shopify, three permissions are in play. Shopify says that to manage app pixels you need the Manage and install apps and channels permission, while viewing Customer events and managing custom pixels each have their own. Our FAQ on which permission manages app pixels shows where each one sits.
Is the channel free, and on which plans?
Key takeaway
Shopify's Help Center says the channel is free to use with all Shopify plans, subject to store eligibility. The App Store listing read “Free to install. Additional charges may apply.” on October 11, 2026.
The charge the listing itself names is advertising: you set the budget, and the ad spend is billed directly to your Facebook ad account.
The two companies describe the plan floor differently. Shopify's page says all Shopify plans; Meta's help page on the Shopify integration lists “The Basic Shopify plan or higher” among its requirements. None of the Shopify pages we read on October 11, 2026 says whether the channel can be installed on the Starter plan.
If you are on Starter, the install screen is what governs. Add the channel from the listing and see whether your store is accepted before you plan a campaign around it.
Availability also depends on where the business is. Shopify's product page says channel features are subject to regional availability, and the country requirement its Help Center publishes is the list of supported countries for Shops on Facebook and Instagram.
How to Add the Meta Pixel Through the Channel
Key takeaway
The pixel is added in the channel's settings, but the settings around it sit in four places: Shopify's Customer privacy page, the channel, Customer events, and Meta Events Manager. The checklist puts them in working order.
Steps one, seven and eight apply on every route. Steps three to five are the channel route; on a custom pixel or GTM your own build replaces them, and step two still comes before your build. If the channel is already connected, start at step four to see which level is on, then continue to step six; go back to step two only if old pixel code may still be on the store.
Tick steps off as you go — progress is saved in this browser.
Set up and verify the Meta pixel — in this orderEight steps across four places: Shopify's Customer privacy settings, the Facebook & Instagram channel, Customer events, and Meta Events Manager.
Set up and verify the Meta pixel — in this order
Eight steps across four places: Shopify's Customer privacy settings, the Facebook & Instagram channel, Customer events, and Meta Events Manager.
Decide where the cookie banner shows and whether you need a data sharing opt-out page before any pixel runs.
Before you tick this off
- Settings > Customer privacy is open and the cookie banner regions match where you sell
- A privacy policy is published — Shopify requires one before a data sharing opt-out page can be used
- You have decided whether US visitors need a data sharing opt-out page
Take the Meta pixel out of the theme and out of leftover custom pixels, so the store reports through one install.
Before you tick this off
- No Meta pixel code is left in the theme
- Settings > Customer events holds no custom pixel that sends the same Meta events
- Nothing depends on Additional scripts, which the new Thank you and Order status pages don't support
Install Facebook & Instagram and connect the business portfolio and Page with a Facebook account that has full control of both.
Before you tick this off
- Facebook & Instagram is listed under Sales channels
- The Facebook account you signed in with has full control of the business portfolio and the Page
- The business portfolio you selected owns the Page
In Share data settings, switch on customer data sharing and choose Standard, Enhanced or Maximum.
Before you tick this off
- Enable data-sharing is on in the Customer data-sharing section
- You know what the chosen level sends: behavior only on Standard, personal details as well on Enhanced and Maximum
- Your privacy policy tells customers how you share their data
Connect the pixel your ad account already uses, or create a new one in the channel.
Before you tick this off
- You clicked Connect for an existing pixel, or Create new for a new one
- Any agency or app that manages your ads knows which pixel is connected
Review the pixel's data access setting in Customer events: Optimized is Shopify's default for app pixels, Always on is what Meta recommends.
Before you tick this off
- You opened the pixel from Settings > Customer events
- You know whether it is set to Optimized or Always on, and why
With Test events open in Meta Events Manager, browse the store, add to cart and complete a test order.
Before you tick this off
- The Test events page stayed open while you browsed — website activity is only recorded while it is
- The events you triggered showed up in Test events, ending with the purchase
- You ran the same visit through the Shopify Pixel Helper
Check which events Meta processed and which it deduplicated, and that only one pixel ID is active on the store.
Before you tick this off
- Test events shows which events were processed and which were deduplicated
- Only one pixel ID is active on the storefront
- The test order appears once in Shopify and once as a purchase in Meta
Add the channel and connect your Meta assets
Key takeaway
The pixel lives inside the Facebook & Instagram sales channel, so the channel comes first. Shopify's setup page has you click Start set up on the feature that you want to install first; Meta's version of the same steps includes following the prompts “to install features for commerce, ads and Meta Pixel setup”. Shopify adds that a Meta pixel can be added when you're setting up Instagram Shopping or Facebook Shop.
The full install — finding the channel in the App Store, the permissions screen, connecting the account — is walked through click by click in our guide to installing and connecting the channel. One detail from the setup page matters for troubleshooting later: the channel is maintained by Meta, and Shopify says it has limited insight into the onboarding errors.
Turn on customer data sharing
Key takeaway
Shopify's Meta pixel page gives the path in the admin:
- From your Shopify admin, go to Sales channels > Facebook & Instagram.
- Click Settings, and then click Share data settings.
- In the Customer data-sharing section, click the Enable data-sharing toggle.
- In the Choose data-sharing level section, select Standard, Enhanced or Maximum.
The order is fixed. Shopify says that before you can add a Meta pixel you need to activate data sharing, and that to use a Meta pixel you need to set a customer data-sharing level.
You don't have to choose blind at step four. In one line each, in Shopify's terms:
- Standard sends only customer behavior, collected by the Meta pixel in the browser.
- Enhanced uses Facebook's Conversions API as well as the Meta pixel, and shares your customer's personal information to match users on Facebook's network.
- Maximum uses Facebook's Conversions API and the Meta pixel, shares the same personal information as Enhanced, and “is updated with Facebook's latest advertising technology”.
The level can be changed at any time in the channel's settings, so this is not a one-way door. If your privacy policy is not ready to name a customer's personal details, Standard keeps the sharing to behavior. The three are compared in full, with how to choose between them, under what each level sends to Meta.
Two things to expect on screen. Shopify's Help Center names this screen Share data settings on one page and Data sharing settings on another, so look for either label.
And the screen sits inside Meta's embedded interface: in our development store, on October 12, 2026, with no Facebook account connected, the channel showed only Get support, Connect Facebook account and Get started, and no Settings item — so connect the account first.
Connect or create the pixel
Key takeaway
With a level selected, the same screen offers the pixel itself. Shopify's wording: “Click Connect to connect a preexisting Meta pixel or click Create new to create a new Meta pixel.” A new pixel can be created right there in the channel or in Facebook Ads Manager; in Meta Events Manager, you click Connect data, select Web, click Connect, then enter a name and click Create pixel.
If your ads already run against a pixel, connect that one. Meta says you can use one pixel across your whole website, while noting there may be a need to use two.
To replace the pixel later, the Share data settings section has a Change button that removes the current pixel before you connect or create another.
Before you do either, check who else is sending data: Shopify says that if you work with an advertising agency or use an app to manage your Facebook ads or traffic, you should make sure that adding a Meta pixel won't cause duplicate or incorrect data in your reports.
If you would rather watch the clicks first, the video below is an app developer's walkthrough from February 2026, on Judge.me's channel, of installing the Facebook & Instagram app and creating and checking a pixel. Treat it as a demonstration of the screens; the settings and limits on this page come from Shopify's and Meta's own documentation.
Check the pixel's data access setting
Key takeaway
One more setting sits outside the channel. Under Settings > Customer events, Shopify gives app pixels two data access types, and by default the setting is Optimized. Under Optimized, when Shopify detects that a marketing pixel is sharing more data than is needed, it can pause some or all data shared by that pixel until relevant activity resumes.
Meta's advice on data access runs the other way. Its help page on the Shopify integration says: “We recommend enabling Always On to help ensure the most reliable performance.” Shopify's changelog entry on the default describes the opt-out in the same place: adjust pixel settings in Settings > Customer events and set pixels to always on.
Shopify's steps for changing data access are short: click the name of the pixel that you want to update, select Optimized or Always on on the detail page, and click Save. In our development store, on October 12, 2026, the Facebook & Instagram row was already in the Customer events list, but its detail page showed an activity log and no Optimized or Always on option while no Facebook account was connected. On the pixel page of RealtimeStack, a third-party app we installed in the same store for the screenshot below, both options were there, with Optimized selected.
If Customer events itself is greyed out for you, that is a permissions question, answered in why Customer events is greyed out.
Standard, Enhanced or Maximum: What Each Level Sends to Meta
Key takeaway
Shopify's data-sharing settings offer three levels: Standard, Enhanced, or Maximum. The difference between them is what leaves your store: behavior only, or behavior plus the customer's personal details, and through the browser alone or between servers as well.
What each data-sharing level sends to Meta
| Level | How data reaches Meta | Customer data Shopify lists | Shopify's own sentence |
|---|---|---|---|
| Standard | The Meta pixel, from the shopper's browser | Customer behavior only | “a Meta pixel collects data from customer browsing behavior in your online store” |
| Enhanced | The Meta pixel, plus Facebook's Conversions API between servers | Name, location, email address and phone number, as well as browsing behavior | “your store uses Facebook's Conversions API as well as the Meta pixel” |
| Maximum | Facebook's Conversions API and the Meta pixel | Name, location, email address and phone number, as well as browsing behavior | “your store uses Facebook's Conversions API, Meta pixel, and is updated with Facebook's latest advertising technology” |
Shopify Help Center, Facebook data sharing, read October 11, 2026. Customer data as listed on that page; Shopify's Meta pixel page lists name, location and email address.
Put the two upper levels side by side and Shopify's descriptions run parallel. For Enhanced: “your store uses Facebook's Conversions API as well as the Meta pixel.” For Maximum: “your store uses Facebook's Conversions API, Meta pixel, and is updated with Facebook's latest advertising technology.” Both, in Shopify's words, share your customer's personal information to match users on Facebook's network.
Which personal details, exactly, depends on the page you read. Shopify's Facebook data sharing page lists the customer's name, location, email address and phone number, as well as their browsing behavior; its Meta pixel page lists name, location and email address. Both were read on October 11, 2026.
When you describe the sharing in your privacy policy, use the longer list. It covers either reading.
One more line on that page matters if your channel has been installed for years: “Depending on when you installed Facebook and Instagram by Meta, the customer data-sharing levels offer different privacy settings.”
Which level should you pick?
Key takeaway
Shopify leaves this to you. Its page states that “Data sharing is a choice”, and none of the Shopify Help Center pages we read recommends Standard, Enhanced or Maximum over the others; the note at the end of this section lists what we read. What Shopify does attach to the choice is a duty.
Because you decide how the personal information of your customers is shared, you need to make sure your customers understand how you collect and process their personal information.
The recommendation comes from Meta. Its help page on the Shopify integration tells merchants: “In your data sharing settings on Shopify, select Enhanced or Maximum.” A Shopify blog post on the pixel reports the same preference: “Meta recommends ‘Conversions API and Meta pixel’ for the best tracking and optimization.”
That is an ad platform's advice about its own measurement, so weigh it against what you are willing to send.
One Shopify source could mislead you about where the Conversions API starts. A Shopify blog post on the Conversions API describes “a Maximum option that turns on Facebook's Conversions API”, while the Help Center page describes the API under Enhanced as well. Go by the Help Center page and by the description shown beside each level in your admin.
In practice the decision is about the personal details. If your privacy policy and your consent setup are ready for a customer's name, location, email address and phone number to go to Meta, both upper levels add the server-to-server purchase event. If they are not, Standard keeps the sharing to behavior, and Shopify says the level can be changed at any time in the channel's settings.
- Shopify's Help Center pages on the Meta pixel, Facebook data sharing, app data sharing, pixels (the overview, app pixels, custom pixels with their code, management and testing pages, and pixel migration), customer privacy settings, US state privacy laws, the Thank you and Order status upgrade with its Additional scripts page, and store permissions;
- the Help Center section for Facebook and Instagram by Meta (overview, setup, requirements, Instagram, Facebook Shop, publishing products and product categories);
- the channel's App Store listing and Shopify's product page for it;
- two Shopify blog posts, on the pixel and on the Conversions API;
- one shopify.dev page about pixels;
- and Meta's help page on the Shopify integration.
What the Conversions API Does in Shopify's Setup
Key takeaway
Meta describes the Conversions API as a direct and more reliable connection between your marketing data and Meta. On Shopify you don't build that connection: selecting Enhanced or Maximum turns it on. Shopify's description of what it does is one sentence long: “The Conversions API sends the purchase event between Shopify and Facebook servers.”
The reason to want it is the browser. Shopify says ad blockers can block a web pixel entirely, which prevents its events from being sent, while data sent from server to server can't be blocked by browser-based ad blockers. Meta makes the same point from its side — data from the Conversions API is less impacted than the Meta Pixel by browser loading errors, connectivity issues and ad blockers — and advises using the two together.
Less exposed to blockers is not the same as exempt from consent, and Meta says so itself.
Like the pixel, the Conversions API isn't designed to be a means to bypass data-sharing policies such as the iOS App Tracking Transparency framework or privacy rules in Europe such as the ePrivacy Directive.
So the server-to-server purchase event is a reliability feature, not a privacy workaround. What a customer's consent does to it comes after the events themselves.
Which events the channel tracks
Key takeaway
Shopify lists seven events that the pixel tracks automatically once it is integrated with your online store. On the server side, its documentation names one.
Events the channel's pixel tracks, and what Shopify says about the server side
| Event | Browser pixel | Conversions API (Enhanced, Maximum) |
|---|---|---|
| PageView | Tracked automatically | Not stated on the pages we read |
| ViewContent | Tracked automatically | Not stated on the pages we read |
| Search | Tracked automatically | Not stated on the pages we read |
| AddToCart | Tracked automatically | Not stated on the pages we read |
| InitiateCheckout | Tracked automatically | Not stated on the pages we read |
| AddPaymentInfo | Tracked automatically | Not stated on the pages we read |
| Purchase | Tracked automatically — when a visitor completes a purchase and views the thank you page in the checkout | Named by Shopify: the purchase event is sent between Shopify and Facebook servers |
Shopify Help Center, Facebook data sharing, read October 11, 2026. “Not stated” describes the pages listed under What we looked for and did not find; it is not a statement by Shopify that the event is absent.
That gap matters when you read Events Manager. None of the Shopify pages we read publishes a full list of the server events the channel sends beyond the purchase (see what we looked for and did not find), so what your own dataset receives from the server is something to observe in Meta's tools, not to assume.
Two details help when the numbers look odd. Events that track an order value use the order's total price — the sum of all the prices of all the items in the checkout, including duties, taxes and discounts. And names can differ between tools: Shopify notes that the event name in the Shopify Pixel Helper might be different in the third-party platform.
Does the channel deduplicate browser and server events?
Key takeaway
On Enhanced and Maximum a purchase can reach Meta by two routes: once from the browser pixel and once between servers. Meta calls sharing the same events through both tools a redundant setup, and it puts a condition on it.
When advertisers use a redundant setup, they must set up a deduplication method to ensure that the ad delivery system is able to differentiate between distinct and overlapping events.
Meta's recommended method is simple to state: it determines whether events are identical based on their ID and name. Shopify's own blog explains the same rule — sending a matching event_id and event_name from both sources allows Meta to identify them as a single conversion.
Meta also describes a fallback: deduplication can occur if the event_name and either the external_ID or fbp parameters match. It says that method generally only works for events sent first from the browser and then through the server.
What none of the Shopify pages we read describes is whether or how the channel applies any of this for you. Shopify's blog explains deduplication in general terms; the pages about the channel itself are listed under what we looked for and did not find.
Meta does document automatic deduplication for its own Meta-enabled Conversions API, but that is a different setup, one of three ways Meta lists to set up the API. For commerce partner integrations, which Meta's Shopify page says Shopify integrations are part of, Meta lists “access to advanced Meta Pixel features like event deduplication” as a benefit and tells you to ensure server events are firing and deduplicated; that partner-integration page does not say the channel deduplicates automatically.
The cost of getting it wrong is concrete. Meta warns that without deduplication you may see artificially high conversion numbers, which can mislead optimization and budget allocation decisions.
Meta's Events Received figure is no check either: when you use both sources, Meta says it is the sum from both, not deduplicated. The check that works is a test order, described under how to check the pixel is working.
What a Customer's Consent Switches Off
Key takeaway
Everything above describes what the pixel can send. What it does send for a given visitor is decided by your store's customer privacy settings. Shopify's cookie banner governs Shopify-specific tools, including cookies and Shopify Pixels, and Shopify says web pixels always respect your store's privacy settings.
In markets configured to require consent (usually the European Economic Area (EEA) and the United Kingdom), web pixels run only when visitors have provided the permissions required in the pixel configuration.
Two settings do the work, and they answer two different legal models: opt-in consent, and opt-out of sale or sharing.
Where the cookie banner asks first
Key takeaway
When you set up a new store, automated privacy settings are activated by default: Shopify configures your cookie banner for visitors in the UK and EEA regions, if you have active markets in these regions. By default, new pixels require Marketing and Analytics permissions before they run for such a visitor.
In the regions the cookie banner covers, the effect on your numbers is direct. Shopify says non-essential data is collected only after obtaining consent, “which might reduce data available for analytics, marketing, and personalization”. A drop in Meta events from the EEA and the UK after the banner goes live can be the setting working.
The server side follows the same rule. Shopify states that server pixels are still subject to your store's customer privacy and consent settings. It says this about app pixels, which its app pixels page defines as scripts installed as part of a third-party app or sales channel; none of the Help Center pages we read names the Facebook & Instagram channel's pixel as one (see what we looked for and did not find), so treat it as the documented default and confirm it with a test visit where you decline the banner.
US states: opt-out of sale or sharing
Key takeaway
Outside the regions you configure for the cookie banner, the banner is not active by default. Shopify describes that default as “intended for use in regions that don't require opt-in consent for cookies-based data collection, such as in the US”.
For those visitors Shopify offers a data sharing opt-out page: a dedicated page in your online store that lets visitors opt out of the sale or sharing of their personal data and of processing that may constitute targeted advertising. Before you can use one, you must publish a privacy policy.
The page also listens for a browser signal. When the Global Privacy Control header is present, Shopify says it activates opting out of data sale or sharing or targeted advertising for visitors in regions where you use a data sharing opt-out page. Whether a given state obliges you to honour that signal is a legal question, and we work through two states in the Virginia and Colorado opt-out signal FAQ.
Shopify is careful about where its part ends. Its page on US state privacy laws says such laws generally require companies to provide clear and conspicuous notice of, and allow consumers to opt out of, the “sale” of their personal information to third parties. It also says: “It's up to you to assess your legal obligations”.
What an opt-out does to a pixel depends on how the pixel is configured. Shopify says pixels configured as data sale won't run for customers that have opted out of data sales or sharing, unless the pixel supports limited data use. A new custom pixel qualifies as data sale by default.
On Meta's side, Limited Data Use is a data processing option you must proactively enable. Meta's page listed 14 US states where it is available for its Business Tools when we read it on October 11, 2026, and Meta warns that retargeting and measurement capabilities will be limited when it is enabled.
The link between the two is not documented. None of the Shopify pages we read says whether the Facebook & Instagram channel sets Limited Data Use for visitors from those states (see what we looked for and did not find).
How to Check the Pixel Is Working
Key takeaway
Shopify's instruction after setup is brief: make sure the pixel is working by using Facebook Ads Manager, and if you've only just added it, wait for customer activity before any data is displayed. In practice you will meet six tools, on both sides.
One name will trip you up. Shopify's blog still tells readers to download the Meta Pixel Helper; Meta's developer page, as read on October 11, 2026, calls the same extension Meta Ads Data Advisor, “formerly Meta Pixel Helper”, and says an installed copy updates automatically. Search for the new name.
Run one test order
Key takeaway
One order, watched from both sides, answers most questions about a new setup.
- In Meta Events Manager, open Test events and, once you have selected your dataset, choose to test website events. Keep the page open: for website events, activity is only recorded while the test events page is open.
- In the Shopify admin, go to Settings > Customer events, open the menu beside the pixel and click Test to open the Shopify Pixel Helper on your store.
- Browse the storefront as a customer would: view a product, search, add to cart, start checkout.
- Place a test order. Shopify says that to test the pixel on the Thank you page, you place a test order.
- Back in Test events, check that the events arrived, then look at web event deduplication, which shows which events are processed and which are deduplicated.
The Shopify Pixel Helper may not start recording at once. Depending on your store's consent settings and the app pixel's customer privacy settings, Shopify says its dialog might display “Pixel is awaiting consent” — the consent rule from the previous section showing up in the test.
Give Meta time before you judge the result. Test information remains in the test events tab for 24 hours or until cleared, and Meta says data may take 30 minutes or more to appear in your analytics after setting up your event.
What counts as working
Key takeaway
Five signals that the setup is healthy
| Signal | What healthy looks like | Says who |
|---|---|---|
| The pixel is alive | It sends the page view event back to Meta | Meta: “If your pixel is working correctly, it will send the page view event back to Meta.” |
| One order, one purchase | Test events shows a duplicate copy of an event as deduplicated, and only one pixel ID is active on the site | Meta's test events tool; Shopify's blog for the pixel ID check |
| Server coverage | On Enhanced or Maximum: the event coverage ratio of Conversions API to Meta Pixel events, which Meta says to aim at 75% | Meta: advertisers should aim for that ratio |
| Match quality | A score on Meta's scale from 0 to 10, shown for website events sent through the Conversions API | Meta; the score uses the last 48 hours of data |
| Shopify versus Meta | Shopify's order count stays the reference when the two disagree | Shopify: reports and order records aren't affected by ad blockers or tracking prevention |
Meta Business Help Center, Shopify Help Center and Shopify's blog, read October 11, 2026.
The 75% event coverage ratio is Meta's target, not Shopify's, and it compares Conversions API events with Meta Pixel events. Event Match Quality is narrower still: a score from 0 to 10, available for website events sent through the Conversions API with the action source parameter set to Website.
None of the Shopify pages we read links the Enhanced and Maximum levels to Meta's advanced matching, or says whether the name, email and phone number are hashed (see what we looked for and did not find). Read the score in Meta's own tools; do not infer it from the level you picked.
When Events Are Missing or Doubled
Key takeaway
Three symptoms are worth learning to recognise: Meta reports more purchases than Shopify has orders, the event count fell after you moved off old scripts, or nothing has fired on the Thank you page since the checkout upgrade. Each has a documented cause.
Symptom, likely cause, and where to look
| What you see | Likely cause | Where to look |
|---|---|---|
| Meta shows more purchases than Shopify has orders | Two installs: pixel code left in the theme, a custom pixel, or an agency's or app's pixel beside the channel | Browser developer tools for multiple requests to the same analytics endpoint; Meta's extension for more than one pixel ID |
| Fewer events after replacing Additional scripts | App pixels and custom pixels track only with consent; some bots don't trigger the web pixel sandbox | Shopify calls single-digit percentage dips in event counts expected |
| Nothing fires on the Thank you or Order status page | Additional scripts aren't supported on the new pages; on a custom domain, a customer accounts domain that is not a subdomain of the store's also stops pixels and cookie consent on the Order status page | Replace the script with an app pixel or a custom pixel; check the accounts domain |
| Fewer events from EEA and UK visitors | The cookie banner: non-essential data is collected only after consent | Settings > Customer privacy |
| Meta's purchases trail Shopify's orders | Ad blockers can block the web pixel entirely; tracking prevention shortens or limits cookies | Shopify's order records, which aren't affected; a level that includes the Conversions API |
| No data right after setup | The pixel needs customer activity first, and Meta says data may take 30 minutes or more to appear | Wait, then run a test order |
| The channel shows as not connected, or shows “You haven't installed this app” or “Something went wrong” | A connected Facebook account was disconnected, or you are a staff member who has not connected your own account; Shopify says the “You haven't installed this app” and “Something went wrong” errors can appear when the authorization between Shopify and Meta is incomplete or needs resetting | For the “You haven't installed this app” or “Something went wrong” error, Shopify's reset: remove the channel, remove Shopify in Facebook's Business Integrations, sign in to only one Facebook account in a private window, reinstall. A staff member connects with their own Facebook account |
| The wrong pixel is attached | A different pixel is connected than the one your ads use | Share data settings: Change, then Connect or Create new |
Shopify Help Center, Shopify's blog and Meta Business Help Center, read October 11, 2026.
One fix in that table needs care: the reset Shopify gives for the “You haven't installed this app” and “Something went wrong” errors. Shopify warns that after you install the channel and connect any associated Facebook accounts, disconnecting any of those accounts can result in disconnecting all active Facebook features.
Purchase counted twice
Key takeaway
Shopify calls tracking the same event more than 1 time a common issue when migrating, and its blog names one cause: “You might have a double install from an old theme snippet and the Shopify app.” The fix it gives is as short: delete the legacy code to avoid duplicate reporting.
To confirm it, Shopify's migration page tells you to open your browser's developer tools and check for multiple requests to the same analytics endpoint during a single page load or event. Its blog adds a second test: check whether more than one pixel ID is active on your site.
If both installs are yours, remove the pasted one. If one belongs to an agency or an app, that is the conversation Shopify's Meta pixel page tells you to have before adding a pixel.
A double count can also be a deduplication failure. Shopify's blog says it occurs when both the pixel and Conversions API send the same event without a matching event_id, and its solution is to use the Diagnostics tab to confirm whether Meta is receiving duplicate errors and to check that you don't have multiple pixel installs. None of the Shopify pages we read says how the channel handles that matching (see what we looked for and did not find), so record what Test events shows for a test order and raise it with Meta, which maintains the channel.
Fewer events than before, or fewer than Shopify's orders
Key takeaway
A lower count after a migration can be the system working as designed: pixels in Customer events wait for consent where the old scripts may not have. Shopify adds a second, smaller effect: because some bots don't trigger the web pixel sandbox, single-digit percentage dips in event counts are expected.
A gap between Meta and Shopify has its own causes. Intelligent tracking prevention shortens or limits cookies, which Shopify says reduces attribution accuracy even though the pixel still runs and sends events, and ad blockers can block the web pixel entirely. Neither touches your store's own numbers: “your Shopify reports and order records aren't affected, because Shopify records order and analytics data when the order is processed”.
For ad blockers, that is the practical case for a level with the Conversions API: Shopify says data sent from server to server can't be blocked by browser-based ad blockers.
If the Thank you or Order status page is the only place events are missing, check two things. First, that nothing still relies on Additional scripts. Second, on a custom domain, that your customer accounts domain is a subdomain of the store's — otherwise, Shopify says, pixels and cookie consent won't work for the new Order status page, because the domain must be the same as where consent is obtained.
The Bottom Line
Key takeaway
The clicks take minutes. What takes thought sits on either side of them: what your visitors have agreed to, what an older install is still sending, and whether a purchase that travels by two roads is counted once.
Frequently Asked Questions
Front-end developer specializing in Shopify since 2017. Experienced in building custom Liquid themes, optimizing storefront performance, and integrating third-party apps. Directs the editorial process behind Ecom Store Pro: sets its topics and the rules every AI-written page must pass before publication.
This page was written by AI. Separate AI agents that did not write it check its figures and claims against official sources and test its links and interactive tools. A human editor sets the site's editorial direction, topics and rules and checks that pages are complete and display correctly, but does not check their facts or edit their text. Details may change — always confirm critical data at shopify.com.
Editorial PolicySome links in this article are affiliate links. If you sign up for a Shopify store through these links, we may earn a commission at no extra cost to you. Read our full advertising policy.
