server-track-labby Canada Site Ops

Meta CAPI payload builder + dedup checker

Fill in a conversion and get a complete Meta Conversions API request body, with user_data normalized and SHA-256 hashed in your browser per Meta's docs (Meta: Server event parameters · Meta: Customer information parameters · Meta: Main body parameters), plus a pass/warn/fail checklist. Below it, check whether a Pixel event and a server event would be deduplicated (Meta: Handling duplicate Pixel and Conversions API events).

Privacy: your entered data never leaves the browser; standard page analytics only. No keys here: to deliver events, Meta needs your own Pixel ID and access token. server-track-lab's Meta forwarding also uses each customer's own pixel and token.

1. Build a server event

Checklist

Hashed fields

Request body (POST /{pixel_id}/events)


 Check it in the validator

2. event_id dedup checker

Enter the Pixel side (fbq(..., {eventID: ...})) and the server side. Server event names that are server-track-lab events (for example demo_booked) are mapped to the Meta name we send.

Verdict:

Meta's rules (fetched): eventID must match event_id and the Pixel event must match event_name; matches received within 48 hours are deduplicated and only the first is kept; within about 5 minutes the browser event is favored; there is no dedup when only one source is used. Full walkthrough: Meta CAPI deduplication with event_id · generate IDs with the event_id generator.

Related tools: Meta & Google hashing tool · CAPI payload validator · event_id generator · Google Enhanced Conversions builder

Skip this. server-track-lab hashes and sends for you. One POST /api/v1/track call: we normalize, hash, dedupe on event_id and forward to Meta CAPI. Free for 1,000 events a month, then CA$2 per 1,000. Get a free API key · Try the playground · API docs

FAQ

Does my data leave the browser?

Your entered data never leaves the browser: hashing runs locally with WebCrypto and form values are never sent to server-track-lab, Meta or Google Analytics. The page uses standard page analytics only (GA4 page views and an anonymous tool_use event).

When does Meta deduplicate a Pixel and server event?

Per Meta's docs, the Pixel eventID must match the Conversions API event_id and the Pixel event must match event_name, and the events must be received within 48 hours of each other. If they arrive within about 5 minutes, Meta favors the browser event.

Is the payload ready to send?

It is a Conversions API request body. To send it you need your own Pixel (dataset) ID and access token; this page uses neither. server-track-lab's Meta forwarding also uses the customer's own pixel and token.

How is this different from the validator?

The validator checks a JSON body you already have. The builder creates one from form fields, hashing them for you.