Refund-adjusted ROAS: reconcile orders and revenue
Build an order-level gross-to-net bridge for ROAS, including partial refunds, discounts, tax, shipping and a stated observation cutoff.

Choose the revenue boundary before subtracting refunds
A useful refund-adjusted ROAS starts with a written revenue policy. In the worked method here, the numerator is merchandise revenue after discounts and merchandise refunds. It excludes tax and shipping charges. Other reporting policies can be valid, but a period comparison needs the same one throughout.
Shopify’s sales documentation separates gross sales, discounts, sales reversals, tax and shipping. It also records sales and reversals on their respective processing dates. Those fields help build a bridge, but a calendar refund total does not automatically match the original acquisition cohort. [Shopify: sales reports]
Keep the adjustment narrow enough to audit. A refund can include merchandise, shipping and tax. If you exclude tax and shipping from the original numerator, subtracting the entire cash refund would remove amounts that were never included. Separate the components before calculating the revenue ratio.
Reconcile three orders from checkout to eligible revenue
This fictional completed order cohort uses illustrative USD. Each order is included once under the same attribution rule. Tax and shipping are reconciled separately below and excluded from the table’s ROAS numerator. All refunds are known at the stated review date.
| Order | Gross merchandise | Discount | Merchandise refund | Eligible revenue |
|---|---|---|---|---|
| A | 200 | 20 | 0 | 180 |
| B | 300 | 0 | 120 | 180 |
| C | 150 | 15 | 135 | 0 |
| Total | 650 | 35 | 255 | 360 |
After discounts, merchandise sales are $650 − $35 = $615. Merchandise refunds of $255 reduce the eligible revenue to $360. With $150 of matched ad spend, the unadjusted merchandise ROAS is $615 ÷ $150 = 4.10× and the refund-adjusted ROAS is $360 ÷ $150 = 2.40×.
Suppose the three checkouts also charged $49.20 in tax and $25 in shipping. The collected checkout amount before refunds was $689.20. It is not the $615 merchandise numerator. If a refund record contains $135 merchandise, $10.80 tax and $5 shipping, this policy subtracts $135, not the full $150.80 cash movement.
Join adjustments to the original orders
- Export the original included orders with stable order IDs and the chosen revenue fields.
- Join every relevant adjustment by original order ID, including partial refunds and later edits.
- Separate merchandise, tax, shipping and any fees using the same policy as the initial sale.
- Check that each adjustment appears once; several refund rows can belong to one order.
- Recalculate the original order cohort as of a recorded observation date.
Use a left join from the order cohort so orders without refunds remain visible. An unmatched refund should enter an exception list. It may belong to an earlier cohort, an omitted order or a changed identifier. Do not force it into the current campaign simply to make two totals agree.
A negative eligible amount deserves a review, not an automatic clamp to zero. It can reflect duplicate adjustments, an incorrectly allocated refund or an additional goodwill credit. Decide whether that credit belongs in this revenue definition and document the treatment. Silently removing it would hide the reconciliation problem.
Keep two different time views
The order-cohort view asks how the revenue from a set of acquired orders changed after later adjustments. The cash-period view asks which receipts and refunds occurred during a calendar period. Both are useful. Mixing current-month ad spend with refunds from unrelated older orders answers neither question cleanly.
Record the cohort date range and the review date beside the ratio. A seven-day-old order cohort can look stronger than a mature one simply because fewer returns have been processed. Choose a review cutoff that fits the business, then keep provisional cohorts separate. This article does not prescribe a universal return window.
If a partial refund arrives after a report has been shared, update the cohort version or record a dated adjustment. Preserve the earlier export so a reviewer can explain why the same month now has a different ROAS. A changing total is not necessarily a measurement bug.
Move from revenue reconciliation to a budget decision
A 2.40× adjusted ROAS is a revenue ratio, not a profit verdict. Product cost, fulfillment, payment expense and other variable costs still determine the contribution left after the $150 spend. Use the adjusted numerator consistently in the ROAS calculator, then examine the margin boundary separately.
Sources
AI-assisted writing and an AI-generated editorial cover. Source links and checked dates are listed below; illustrative examples are labeled in the text.
- Shopify: sales reports — checked 2026-10-18