Skip to content
BlogMeasurement and Analytics4 min read

Meta Pixel + Conversions API: Deduplication with event_id and When Server-only Makes Sense

Meta Pixel and Conversions API are not two separate conversions that should be added together. If you send the same event through browser and server, Meta should deduplicate it.

Short Answer

Meta Pixel and Conversions API are not two separate conversions that should be added together. If you send the same event through the browser and server, Meta should deduplicate it using the same event_name and the same event_id. The goal of a dual setup is not to measure one lead twice, but to deliver the same business event through two paths and increase the chance that Meta receives quality signals.

If you must choose only one path for a final high-value event, a server or backend event is often better than a purely browser-based Pixel event. But the browser layer is still useful for remarketing, page_view, view_content, add_to_cart and other signals. The practical answer is therefore not "Pixel always" or "CAPI always", but an event-by-event architecture.

How Deduplication Works

For the same event, the browser Pixel event and the server CAPI event must carry the same event_name and the same event_id. If the browser sends Lead with eventID abc123 and the server sends Lead with event_id abc123, Meta can recognize that this is one event. If event_id differs, you risk duplicates.

Do not generate event_id separately on the server and in the browser. Ideally, create it at the event source: for purchase from order_id, for lead from lead_id or from a UUID generated when the form is submitted and passed to both browser and server.

Browser + Server Is Not Double Measurement

In a well-configured dual setup, Meta typically uses one deduplicated event. The benefit is that each source can carry different signals and has different reliability. The browser may have better visit context and cookies. The server may have more stable data, hashed email, phone number, order value or backend status.

If CAPI only forwards the same thing the Pixel already sent and it is not deduplicated, you will make your data worse. If CAPI sends a backend status such as lead_qualified or order_paid, it gives the algorithm a better signal than an ordinary button click.

When to Consider Server-only

Server-only makes sense for final business events that happen outside the browser or after a longer delay: lead_qualified, booking_confirmed, order_paid, subscription_started, deal_won. In these cases, the backend or CRM is often the source of truth and the browser Pixel would only be a weak approximation.

The downside of server-only is the loss of some browser signals and the need for a high-quality matching payload: hashed email/phone, fbp, fbc, external_id, client IP, user agent, event_source_url, action_source and consent logic. Server-only without matching data may be clean, but harder to attribute.

Practical Lead Flow

  1. The user arrives from an ad. 2. The website stores click IDs and fbp/fbc if available. 3. When the form is submitted, lead_id and event_id are created. 4. The browser can send Lead with eventID. 5. The server or sGTM sends Lead with event_id and user_data. 6. CRM later sends QualifiedLead as a separate event or offline conversion with its own ID.

This separates the technical lead from the qualified lead. Meta receives a better signal and reporting does not pretend every form submission has the same business value.

Diagnostics

In Events Manager, watch Test Events, deduplication, Event Match Quality, parameter warnings, duplicates and the difference between browser/server events. In GTM and sGTM, check whether event_id really matches. For purchases, compare event counts with the backend.

If Meta shows more Purchase events than the backend, deduplication probably is not working. If it shows significantly fewer, a browser/server request, consent, matching data may be missing, or events may be failing on API errors.

FAQ

Frequently Asked Questions

Next Article

Enhanced Conversions for Leads GCLID CRM

Enhanced Conversions for Leads: What They Are, What They Are Not and How to Use Them Alongside GCLID

Enhanced Conversions for Leads are not a more robust replacement for GCLID. They are a complementary method that sends hashed first-party user-provided data to Google.

Read ArticleRead Article

 
Looking for 
 
someone who 
 
can take this 
 
off your plate? 

We will design a Meta Pixel + CAPI architecture by event type: browser, server, backend or a deduplicated combination.