Free tool
Tracking request decoder
Paste a tracking request from DevTools — GA4, Google Ads, Meta, TikTok or any of 63 platforms — and read every parameter by name, what it means, and what the platform will do wrong with it.
Examples:
Also free: Consent Mode decoder · GTM container viewer
Why read the request
Every platform’s own report shows what it accepted, after processing, often a day later. The request shows what the page actually sent, the moment it sent it: the account it went to, the event name as typed, the value and currency as strings, and the consent state it carried. A purchase recorded with the wrong currency, a conversion with no transaction ID, an event name GA4 reserves and silently drops — all of it is in the request before it is in any report.
What the decoder does
- Names the platform and the account from the host and path, including GA4 sent through a server-side container on your own domain.
- Names every parameter —
en,epn.value,cd[currency],label— and explains the ones that are easy to misread. - Unpacks GA4 items from
pr1=id…~nm…~pr…~qt…into a table. - Reads a POST body: a GA4 batch as one event per line, or a JSON payload such as TikTok’s.
- Runs the extension’s checks and says why each finding matters and how to fix it.
Decoding one request at a time is how you check a hit you already found. The Tag Master extension does it for every request on the page as it happens, and links each to the dataLayer push that caused it.
Questions
Which platforms does it read?
The 63 Tag Master knows: GA4 and the rest of Google, Meta, TikTok, LinkedIn, Pinterest, Snap, Microsoft UET, Adform, Criteo, Adobe, Segment, Amplitude and more. A request from anything else is still listed parameter by parameter, just without names.
Where do I get the request URL?
In Chrome DevTools, open Network, find the request (filter on collect, tr, pixel or the vendor’s name), right-click it and choose Copy, Copy URL. For a POST, copy the payload from the Payload tab into the second box.
Why does GA4 show several events for one request?
GA4 batches: the URL carries what the events share — the measurement ID, the client ID, the page — and the POST body carries one line per event. Paste the body and each line is read as its own event.
Is what I paste sent anywhere?
No. It is read in your browser and never put in the page address, because a request URL carries a client ID and the page it came from.
What are the checks based on?
The same rules the Tag Master extension runs on every hit it captures: currency codes, transaction IDs on purchases, reserved event names, parameter limits and the like, each with why it matters and how to fix it.
Try it on your own site
Tag Master is free, needs no account, and collects no data.
Add to Chrome — Free