1. Prepare the file
Download the template, replace the example rows with your own data, and keep every amount on the same currency and reporting basis.
| Column | Meaning | Rule |
|---|---|---|
| date | Reporting date | Use one consistent date format |
| campaign | Campaign label | Do not combine unlike scopes |
| channel | Advertising platform | Use consistent names |
| spend | Ad spend | Non-negative number |
| attributed_revenue | Revenue claimed by the platform | Same window as spend |
| total_revenue | Actual business revenue | Enter once per date; use 0 on other campaign rows |
| conversions | Completed conversion count | Keep the definition fixed |
| refund_amount | Refunded revenue | Use 0 only when confirmed |
| new_customers | New-customer conversions | Use 0 if unavailable |
2. Analyze locally
How the metrics are calculated
Reported ROAS = attributed revenue ÷ spend
Refund-adjusted ROAS = (attributed revenue − refunds) ÷ spend
MER = total business revenue ÷ all ad spend
CPA = spend ÷ conversions
New-customer CAC = spend ÷ new customers
Refund-adjusted ROAS = (attributed revenue − refunds) ÷ spend
MER = total business revenue ÷ all ad spend
CPA = spend ÷ conversions
New-customer CAC = spend ÷ new customers
The analyzer checks file structure and arithmetic. It cannot prove that ads caused sales, reconcile differing attribution windows, identify duplicate purchase events, or decide whether a platform's revenue claim is correct.
Before acting on the output
- Export spend and conversion values for the same dates and timezone.
- Use net revenue when comparing business outcomes, and document whether tax and shipping are included.
- Allow refunds and delayed conversions to settle before treating a recent period as complete.
- Compare the calculated return with your own break-even economics.
The example CSV is fictional and exists only to demonstrate the required schema. No uploaded campaign data is transmitted by this tool. Read the calculation method.