Free tool by Clarvivo · no login
Upload matching order and refund exports to find identifier gaps before gross revenue is mistaken for net revenue.
Upload matching order and refund exports. We compare order IDs and refund totals; this does not by itself prove an analytics refund event fired.
This tool answers: Do the refunds in this export still match known orders, or is revenue likely overstated?
Enable JavaScript to run the check — the diagnosis itself is free and needs no account.
Analytics records a purchase when the order is placed. If the order is later refunded, most setups never tell analytics or the ad platforms. Revenue stays in GA4, return on ad spend stays inflated, and campaigns that drive high-refund customers look better than they are.
The first step to fixing that is knowing how big the gap is and whether your refund data can be matched to orders at all. If refunds use different IDs from orders, or reference orders that aren't in your export, you can't send refund events or adjust revenue reliably.
This checker compares an orders export with a refunds export: it matches refunds to orders by ID, totals the refunded amount, and lists refunds that don't match any known order.
These answer the questions this one tends to raise.
So you can trust the result — and your developer can verify it.
An orders export with an order or transaction ID, and a refunds export with the same ID and the refund amount.
Each refund is looked up by ID in the orders export. Unmatched refunds are listed, because they can't be pushed to analytics or reconciled.
The refund total over the period shows how much revenue in your reports may already be gone.
Clarvivo keeps refunds and acquisition claims in one revenue picture.
Reconcile net revenue