Meta Pixel and CAPI Event Deduplication: Implementation Guide
When the same conversion is sent from the browser and server, the matching event name and event ID let Meta identify the pair. Create one ID for the actual business event and reuse it across both delivery paths.
What to do first
Generate the event ID once after a validated lead submission or confirmed order, then retain it with that record.
Implementation and review
- Pass the same ID and event name to the browser event and the server request; keep access tokens on the server.
- Inspect test-event diagnostics and check that retries preserve the original event identity.
What to watch for
Generating separate IDs in the browser and server defeats matching. Server-side collection also remains subject to permissions and platform requirements.
Event identity example
This illustrative mapping shows the same business event on both paths. It is not a complete API implementation; server authentication and required fields must follow the current provider documentation.
{
"submission_id": "form-unique-record-id",
"browser": {"event_name": "Lead", "event_id": "form-unique-record-id"},
"server": {"event_name": "Lead", "event_id": "form-unique-record-id"}
}
A practical example to work through
The server should receive the identifier attached to the confirmed business event rather than constructing a new unrelated identifier for the same submission. A retry should reuse that identity. In test diagnostics, look for whether the browser and server records form the intended pair. This is separate from customer-information matching and should be validated as its own part of the implementation.
| Dimension | What to check | How to evaluate it |
|---|
References and further reading
References explain platform behavior; they are not independent verification of portfolio results. Check current documentation before implementation.
Need help applying this? Explore consulting services or review the project results.
Frequently Asked Questions
What is the first step?
Generate the event ID once after a validated lead submission or confirmed order, then retain it with that record.
What should I avoid?
Generating separate IDs in the browser and server defeats matching. Server-side collection also remains subject to permissions and platform requirements.
Request a paid-media or tracking audit
Tell me what you sell, which channels you use and where performance is stalling. We can agree the audit scope, deliverables and fee before starting.
Discuss an audit on WhatsApp →Join My 1-on-1 Practical Performance Marketing & Vibe Coding Class
Build campaign, measurement and landing-page skills through guided practice. Share your current experience so we can discuss a suitable learning plan.
Join 1-on-1 Live Class →