October 29, 2026· 8 min

By Pierre-Louis Chinazzo, Founder of Korvus

Meta Pixel not tracking purchases: how to diagnose it

Meta Pixel not tracking purchases anymore? A step-by-step diagnosis with Events Manager and Meta Ads Data Advisor, the usual causes and what it does to bidding.

The symptom: sales are there, Meta can't see them

You open Ads Manager on a Monday morning. Spend is normal, clicks are normal. But the Purchases column shows zero, or close to it. Your store recorded orders all weekend.

Your sales haven't dropped. The Meta Pixel, the small script that tells Meta a purchase just happened, has stopped firing, or no longer fires correctly. Meta keeps serving your ads without knowing which ones pay off.

The causes below are listed in the order we suggest you check them.

The possible causes

1. The order confirmation page changed

The Purchase event fires on the confirmation page. If that page was modified, the script that sent the event may no longer run, with no error message.

On Shopify this is the trickiest case. According to the Shopify developer documentation, script tags stopped running on the Order status page on August 28, 2025 for Plus stores, and on August 26, 2026 for all other stores. A purchase snippet pasted into "Additional scripts" may have stopped on that date. Shopify points to web pixels as the replacement.

Another Shopify case: with upsells and post-purchase offers, the checkout_completed event fires on the first upsell offer page and not on the Thank you page. A pixel waiting for that page can miss the purchase.

2. A Shopify custom pixel or a double installation

According to Shopify's page on custom pixels, you should remove or modify existing pixels before adding one, or events are counted twice. It lists where to look: theme.liquid, checkout.liquid (Plus only) and Additional scripts.

The classic case is a pixel pasted by hand into the theme on top of the Facebook & Instagram channel's own pixel: every purchase goes out twice. A rushed cleanup can also remove both. Shopify also notes that Meta pixels entered in Preferences without going through the channel app were removed in a February 2025 change (migration guide).

3. A Pixel and Conversions API duplicate that isn't deduplicated

Meta recommends sending purchases through two routes, the browser (the Pixel) and the server (the Conversions API), and then requires deduplication. According to Meta's documentation, the Pixel's eventID must match the API's event_id, and the event names must match too. Deduplication only applies within 48 hours of the first event received with that ID.

If the ID is missing or different, Meta doesn't recognize the two events as the same purchase and counts it twice. No purchase goes missing, but your results are inflated. This is common right after the Conversions API is installed.

4. Consent is blocking the pixel

A badly configured cookie banner can keep the pixel from firing. Meta's consent documentation describes fbq('consent', 'revoke'), which pauses sending events, then fbq('consent', 'grant') once the visitor agrees. revoke must run before init, and on every page.

If a banner update changes that order, or if grant is never called, the pixel stays silent even for visitors who accepted. See also cookie banners and data loss.

5. The event fires, but without a usable value

Sometimes the purchase arrives with an amount of zero or no currency. Meta counts it, but your ROAS means nothing anymore. Meta Ads Data Advisor shows the parameters of each event, so you can spot it (step 2).

6. Pixel replaced, domain or account changed

A new Business Manager, a pixel ID replaced during a redesign, a changed primary domain: purchases may go to an old pixel while your campaigns optimize on another. Meta's help also says domain verification determines which account can configure and prioritize the conversion events for a domain. After a domain or account change, check it.

Step-by-step diagnosis with free tools

Step 1: date the failure in Events Manager

Open Events Manager, then Data Sources, and pick your pixel. Meta describes five tabs: Overview, Test Events, Diagnostics, History and Settings.

In Overview, find the Purchase event and look at the date of the last purchase received. The Connection Method field shows whether the event arrives through the browser, the server, or both. Compare with your actual store orders, then look for what changed that day: theme, app, cookie banner, platform update.

Step 2: check the confirmation page with Meta Ads Data Advisor

The extension used to be called Meta Pixel Helper. According to Meta's official page, it is now called Meta Ads Data Advisor. It's free on Chrome and Edge. A badge on the icon shows how many pixel events the page sent; no badge means no pixel is installed.

Place a test order through to the confirmation page, using a 100% discount code or your payment provider's test mode. Make a note of it: it will probably be counted as a real purchase in your Meta reports. Open the extension on the confirmation page. The panel shows the status of the pixel and of each event (Active, Inactive, Warning, Error), its parameters (value, currency) and the URL where it fires. An Error event can point to a duplicate.

Step 3: follow the journey in Test Events

