How do I validate a conversion API payload?
Paste the CAPI JSON into the box above, with Format set to JSON, or run pixellint validate json. HTTP 200 from the vendor is not that check.
Paste a URL from the Network tab, or the JSON your server posts.
Privacy ·
A conversions API can return 200 and still drop the purchase. The box above checks the fields the vendor documented.
Put the fixtures in CI, and keep production HARs out of tickets.
cargo install pixellint
npm install pixellint
pixellint validate url 'https://www.facebook.com/tr?ev=Purchase'
pixellint validate json @payload.json --rulepack vendor/meta-conversions-api
Paste the CAPI JSON into the box above, with Format set to JSON, or run pixellint validate json. HTTP 200 from the vendor is not that check.
A website pixel checker lints the collector URL from Chrome Network. Paste facebook.com/tr or another pixel into the box above. CAPI JSON is a different paste, with Format set to JSON.
Filter Chrome Network for facebook.com/tr. If that request is missing, the pixel is not firing. If /tr is present, the pixel fired and the event name or parameters may still be wrong.
Vendors accept malformed events and still return 200. A 13-digit event_time, a raw email in em, or website without event_source_url can all 200.
A conversions API is a conversion API. Meta prints the plural. Meta CAPI and Facebook CAPI are that Graph events POST. conversion API events are the rows.
A conversion API is a server POST of conversion API events. Conversion API and conversions API name the same job. Meta CAPI and Facebook CAPI are that Graph events POST.
meta pixel and CAPI is fbq plus Facebook CAPI on the same Pixel ID. CAPI implementation uses one event_id on both pipes.
Pinterest standard events are lowercase: pagevisit, checkout, addtocart. conversions API Pinterest is the server pipe.
conversions API Pinterest is Pinterest CAPI. Seconds clock, event_id required. Pinterest standard events stay lowercase.
tiktok pixel standard events fire in the browser. TikTok pixel Events API is the server pipe. The server timestamp is ISO 8601.
Facebook CAPI is Meta CAPI. Meta Conversions API and Facebook Conversions API are one Graph events POST. event_time is Unix seconds. TikTok Events API and Reddit CAPI are sibling products with different clocks.
Yes. Meta CAPI, Facebook CAPI, Meta Conversions API, and Facebook Conversions API are one Graph events POST.
Meta Conversions API is Meta CAPI. Facebook CAPI and Facebook Conversions API are the same Graph events POST. event_time is Unix seconds.
Facebook Conversions API is Facebook CAPI. Same product as Meta CAPI. conversion API events use event_time in seconds.
Conversion API events are the rows on a conversion API: event name, time, match keys, value. Meta CAPI and Facebook CAPI name those rows on the Graph events edge.
A CAPI tester is a conversion API validator. Paste CAPI JSON, lint Meta CAPI or Facebook CAPI, then open Test Events.
CAPI implementation is pixel plus conversion API events, same event_id. Meta CAPI and Facebook CAPI document that hybrid.
Reddit CAPI is the Reddit conversion API. event_at is milliseconds. action_source is WEBSITE. It is not a Meta CAPI body on a Reddit host.
Pinterest CAPI is the conversions API Pinterest documents. Pinterest standard events are lowercase. The server POST is seconds plus event_id.
TikTok pixel Events API is TikTok's conversion API. tiktok pixel standard events fire in the browser. The server timestamp is ISO 8601.
The Reddit conversion API is Reddit CAPI. event_at is milliseconds. action_source is WEBSITE. It is not a Meta CAPI body on a Reddit host.
X conversion API is website conversion events. A sibling conversion API, not a Meta CAPI body.
CAPI 200 is liveness. Meta CAPI and Facebook CAPI can return 200 with Test Events empty. CAPI not working is the body, not the token.
test_event_code on Meta CAPI and Facebook CAPI diverts the event into Test Events. Strip it in production.
LinkedIn CAPI is the LinkedIn Conversions API. conversionHappenedAt is milliseconds. LinkedIn insight tag documentation covers the image pixel plus that POST.
CAPI not working is usually HTTP 200 with empty Test Events, not a dead token. Lint the JSON before you rotate the token.
Pixel Helper cannot see conversion API POSTs. Chrome Network is the fired URL. Pixellint lints that URL against the documented contract.
Contract pages stay in docs. All posts · RSS.
A shared MMP worker that posts AppsFlyer eventName into Adjust's S2S event_token field silently drops the conversion.
200.
A malformed conversion event is accepted and nothing reports it wrong. You find out at
month-end reconciliation, if at all.
user_data is a privacy incident. A hashed IP address makes the event
unmatchable. On the wire they look the same.
gdpr_consent=1 passes a format check.
It is valid base64. Only decoding the version field shows it carries no consent at all,
which is legal exposure behind a green response.
Each host is attributed to one vendor.