Why it happens
The confirmation page never loads the pixel
The confirmation page never loads the pixel
Hosted checkouts and payment pages send buyers to a page you do not control, or the thank-you page redirects before the code runs. Page views fire everywhere else, so the pixel looks fine.
The Purchase event is on the wrong trigger
Fired on a button click that no longer exists, a URL that changed, or a page template the new checkout does not use.
A store integration dropped the connection
An app reinstall, a theme change or a new checkout extension cut the link between the store and the dataset. Spend continues, purchases stop on the day of the change.
Purchases arrive from the browser only
Blockers, closed tabs and consent lose some of them. Sending Purchase through the Conversions API as well recovers most of the gap.
Your ads read a different pixel
The site fires Purchase on one dataset; the ad set optimizes on another. Events Manager shows purchases, Ads Manager shows none.
How to fix it, step by step
Read the Purchase row
In Events Manager, open Data sources, your dataset, Overview. Find Purchase and read when it was last received and whether it came from Browser, Server or both.
Place a test order
Open Test events, enter your store URL and buy something cheap or use a test payment. Purchase should appear with a value and a currency.
Check the ad set
In Ads Manager, open the ad set, then Conversion. The Dataset and the conversion event must be the pixel and the Purchase event you just tested.
Count against real orders
Compare purchases in Events Manager with orders in your store for the same days. Some gap is normal. Meta far below orders is tracking; Meta above orders is duplicate events. For the attribution side of the gap, see GA4 vs Meta.
Add the server side
Turn on the Conversions API through your store platform or a partner integration so Purchase also arrives from your server, with the same event ID as the browser.
Steps checked against Meta Business Help Center articles: Troubleshoot your Meta Pixel; About standard events; Test your events in Events Manager; About the Conversions API.
Sprites diagnoses this
Sprites diagnoses it
Sprites reads your pixel and CAPI health and shows where it breaks: whether Purchase reaches Meta at all, from which side, and whether your ads read it.
What Sprites does
- Reads Purchase over the last 7 and 28 days, browser and Conversions API separately, and the last hour Meta counted one.
- Reads the purchases Ads Manager reported for the same window, so a tracking gap stands apart from an attribution gap.
- Reads which pixel and event each ad set optimizes for, so a Purchase event landing on the wrong dataset shows up.
- Lines Meta purchases up with GA4 or PostHog when you connect them.
What it doesn't do
- Add the Purchase event to your checkout
- Send purchases through the Conversions API
- Read your store orders directly
Questions
Why is my Meta pixel not tracking purchases?
The Purchase event does not load on the confirmation page, fires on a trigger that no longer exists, or reports to a different pixel than your ads use.
Why does Events Manager show purchases but Ads Manager does not?
Ads Manager only counts purchases it can attribute to an ad inside your attribution setting, and only on the dataset the ad set uses. A purchase from someone who never saw an ad does not show there.
Why does Meta show fewer purchases than my store?
Browser loss, consent and attribution windows all take a share. A small gap is normal. A large one, or zero, is a tracking break.
Does the Purchase event need a value?
To report revenue and return on ad spend, yes. Send value and currency with every Purchase.
Will the Conversions API close the gap?
It recovers purchases the browser loses. It does not help when the event is missing from the checkout entirely.
- Meta pixel duplicate events
- Meta Conversions API
- Meta pixel not firing
- Facebook ads suddenly stopped working
- Conversions API deduplication
- Event Match Quality
- CAPI not receiving events
- Pixel events not showing in Events Manager
- Meta pixel not active
- Meta pixel not showing in Ads Manager
- Meta pixel vs Conversions API
- Meta test events not working
See where it breaks
Connect your accounts. Sprites reads them side by side and shows you exactly where the numbers split.