Networks · Meta
Meta Pixel events: names and parameters
Updated 2026-09-27
The Meta Pixel is the browser tag Meta advertisers load from connect.facebook.net/…/fbevents.js. Every event it reports leaves the browser as a request to the /tr/ endpoint, with the event name in ev, the pixel ID in id and the event's custom data under cd. Universal Pixel Debugger decodes these requests and shows each field with the exact key it came from.
Where the events go
| Endpoint | Method | What it carries |
|---|---|---|
www.facebook.com/tr/ | GET (query string) or POST (form body) | One event: ev, id, custom data as cd[key] fields or a cd JSON object, page URL dl, referrer rl |
www.facebook.net/tr/, facebook.com/tr/ | GET or POST | The same request format on the other recognized hosts |
The extension also notes when the fbevents.js script loads. That is setup evidence only: a loaded script does not mean an event was sent.
Event names as sent
The event name is the ev parameter. The extension shows it exactly as sent, with the original case, and assigns no category. A custom event keeps its custom name.
Sent name (ev) | Usually sent when |
|---|---|
PageView | A page loads |
ViewContent | A product or content page is viewed |
Search | A site search runs; the term is in cd[search_string] |
AddToCart | A product is added to the cart |
InitiateCheckout | Checkout starts |
Purchase | An order is completed |
The occurrence ID used for deduplication is sent as eid or eventID (or cd[event_id]). It is kept separate from the order ID.
Value, currency, order ID and products
Custom data arrives either as bracketed form keys such as cd[value] or as a JSON object in cd. The extension reads both and shows which one was used.
| Field | Key(s) | Notes |
|---|---|---|
| Event value | cd[value], then value inside cd | Shown only when sent. Never filled from an item price. |
| Currency | cd[currency], then currency inside cd | Kept exactly as sent, including its case |
| Order ID | cd[transaction_id], cd[order_id], cd[orderId] | Separate from the occurrence ID (eid, eventID). cd[subscription_id] is shown but not treated as an order. |
| Products | cd[contents] or cd[items] arrays; otherwise cd[content_ids] or cd[content_id] | Item fields include id, quantity, item_price (or price), name, sku, brand, category |
| Other commerce fields | cd[num_items], cd[predicted_ltv], cd[content_type], cd[content_name], cd[content_category] | Listed in the parameter checklist |
| Browser and click IDs | fbp, fbc | fbp is the _fbp browser ID; fbc is the _fbc click ID built from fbclid |
Common problems
- Checkout events without a value. On a live store,
InitiateCheckoutcarried only item prices incd[contents]and nocd[value]. The extension shows the value as not observed rather than adding up item prices. - Sent value differs from the shown price. On a live store,
AddToCartsent acd[value]lower than the price the selected variant showed in the cart. The extension reports what was sent; the cause needs checking in the store's tag setup. - One event sent to several pixels. A store can send each event to several pixel IDs; one live store sent every event to five. Two pixels receiving the same
InitiateCheckoutwith the same event ID are separate destinations, not duplicates. - Script loaded, no events. On a live site the Meta script loaded with HTTP 200 but no
/tr/event was captured in the sample. The capture does not show why; a loaded script is not evidence that an event was sent.
How to check it with Universal Pixel Debugger
- Open the side panel with the toolbar icon on the site, click Clear, then do the action you want to test, such as adding a product to the cart.
- Find the Meta lane on the signal board. It shows the event count and flags request errors or requests with no decoded event.
- Click an event. Value and currency show the key each came from, for example from cd[value], or Not observed when the event did not send them.
- Read the Meta parameters checklist ("N of M known fields sent"), the Not sent list and Other sent fields for everything else in the request.
- Check the issues: invalid value or currency, a potential duplicate, a value, currency or product mismatch with another network for the same order ID, or a field that differs between pixel IDs.
A loaded script, a captured request and a decoded event are separate evidence. An HTTP success response does not prove that Meta accepted or counted the event.