Why events vanish
GA4 accepts the request and silently ignores events with reserved names, too many parameters or a timestamp older than 72 hours.
The Measurement Protocol answers 2xx even when it drops your events. Paste the JSON your server sends to GA4 to see each problem with the field it's in.
Runs in your browser. Nothing you paste is sent anywhere. Remove your api_secret before pasting.
Paste a request body, or load the example, and press Check payload.
GA4 accepts the request and silently ignores events with reserved names, too many parameters or a timestamp older than 72 hours.
Without session_id and engagement_time_msec, a server event isn't joined to the visitor's session, so it is unattributed and missing from Realtime.
The check runs on this page. Remove your api_secret before pasting.
Platform rules from Google: Measurement Protocol (GA4) reference.
Send the same body to /debug/mp/collect instead of /mp/collect. Google returns validation messages and records nothing.
The _ga cookie holds GA1.1. followed by the client id. Measurement Protocol wants only the part after the prefix, the same id the GA4 tag sends.
Trakero captures click ids, hashes customer data and sends each purchase once to Meta, TikTok, GA4 and more from your server, so ad blockers and Safari can't lose it.
Free tools
Check, build and debug your tracking in the browser. Nothing you paste leaves the page.
A short email when Meta, Google or TikTok change a tracking rule that affects stores, and when we add a free tool. A few a year. Unsubscribe in one click.
We use your address only for these emails. Privacy policy.