Conversions API vs Meta Pixel: what each does, whether you need both, and how deduplication works
Updated October 23, 2026
Conversions API vs Meta Pixel isn't an either-or choice. The pixel sends events from your visitor's browser, the Conversions API sends them from a server, and Meta recommends sending your key website events through both. That only works if Meta can recognize the two copies as one action, which is what deduplication does. Here's what each one does, how deduplication matches events, and how to check both in Events Manager.
Conversions API vs Meta Pixel: the difference
Both send the same kinds of events, like ViewContent, AddToCart and Purchase. The difference is where they're sent from.
- Meta Pixel: code that runs in the visitor's browser and reports what they do on your site. Ad blockers, browser settings, connectivity problems and page loading errors can stop it from sending.
- Conversions API: a server-side connection that sends events from your server, store platform, app or CRM directly to Meta. Meta says it's less affected by browser loading errors, connectivity issues and ad blockers.
- Website events sent through the Conversions API are linked to your pixel. They're used for the same ad optimization and appear in Ads Manager and Events Manager like pixel events.
- The Conversions API can also send things a browser never sees, such as in-store, offline and CRM events, or actions after the purchase like subscriptions.
- Neither one is a way around consent. Meta says the Conversions API isn't designed to bypass data-sharing policies such as Apple's App Tracking Transparency or Europe's ePrivacy Directive.
Do you need both? What Meta recommends
For website events, Meta's answer is yes. Its best practices call for a redundant event setup: use the Conversions API alongside the Meta Pixel and send the same events through both.
- If the pixel sends Purchase, InitiateCheckout and Contact, send those same events from your server too.
- The reason is coverage. The server can catch events the pixel misses because of network issues or page loading errors.
- Meta's target is an event coverage ratio of 75%, meaning Conversions API events compared with pixel events. You'll find it on the Event coverage tab in Events Manager.
- Server events can carry extra customer information parameters, which helps Meta match events to accounts. See event match quality for how that's scored.
- What about server only? Meta suggests also using the pixel when you send website events through the Conversions API.
How deduplication works
When the same event arrives from the browser and the server, Meta keeps one and discards the other. It can only do that if it can tell the two are the same action.
- Event name and event ID (the recommended method). The pixel's event name must match the server's event_name, and the pixel's eventID must match the server's event_id. Every real action needs its own unique ID, shared by its browser and server copies.
- Timing. Meta only deduplicates matching events received within 48 hours of each other, and generally keeps whichever arrives first.
- The fallback: fbp or external_id. Meta can also match on event_name plus fbp and/or external_id, sent the same way from both sides. Meta notes this generally only works when the browser event arrives first and the server event second, so don't rely on it alone.
- It also catches repeats on one side: the same pixel event sent twice with the same eventID, or the same server event sent twice with the same event_id.
- If the browser and server send different events, for example AddToCart from the browser and Purchase from the server, there's nothing to deduplicate.
No-code ways to add the Conversions API
Most stores don't need a developer for this. These are the options Meta and the platforms document:
- Shopify: in the Facebook & Instagram sales channel, go to Settings, then Data sharing settings, and pick Enhanced or Maximum. Both use the Conversions API with the pixel. Standard is pixel only. Details are in Shopify's data sharing guide, and pixel setup is in our Shopify guide.
- WooCommerce: the Meta for WooCommerce extension (formerly Facebook for WooCommerce) includes the Conversions API and deduplicates pixel and server events with a unique event ID.
- Meta says commerce platform integrations like these take a few clicks, cost nothing extra, and handle the deduplication parameters for you.
- Meta-enabled Conversions API: a free, web-only option you turn on in one click from Events Manager. The events your pixel already shares are also sent through it, and they're deduplicated automatically.
- Conversions API Gateway: a codeless setup that runs in an AWS or Google Cloud account you own, so you pay the cloud fees. It deduplicates automatically. Meta suggests it for businesses that aren't working with an ecommerce platform's own integration.
- Direct integration: your developer sends events with code. It's the only option for app or in-store events.
- Pick one server-side route per event. If two setups both send Purchase from the server with different IDs, they won't be matched as duplicates, because the IDs differ.
How to check that Conversions API events are arriving
- Events Manager → your dataset → Test events, then find the server events section. The tool gives you a test code. Your server sends it as the test_event_code parameter, and the events show up in the Test events window.
- Take test_event_code out when you're done. Meta says events sent with it aren't dropped: they flow into Events Manager and are used for targeting and measurement.
- Test activity stays in the tool for 24 hours or until you click Clear activity.
- If your platform doesn't let you add a test code, look at the dataset's Overview. Meta says events should show up within 20 minutes, and the connection method shows which channel each event was sent through.
- Check the Diagnostics tab too. Hover over the ! icon to see what's wrong and Meta's suggested fix.
How to tell if deduplication is working
In Events Manager, open your dataset, find the event (start with Purchase) and click View details. These are the tabs that matter:
- Event overview: shows event volume and whether you're sharing the event redundantly, from both the browser and the server.
- Event deduplication: shows which deduplication keys you send and what share of events was deduplicated from each source. Higher is better, and Meta shows a warning when the rate is too low.
- Low overlap on that tab means your keys aren't unique, or a key is only sent from one side.
- Event coverage: if server events are well below pixel events, the server side is missing events.
- Other signs of trouble Meta lists: a missing or mismatched event_id, event_name or event_id formatted differently on each side, delays between browser and server delivery, and unexpected spikes or drops in event counts.
- The Test events tool also shows which events were received, deduplicated or dropped.
A quick checklist
- Decide which events you'll send through both channels, and send each one with the same event name and a unique event ID.
- Use your store platform's integration or Meta's own no-code option before building anything.
- Confirm server events in Test events, then remove the test code.
- Once real traffic has come in, check Event coverage and Event deduplication for each key event.
- Pixel Audit covers the browser half: it opens your store in a real browser, goes through home, product, cart and checkout, and reports which Meta Pixel events fire, with what parameters, and where they're missing or duplicated. It can't see Conversions API events or a real Purchase, so the server half still needs Events Manager.
See which Meta Pixel events your store sends from the browser, page by page, before you check the server side.
Check my Meta PixelQuestions
- What is the Conversions API?
- It's Meta's server-side way to send events. Website, app, CRM and offline events go from your server or store platform straight to Meta instead of from the visitor's browser.
- Do I need both the Meta Pixel and the Conversions API?
- For website events, Meta recommends both: send the same events through each one, then deduplicate them with a matching event name and event ID.
- How does Facebook Conversions API deduplication work?
- If a browser event and a server event have the same event name and the same event ID and arrive within 48 hours of each other, Meta keeps one, generally the one received first. fbp or external_id can act as a fallback.
- How do I check if the Conversions API is working?
- Send a server event with the test_event_code from Events Manager's Test events tab and watch it arrive. After that, use the event's View details page to check Event coverage and Event deduplication.
- Does Shopify set up the Conversions API automatically?
- Only if you choose Enhanced or Maximum in the Facebook & Instagram channel's data sharing settings. Standard uses the pixel alone.
Related guides
Sources
- Meta Business Help Center: About deduplication for Meta Pixel and Conversions API events
- Meta for Developers: Handling duplicate Pixel and Conversions API events
- Meta Business Help Center: Best practices for Conversions API
- Meta Business Help Center: Compare Conversions API setup options
- Meta Business Help Center: Monitor and improve your Conversions API setup in Meta Events Manager
- Meta Business Help Center: Test your server events using the test events tool