Validate your purchase event
The money event is the one that has to be right, and it fails in a small number of consistent ways. Paste a real payload and this checks for them: no transaction_id so a page refresh counts twice, no currency so multi-currency revenue quietly mixes, a value sent as a string, an items array that disagrees with the event total. It validates shape, and it tells you which checks you still have to run yourself.
Free30 minutesNo obligation
Validate a purchase payload
The money event is the one that has to be right. Paste yours and this checks the fields whose absence causes a specific, known failure — a missing transaction_id that lets a page refresh count twice, a missing currency that quietly mixes amounts, a value sent as a string.
Paste a real purchase payload and press Check. Everything happens in your browser. Nothing is sent anywhere.
Payload validator · what breaks
What this tool is for — Payload validator
- 01
Your reported revenue is above your bank
And you want to rule the payload in or out.
- 02
You're signing off a new implementation
And want more than a preview-mode green tick.
- 03
Someone changed the checkout
And nobody has checked what the event looks like since.
Payload validator · the fix
What you get out of it — Payload validator
A field-level verdict
With the consequence of each gap stated.
Problems separated from warnings
So you know what's urgent.
An honest list of what it can't see
Which is most of what actually breaks.
Payload validator · architecture
Why preview mode isn't enough — Payload validator
Preview shows what the container intends to send. Between intent and delivery sit consent, blockers, page conditions and payment method — all invisible in preview.
- 1
Consent sits between intent and delivery
A tag that previews perfectly can send nothing when a real visitor has denied consent.
- 2
Blockers remove requests silently
The tag fires, the request never leaves, and nothing anywhere reports it.
- 3
Payment methods diverge after preview
Wallets can be abandoned after payment completes, so the order exists and the confirmation page is never seen.
- 4
Preview runs in your browser, not theirs
Your session isn't representative. It has your consent state, your extensions and your device.
Payload validator · diagnose
What this tool cannot tell you — Payload validator
Stated up front, because a tool that implies more confidence than it has is worse than no tool. These are checks you have to run yourself.
- 01
Whether the event fires at all
It validates a payload you already have. A payload that never existed can't be pasted.
- 02
Whether something else also sends purchase
Duplication needs the deduplication checker and a firing-path inventory.
- 03
Whether the values are correct
Shape, not truth. It can't see your store.
- 04
Whether a refresh double-counts
Test it: refresh the confirmation page and watch. Takes ten seconds.
Payload validator · prove
How to confirm the result — Payload validator
Against your own records, not against the tool's output.
Source of truth
your store's order records, matched on the transaction identifier
- A live payload captured from a real order, not preview.
- Confirmation page refreshed with no additional event.
- Every payment method tested with a real transaction.
- Purchase count reconciled against orders for a closed week.
- Reconciled over a fully closed window, matched per record rather than on totals.
- Re-checked after your next site release, which is when most breaks happen.
Payload validator · free audit
What we check in the free audit
- Whether the event fires at all
- Whether something else also sends purchase
- Whether the values are correct
- Whether a refresh double-counts
Checked against
your store's order records, matched on the transaction identifier
Free30 minutesNo obligation
Payload validator · when not to buy
Why this isn't gated — Payload validator
There's no email form in front of it, and that's deliberate.
- A tool you have to pay for with your contact details is a lead form wearing a costume. If this is useful, it should be useful without a transaction.
- Everything it does runs in your browser. There is no endpoint, so there is nothing for us to collect even if we wanted to — open your network tab and check.
- It will tell you when you don't have a problem. That outcome costs us a sale and happens regularly, which is the point of publishing it rather than putting it behind a call.
- If it does find something and you'd rather fix it yourself, the reference pages on this site cover the how. Hiring us is one option, not the conclusion.
Payload validator · what we deliver
What it checks — Payload validator
transaction_id presence
The deduplication key. Its absence is the most consequential single finding here.
Currency and value
ISO 4217 shape, numeric type, non-zero.
Event naming
Casing against GA4's recommended events.
Item consistency
Whether the items array totals roughly agree with the event value.
Pricing
Pick the package that fits your ad spend
Browser-side starter
$400One-time fee · lifetime ownership
If the tool found something and you'd rather not fix it yourself: we repair the root cause in your existing setup and verify it on a live conversion.
- Root cause fixed, not worked around
- Verified on a live conversion
- Reconciled against your own records
- Written handover
1st-party server-side
Recommended$800One-time fee · most popular
Removes the class of failure rather than the instance. Money events from your own records through a first-party container on your subdomain.
- First-party server container on your own subdomain
- Events from your records, not the browser
- Deduplicated on a shared event ID at every destination
- First-party cookies beyond Safari's 7-day cap
- 95%+ accuracy and 8+ Meta EMQ, guaranteed in writing
Full 1st-party stack
$1,800One-time fee · lifetime ownership
Every paid channel server-side plus the offline loop, with monitoring so the next break surfaces in days rather than at quarter end.
- Everything in 1st-party server-side
- Pinterest, Snapchat, Reddit and LinkedIn CAPI
- CRM and offline conversion loop
- Refunds and cancellations corrected wherever each platform allows it
- Monitoring on every destination
FAQ
Payload validator questions, answered
Same rule set — the purchase event is where both converge. Use whichever framing matches what you're checking.
Nothing leaves your browser, so you don't have to. It's still a good habit and we'd rather you did.
Because Shop Pay and PayPal can be abandoned after payment completes. The order exists in your store and no platform ever hears about it — and that's invisible from a payload you did capture.
It means the payload's shape is right. Duplication, missing events and wrong values all survive a clean payload check.
Free · 30 min
Get the checks a payload can't show you
Free30 minutesNo obligation