In Events Manager, the Test Events tab is used to check that your browser or server events are firing correctly. Start a browser test from that tab and browse your store through to the purchase: events show up as they happen, with their data. If nothing appears, turn off your ad blockers, reload the page and try again (Meta help).

Check that the purchase appears, and that it appears only once. If two Purchase events arrive for one order, go to step 5. Meta doesn't deduplicate two identical browser events: neither is discarded.

Step 4: read the Diagnostics tab

The Diagnostics tab lists the issues that keep your pixel from firing properly. Meta ranks them as critical (red icon) and warnings (yellow icon). It sometimes points straight at the cause.

Step 5: check deduplication

If you use the Conversions API, from Overview click Event Details for the Purchase event, then the Event Deduplication tab. Meta shows the deduplication rate and the overlap between sources. Low overlap means the two sources don't share IDs.

Step 6: test consent

Open your store in a private window. Refuse cookies and place a test order: no event should go out. Try again accepting cookies: Meta Ads Data Advisor should show the Purchase on the confirmation page. If it only appears in the first case, or never, the banner is the culprit.

What it does to the bidding algorithm

Your ads optimize on the event you chose, usually the purchase. If that event stops arriving, Meta can no longer tell which clicks pay off.

Meta's help documents a threshold: an ad set becomes "Learning limited" when it's unlikely to get around 50 optimization events in the week after its last significant edit. Meta lists an infrequent optimization event among the causes, and a purchase that no longer reports is infrequent by definition. Changing the optimization event is also a significant edit, so switching to another event during the outage restarts learning.

A duplicate does the opposite: the ad set learns from purchases counted twice, and your displayed ROAS exceeds reality. Budget decisions follow. Our article on Smart Bidding and bad data describes this mechanism. If Meta, Google Ads and GA4 show different numbers even without an outage, read the gaps between platforms.

What it costs: a method you can redo with your numbers

The full costing is in the article on the cost of a dead pixel. The short version, to adapt:

  1. Daily Meta spend × days of outage = budget spent without a purchase signal.
  2. Store orders coming from your Meta campaigns (tracked with UTM parameters) − purchases reported by Meta = purchases Meta didn't see.
  3. If you edited your ad sets during the outage, add the learning period that follows.

Worked example: a site spending €1,000 a day on Meta during a 3-day outage spent €3,000 without a purchase signal. Part of that €3,000 still generated sales. Your real loss is Meta's ability to steer that budget toward the right ads.

How to keep it from happening again

After every change to your theme, an app, your cookie banner or your checkout, repeat steps 2, 3 and 6: a test order, Test Events, a consent test. Keep one simple rule: one place installs the pixel, and one shared ID links Pixel and Conversions API.

Between the outage and the moment someone compares Meta with the store, several days can pass. Korvus watches this signal for you. It checks that conversion events fire when paid traffic is active and consent is valid. If the pixel stops firing, it alerts you by Slack, email or SMS with the impact calculated in euros. The detail is on the dead pixel alert page, and how it connects on the Shopify integration page.

Korvus's free audit browses your site like a customer, from the homepage to the checkout entry, and flags failing tags among other things.

Frequently asked questions

Why is my Meta Pixel not tracking purchases when sales keep coming in?

Sales depend on your store and your payment flow. The pixel is a small script that tells Meta when a purchase happens. A changed confirmation page, a duplicated pixel or a consent banner can stop it from firing without touching the sale itself.

My Facebook pixel stopped working: where do I start?

Open Events Manager, pick your pixel under Data Sources and look at the Overview tab: the date of the last Purchase event received tells you when the problem started. Then compare it with the date of your last theme, app or cookie banner change.

Why is the Meta Purchase event missing when PageView still comes through?

The pixel is loading fine, but the purchase event fires on the order confirmation page. If that page changed, if a script on it no longer runs, or if consent is refused at that point, only Purchase goes missing.

Should I turn on the Conversions API to fix a pixel that stopped reporting?

Meta recommends combining the Pixel and the Conversions API. If both send the same purchase without a shared ID, you create a duplicate. Fix the pixel first, then check deduplication in Events Manager.

How long does Meta take to recover its performance once the pixel is fixed?

Meta doesn't publish a duration. Its documentation only says that an ad set needs around 50 optimization events in the week after its last significant edit.

Your site is losing money silently.

Korvus detects, quantifies and protects.

Korvus translates every leak into euros, so every fix shows up as protected revenue. Get the checklist of invisible revenue leaks and take stock of where you stand.

Hosted in France. No spam, and you can unsubscribe at any time.

Related articles