New here? Load the broken sample to see what a failing setup looks like.

Your CAPI is firing. Meta just isn't listening.

Paste a Meta Conversions API payload and get an instant, parameter-level diagnosis — which field is failing, why it hurts your match quality, and exactly how to fix it. Meta's own tools won't tell you. This one will.

🔒 100% client-side. Your payload never leaves this page — no servers, no tracking, no signup.

Three steps. Thirty seconds.

No account, no pixel access, no waiting on a developer.

1

Paste your payload

Drop in one CAPI event, an array of events, or newline-delimited JSON — straight from your server logs or test events.

2

Get a parameter-level diagnosis

TrackProof inspects every field: required fields, event names, timestamps, IDs, PII hashing, fbp/fbc format, revenue fields.

3

Fix it with plain-language steps

Each finding is ranked by severity and tells you the exact fix — plus how much it's costing your Event Match Quality.

Meta CAPI Health Check

Paste a Conversions API event payload below. Everything runs locally in your browser.

Drop a .json file here, or click to browse

Results will appear here after you run a check.

What it checks

The silent killers Meta's Event Manager won't name for you.

Critical — Unhashed PII

Raw emails, phones or names in user_data violate Meta's terms. Accepts 64-char SHA-256 hashes; flags anything else.

Critical — Missing or duplicate event_id

Missing IDs break browser↔server deduplication; duplicated IDs across different conversions silently drop real sales.

Warning — Millisecond timestamps

13-digit event_time values put your events 50,000 years in the future. Meta expects Unix seconds. Also catches future dates and events past the 7-day attribution window.

Warning — Revenue fields

Purchase / AddToCart / InitiateCheckout events without a numeric value and 3-letter ISO currency can't optimize for ROAS.

Warning — Malformed fbp / fbc

Cookie values that don't match Meta's fb.1.<ts>.<rand> format break dedup and click attribution.

Warning — test_event_code in payloads

Test codes that leak into production pollute your real reporting with test data.

Warning — Non-standard event names & action_source

Typo'd event names (purchase vs Purchase) lose standard-event optimization; unknown action sources risk dropped events.

Critical — Missing required fields

event_name, event_time, action_source, event_id, user_data — any gap can mean a rejected or silently dropped event.

Start free. Upgrade when you're ready.

The health check is free forever. Paid tiers are for people who want ongoing eyes on their tracking.

Free check

$0 forever
  • Full parameter-level diagnosis
  • 0–100 health score
  • Copyable plain-text report
  • Runs 100% in your browser
Run it now

Monitoring

$19/month
  • Scheduled payload health scans
  • Alerts when a new breakage appears
  • EMQ trend tracking per event
  • Cancel anytime

Waitlist — billing starts at launch. No charge today.

Email me my report

Get a copy of your diagnosis plus early access to the $29 human audit and $19/mo monitoring.

FAQ

Does my payload leave my browser?

No — never. TrackProof is a static page: the validation code runs entirely in your browser's JavaScript engine. There is no server, no analytics beacon, and no network request. You can disconnect from the internet and it still works. The email form currently stores your address only in this browser's local storage; a real backend will be wired before launch.

What format should my payload be in?

Any JSON you can paste: a single CAPI event object, an array of event objects, or newline-delimited JSON (one event per line). Files up to 200 events are checked; larger inputs are capped with a warning.

What is Event Match Quality (EMQ)?

Meta's 0–10 score for how well your server events can be matched to real people and ad clicks. Hashed emails/phones and valid fbp/fbc cookies are the biggest levers. Each finding in your report includes an EMQ impact rating so you fix the high-impact items first.

Do I need to hash my data before pasting it here?

No — that's exactly what the tool checks for. Paste your real payload and TrackProof will tell you whether PII is hashed (64-char SHA-256) or raw. Just don't share the page or a screenshot containing raw customer data with anyone.

Why is my score low even though events are "firing"?

An event can fire and still be useless: a millisecond timestamp dates it 50,000 years in the future, a duplicated event_id gets silently dropped by dedup, and raw PII can get the whole dataset restricted. TrackProof catches exactly these "firing but broken" cases.

What does the $29 audit include?

The free tool diagnoses your payload. The one-time audit adds a human review within 48 hours: a prioritized fix roadmap written for your developer and a before/after EMQ comparison guide. It's on the waitlist until launch — no charge today.