Meta Pixel vs Conversions API: do you need both?
The Meta Pixel is code that runs in the visitor's browser and sends events to Meta. The Conversions API sends events from a server. Meta recommends using both, so that events a browser loses still arrive, and giving each matching pair the same event name and event ID so Meta counts it once. If you run ads for leads or sales, use both with deduplication.
Meta Pixel vs Conversions API: what is the difference?
The pixel runs in the visitor's browser. It sees what the browser shows it: page views, button clicks and form submissions on your site. Meta lists reasons why such events go missing: the person leaves before the page finishes loading, ad blockers stop the pixel from firing, and browsers change how messages pass between domains.
The Conversions API sends events from a server: your own, a partner platform's or a Conversions API Gateway. It can send things the browser never sees, such as an order your system confirmed or a lead you marked as qualified. Meta says data sent this way is less affected than the pixel by browser loading errors, connectivity issues and ad blockers. Some events can only come from a server, such as an offline approval after a credit card application.
If you send the same event both ways, Meta must know the two copies are one event. Meta's recommended method is: the pixel's eventID must equal the server's event_id, and the pixel's event name must equal the server's event_name, both sent to the same pixel ID. Meta deduplicates only if the matching events arrive within 48 hours of the first event with that ID, and it generally prefers the event received first. In the pixel code the ID is the fourth argument: fbq('track', 'Lead', {}, {eventID: 'EVENT_ID'}). A second method with fbp or external_id works only when the browser event comes first. Meta does not deduplicate two browser events or two server events.
Event Match Quality, or EMQ, is the score Events Manager gives to how well the customer information in your server events can match them to a Facebook account. Meta's developer documentation uses a scale of 1 to 10 and suggests aiming for 6.0 or higher. You see it on the pixel's Overview page. Customer information includes hashed email, phone and name, plus the IP address, user agent and the click and browser IDs fbc and fbp. Send only what you are allowed to send under your privacy policy and local law.
Pixel vs Conversions API vs both
| Feature | Meta Pixel | Conversions API | Both with deduplication |
|---|---|---|---|
| Where it runs | In the visitor's browser | On a server: yours, a partner platform's or the Gateway | Browser and server |
| What it can see | What the browser shows: page views, clicks, form submits | What your server knows: orders, CRM statuses, offline results | Both views of the same action |
| Blocked by ad blockers | Can be. Meta lists ad blockers as a reason events are lost | Less affected, says Meta | The server copy still arrives if the browser copy is lost |
| Setup effort | Add code, or use a tag manager or a partner plugin | Partner integration: a few clicks. Gateway: no code but your own cloud account. Direct: custom work | The pixel plus one Conversions API route, and an ID on every event |
| Needs a developer | Usually no | Only for a direct integration | Only for a direct integration |
| Deduplication | Not needed on its own | Not needed on its own, but two identical server events are both counted | Required: same event name and event ID, same pixel ID, within 48 hours |
Three ways to add the Conversions API
Partner integration. For commerce platforms such as Shopify, WooCommerce, Wix and BigCommerce, Meta says setup takes a few clicks at no extra cost. Other partners, such as server-side tag managers, may also offer it, and their cost and effort vary.
Conversions API Gateway. A self-serve option in Events Manager with no coding. You deploy it in a cloud account you own (AWS or Google Cloud), and Meta says the only cost is the cloud resources or partner fees. It needs a Meta Pixel. Meta also describes a hosted route for website events that you can turn on in Events Manager with no hosting.
Direct integration. Your developer sends events from your server with an access token created in Events Manager. It gives the most control and needs a developer. Use the same pixel ID as your browser events.
Do you need the Conversions API, and what does it fix?
- Lost browser events mean Meta sees fewer results than you actually got. Reports undercount, and delivery has less to learn from.
- On a small budget every lead counts. Meta says an ad set is Learning limited when it is unlikely to get around 50 optimization events in the week after its last significant edit, so a lost event is not a rounding error.
- The server can send later steps the browser cannot see, such as qualified, interviewed or paid. That is how lead quality can reach Meta.
- Meta says best practice is to use the Conversions API in addition to the pixel, not instead of it.
- You can still run ads with the pixel alone. It is simpler, and the price is possible event loss. How much you lose depends on your audience and site, so we do not quote a percentage.
How to add the Conversions API and deduplicate events
- Check what you have. In Events Manager open your pixel's Overview, Test Events and Diagnostics. Use Meta Ads Data Advisor, the new name of Meta Pixel Helper, on your site.
- Choose a route: a partner integration if your platform has one, the Gateway if you want no code and can run a cloud account, a direct integration if you have a developer.
- Keep the pixel. Send the same events from the server as well.
- Give every event an ID. Create a unique ID in the browser when the action happens and send the same value to the server. Meta suggests an order or transaction number for purchases and a random value for other events, as long as both sides send the same one.
- Use the same event name on both sides, spelled exactly. Event names are case sensitive.
- Add the customer information you are allowed to send, such as hashed email or phone, and the click and browser IDs.
- Test. In Test Events check that both copies arrive. Then open Event Details for an event and the Event Deduplication tab, which shows the rate of events deduplicated and the rate of deduplication key usage.
- Check Event Match Quality on the pixel's Overview and aim for 6.0 or higher.
- Remove double counting. Do not leave a manual pixel call for the same event next to a plugin or tag that already sends it.
What AdAce Ads does, and the limits
- AdAce Ads reads your pixel's state and hourly event statistics for 7 days, including server events from the Conversions API, and raises a critical alert when a pixel used by active ad sets goes silent. See Is your Meta pixel working? Last event, volumes and silence alerts.
- For client sites, AdAce Ads has an optional setting that sends Lead from the browser once per session and repeats it from the server through the Meta Conversions API with the same event ID. Meta merges the two. No names, phone numbers or emails are sent, and measurement consent must be confirmed for the site. Remove your own pixel Lead calls before you turn it on, or each lead is counted twice.
- For lead quality, AdAce Ads can send Interview and Hire events through the Conversions API with the fbc click mark and a hashed lead id, and no personal data. See Meta Conversions API for lead quality: send interviews and hires.
- Two identical server events are both counted. Deduplication covers a browser event followed by a server event, not two events from the same side.
- Better matching does not guarantee better results. Treat Event Match Quality as a diagnostic and judge ads by your business outcome.
- Meta's tools and names change. Check Meta's pages linked below for the current steps.
Sources and further reading
- Is your Meta pixel working? Last event, volumes and silence alerts
- Install the Meta (Facebook) pixel and lead events with Tag Manager
- Meta Conversions API for lead quality: send interviews and hires
- Conversion tracking audit: Google tag, GA4, conversions and Meta pixel
- Count form submissions as leads
- Optimization events: match Ads Manager Results exactly
- Lead Quality Tracking for Google Ads & Meta Ads
- Meta for Developers: handling duplicate pixel and Conversions API events
- Meta for Developers: verifying your Conversions API setup
- Meta for Developers: Conversions API Gateway
- Meta for Developers: get started with the Conversions API
- Meta Help Center: about Conversions API
- Meta Help Center: compare Conversions API setup options
Common questions
What is the difference between the Meta Pixel and the Conversions API?
The pixel runs in the visitor's browser and sends events from there. The Conversions API sends events from a server, which can include data the browser never sees, such as confirmed orders or lead statuses.
Do I need the Conversions API if I have the pixel?
Not to run ads, but Meta recommends using it in addition to the pixel so events that browsers lose still arrive. It matters most when every lead or sale counts, or when you want to send later steps such as qualified or paid.
How does Meta deduplicate pixel and Conversions API events?
The pixel's eventID must equal the server's event_id, and the pixel's event name must equal the server's event_name, both sent to the same pixel ID. Meta deduplicates events that arrive within 48 hours of the first one with that ID.
What is Event Match Quality?
It is a score in Events Manager for how well the customer information in your server events matches them to a Facebook account. Meta's developer documentation uses a scale of 1 to 10 and suggests aiming for 6.0 or higher.
Do ad blockers stop the Conversions API?
Meta says Conversions API data is less affected than the pixel by ad blockers, browser loading errors and connectivity issues, because the event is sent from a server rather than the browser.
How do I set up the Conversions API without a developer?
Use a partner integration if your platform has one, such as Shopify or WooCommerce, or the Conversions API Gateway, which needs no coding but runs in your own cloud account. A direct integration needs a developer.



Try it on your own accounts
Create a workspace, connect Google or Meta in a couple of clicks and see your accounts clearly. Changes follow your approvals or the policy you configure.
Create your workspace