Audit your ads against paid orders.
Drop your own files. Nothing leaves this browser.
A shop paid by PayPal
Your ad report and your PayPal download, matched in the browser.
Where to get these files, and how matching works
Meta: Ads Manager → Reports → Export table data → CSV, at ad level (Google Ads works too): the ad name, amount spent and results or leads. PayPal: Activity → Statements and reports → Activity download → All transactions, CSV, same dates. Meta lead form export: created_time, ad_id, ad_name and email; UTF-8 CSV or UTF-16 tab-separated.
A payment is matched to an ad by the tag in the PayPal order (custom field, a utm_content tag, or an item title equal to the ad name), then by the customer's email in the Meta lead export, then by the ad name in the invoice. Emails are matched locally and never shown. Everything runs in this page with the same money code the Worker uses (ledger.js); nothing is uploaded, and no AI reads your files.
| Ad | Spend | Leads (ad report) | Paid orders (PayPal) | Refunded | Paid revenue | Per $1 of ads | After costs and fees, per $1 | What the budget rule allows |
|---|
Match detail and what to do next
A shop paid by bank transfer
Your own order book, payments and refunds, through the same ledger code.
| Ad group | Paid orders kept | Money kept | Refunds | Double payments held | No matching order | Cost / chat | Kept per ad spend |
|---|
Limits
This checks the book's arithmetic and double payments, not whether ads caused a sale.