Meta Pixel not showing on Shopify? How to check it's installed
You connected Meta through Shopify's Facebook & Instagram app. A guide said to view the page source and search for fbevents.js. Nothing. You tried fbq. Still nothing.
The pixel is probably fine. The advice is looking for the wrong evidence, and until we changed the check on 25 September 2026, so was AuditTag's free audit. It reported stores using the app as having no Meta Pixel. We worked out why, fixed it, and logged the change in our research methodology. This post is what we learned.
In short, if Meta was installed through Shopify's Facebook & Instagram app, you generally won't find fbevents.js or fbq in your page source, because Shopify's pixel system adds it after the page loads rather than putting Meta's base code in your theme. Search the source for facebook_pixel instead, or open Settings › Customer events. Neither proves Meta receives a sale. A test order does.
Meta Pixel is the current name for what a lot of Shopify guides still call the Facebook Pixel, so everything here applies whichever name you searched for. This page is about whether the pixel is installed. If it is, and PageView reaches Meta but Purchase never does, that is a different problem, the theme.liquid trap.
Why fbevents.js and fbq are missing from the source
Most advice about checking a Meta Pixel was written for the old install, where you pasted Meta's base code into theme.liquid or into the old Additional scripts box on the order status page. That code loads a file called fbevents.js and calls fbq('init') with your pixel ID, so both are in the page the server sends, and searching the source finds them.
Shopify's apps do not install Meta that way. The Facebook & Instagram app adds an app pixel, and Shopify's pixel system loads it into the page a moment after the page opens. View source shows the page exactly as the server first sent it, before that happens, so the Meta code is not in it. Use View source (Ctrl+U, or Option+Cmd+U on a Mac) for every check in this post, not Inspect. Inspect shows the page as it is now, after Shopify has added the pixel, so fbevents.js can appear there on a store that only uses the app. Most other app pixels, and custom pixels added under Customer events, go one step further and run in a sandbox Shopify keeps apart from your page. What the served page does carry is a list of settings Shopify reads to start each pixel, and that is where the evidence is.
If you want to watch it happen, open your browser's developer tools on the Network tab, filter for facebook and reload. On the live stores we tested, fbevents.js loaded as a network request shortly after the page opened, even though it was not in the HTML the server sent. That is the whole difference between the page source and what the browser does next. Shopify only loads it once the visitor's privacy settings allow, so in the UK and EU you may need to accept marketing cookies first.
An empty search for fbevents.js tells you the pixel is not in your theme. It does not tell you Meta is missing.
Rather not read page source? A check that only searches for fbevents.js will tell you the app's pixel is missing. The free audit now looks for it as well. Run a free audit →
What you find in the source, and what it means
This is for View source, the page as the server sent it. In Inspect, the app's own fbevents.js can show up too, and the first row would mislead you.
| You find | What it tells you |
|---|---|
fbevents.js or fbq('init', …) | Meta's base code is in the page itself, usually pasted into the theme |
facebook_pixel | The Facebook & Instagram app has a pixel set up, and the pixel_id beside it says which one |
| Both | Meta is probably installed twice (see below) |
| Two different pixel IDs | Your events are going to two pixels |
| Neither | Not proof Meta is missing. It may be a custom pixel, sit inside Google Tag Manager, or come from another app |
Three checks, from quickest to proof
Each check answers a different question. Your admin tells you a pixel is set up. The page source tells you which pixel the storefront is configured to use. Only a test order tells you Meta receives the sale.
1. Is a pixel set up? Look in your Shopify admin
If you have admin access, start here. Open Settings › Customer events. Shopify lists both kinds of pixel there, app pixels installed by apps and custom pixels added by hand. If Facebook & Instagram appears among the app pixels, Meta is installed through the app. Custom pixels are listed as connected or disconnected, and a disconnected one is still on the list but collects nothing.
Shopify has its own test for app pixels. Click the … menu next to the app pixel, then Test, and Shopify opens your store with its Pixel Helper showing which events load. If it says the pixel is awaiting consent, accept tracking in your cookie banner, or use its option to give consent for the test.
To see which Meta pixel the app is using, go to Sales channels › Facebook & Instagram › Settings and open the data sharing settings. Check that customer data sharing is enabled and that the selected Meta pixel is the one your ads use.
2. Which pixel? Search the page source for facebook_pixel
This works on any Shopify store and needs no login, which helps when you are checking a client's store before you have admin access. Open any page of the store, view the source (Ctrl+U on Windows, Option+Cmd+U on a Mac) and search for facebook_pixel. On a store using the app you will find it in a line like this one, inside a block Shopify calls webPixelsConfigList. We checked this on the public pages of live stores using the app, on the date at the top.
"configuration":"{\"pixel_id\":\"123456789012345\",\"pixel_type\":\"facebook_pixel\"}"
The ID here is an example. The part that matters is "pixel_type":"facebook_pixel", which says the entry belongs to the app, and the number after pixel_id is the pixel it sends events to. The backslashes are only there because the settings are stored as text inside the page's code. Check that number matches the pixel ID in Meta Events Manager, especially if an agency or an old ad account has been involved, because a store sending to the wrong pixel looks perfectly healthy from the storefront.
If facebook_pixel is not there, the served page carries no pixel entry from the Facebook & Instagram app. That is not the same as having no Meta tracking. A custom pixel appears in this block only as the name someone gave it, with none of its code, so a custom pixel called "Meta" could be doing the job and the source cannot tell you. For that you need the admin. The Google & YouTube app's entry sits in the same block, with its tag ids under google_tag_ids.
3. Does Meta receive the sale? Place a test order
Open Events Manager, choose your pixel and open Test events. Browse the store in another tab, accept marketing cookies if your banner asks, add something to the cart and place a test order. Shopify can process a test order without charging a real card, through its test payment gateway or Shopify Payments test mode, not by putting a real card through your live checkout. Switch test mode off afterwards, because customers can't place real orders while it is on. If nothing shows in Test events within a minute, Meta's troubleshooting guide suggests turning off ad blockers and reloading the store.
With a browser-only setup you are looking for one Purchase, with the value you expect for the order. The app's Enhanced and Maximum data sharing levels also send events from Shopify's servers through Meta's Conversions API, so Test events can show the same purchase from the browser and from the server. That is not two sales. Meta can receive both and deduplicate them when they carry the same event name and event ID. Whether each purchase is counted once, with the right value, is a separate check, covered in how to check your Meta Pixel is counting correctly.
If PageView and AddToCart arrive but Purchase does not, the pixel is installed somewhere checkout cannot reach. The theme.liquid trap covers that case in full.
How to check if Meta is installed twice
In View source, not Inspect, search the page for both facebook_pixel and fbevents.js. Inspect shows the app's own fbevents.js once it has loaded, which looks like a second install when there is only one. If both turn up in View source, Meta is installed two ways, usually the app plus an old snippet still pasted in theme.liquid. A tag manager can be a third route. If the source shows a Google Tag Manager container, a Meta tag inside it will not appear until you open the container. Shopify's own Meta pixel guide warns that leaving old theme code in place after setting up the app puts more than one pixel on your store, which can mean duplicate or incorrect data. It is a common reason Meta reports more purchases than Shopify.
Two different pixel IDs is a related problem. Your events are going to two pixels, and only the one selected in your ad sets helps your campaigns.
Before you delete anything, confirm what each install is and which pixel your ad account uses. Two references in the source are a reason to look, not proof that one of them is wrong. Once you are sure, keep the app, which connects to Shopify's own checkout events, and remove the old snippet from theme.liquid, anything left in the Additional scripts box, and any Meta tag in your tag manager. Work on a duplicate of your theme if you are editing code, then place another test order.
If you still can't find it
- Consent. In the UK and EU, a visitor who has not accepted marketing cookies may not load the app's pixel at all. Accept them before you test.
- A custom pixel. It shows in the source only by name. Open it under Settings › Customer events to see what it sends.
- Google Tag Manager. The source shows the container, not necessarily the tags configured inside it.
- Another tracking app. Its entry in the source may hold only an account key or a link to its own settings, not a Meta pixel ID.
- An ad blocker. It can stop the pixel loading, so the Network tab and Test events show nothing. Test in a browser without one.
- The wrong account. A pixel from an agency or an old ad account can be installed and working, just not the one you are looking at in Events Manager.
If none of these apply, there may be no Meta Pixel on the store at all. The simplest way to add one is the Facebook & Instagram app, which connects to Shopify's checkout events without any theme code.
What AuditTag's free audit checks
- A Meta Pixel, whether it is in your theme or set up through Shopify's Facebook & Instagram app
- GA4, Google Tag Manager and Google Ads, including ids listed by the Google & YouTube app
- A Universal Analytics tag still loading
What this doesn't prove
The audit reads your public pages as the server sends them. It reports a Meta Pixel as found either way, without saying which route, and it does not flag Meta installed twice. It cannot see custom pixels or pixels added by other tracking apps, and it cannot tell you whether a Purchase fires on checkout. Installed, firing and counting correctly are three different questions. The audit answers the first, a test order answers the second, and keeping all three right after every theme change or app install is what Guardrails watches.
Questions people ask
Why can't I find my Meta Pixel in my Shopify page source?
If Meta was installed through Shopify's Facebook & Instagram app, you generally won't find fbevents.js or fbq in your page source. Shopify's pixel system adds the pixel after the page loads, and view source shows the page before that. Search the source for facebook_pixel instead, or check Settings › Customer events in your Shopify admin.
How do I find my Meta Pixel ID on Shopify?
View the source of any page on your store and search for facebook_pixel. The number after pixel_id on that line is the pixel the Facebook & Instagram app sends events to. In your Shopify admin, the pixel is chosen under Sales channels › Facebook & Instagram › Settings, in the data sharing settings. Events Manager shows the same ID, so you can check they match.
Does a custom pixel show up in the page source?
Only by name. A custom pixel added under Settings › Customer events appears in the page source as the name someone gave it, with none of its code. The source cannot tell you what a custom pixel does or which platform it sends to. For that, open it in your Shopify admin.
Why does Shopify show my Meta Pixel but Meta shows no events?
Shopify listing the pixel means it is set up, not that events are arriving. The usual reasons are that the visitor has not accepted marketing cookies, customer data sharing is off or a different pixel is selected in the Facebook & Instagram app's settings, or an ad blocker is stopping the test. Check with Test events in Meta Events Manager while you browse the store.
How do I know my Meta Pixel is tracking purchases?
Open Test events for your pixel in Meta Events Manager, then place a test order on your store. With a browser-only setup you should see one Purchase, with the value you expect for the order. If the app also sends events from Shopify's servers, the same purchase can appear from the browser and the server, and Meta can deduplicate them when they carry the same event name and event ID. Seeing the pixel in your admin or your page source only proves it is set up.
See what's tracking your store
The free audit reads your public pages and shows which tracking is installed, from GA4 and Google Tag Manager to Google Ads and the Meta Pixel, including the pixel Shopify's Facebook & Instagram app sets up. It takes about a minute. No account, nothing installed, and it never touches your store.
See what's tracking your store, free →