Why it happens
Only some events go server side
Only some events go server side
Many integrations send Purchase and nothing else. Leads, sign-ups and add to cart still depend on the browser alone.
No shared event ID
Without the same event_id on both sides, Meta cannot pair them and counts every action twice. See Conversions API deduplication.
Thin customer information
Server events sent with only an IP address and user agent match few people. That shows as a low Event Match Quality.
The access token stopped working
A token tied to a person who left the business, or a revoked system user, stops every server event at once.
A test code is still on
Events sent with test_event_code land in Test events only and never count.
How to fix it, step by step
Read the integration per event
In Events Manager, open Data sources, your dataset, Overview. Each event shows whether it came from Browser, Server or both.
Open the key events
Select Purchase or Lead to read its details: event deduplication and Event Match Quality sit there.
Check the setup
Under Settings, the Conversions API section shows which partner integration or gateway sends the events, and lets you generate an access token for a direct setup.
Send the missing events
Add every event your campaigns optimize for to the server side, each with the same event_id as its browser twin.
Confirm in Test events
Send a server event with your test code and watch it arrive, then remove the test code from production.
Steps checked against Meta Business Help Center articles: About the Conversions API; Set up the Conversions API; About deduplication for the Meta Pixel and Conversions API; About Event Match Quality.
Sprites diagnoses this
Sprites diagnoses it
Sprites reads your pixel and CAPI health and shows where it breaks: per event, which side sends it, whether the two pair up, and how well it matches.
What Sprites does
- Reads every event over the last 7 and 28 days, split into browser pixel and Conversions API.
- Flags events that arrive only from the browser, with no server twin.
- Reads event ID coverage on both sides per event and calls deduplication healthy, partial or broken.
- Reads Event Match Quality per web event and names the customer information keys sent too rarely.
What it doesn't do
- Send events to the Conversions API
- Set up a gateway or a partner integration
- Generate or rotate the access token
Questions
What is the Meta Conversions API?
A way to send events from your server to Meta, so conversions still reach it when the browser pixel is blocked or the visitor leaves before it fires.
Do I still need the pixel with the Conversions API?
Meta recommends both. The pixel catches browser signals the server never sees; the server catches what the browser loses. A shared event ID keeps them from double counting.
Is the Conversions API free?
Meta charges nothing for it. A gateway or a hosted server-side setup costs whatever the hosting costs.
What is the Conversions API Gateway?
A Meta-made server you run in your own cloud account that mirrors your pixel events to the Conversions API without code changes.
How do I know my Conversions API is working?
In Events Manager, your key events show both Browser and Server, deduplication looks healthy, and server counts track browser counts week to week.
- Meta pixel vs Conversions API
- Conversions API deduplication
- CAPI not receiving events
- Event Match Quality
- Meta pixel not firing
- Meta pixel not tracking purchases
- Meta pixel duplicate events
- Pixel events not showing in Events Manager
- Meta pixel not active
- Meta pixel not showing in Ads Manager
- 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.