A Shopify store does not need a generic ROAS benchmark. It needs a threshold built from the money it keeps after discounts, product cost, fulfillment, payment fees, shipping subsidies and expected returns. A campaign can look strong in an ad dashboard and still leave too little contribution to cover advertising.
The quickest way to establish that threshold is to use your own order economics in the Break-Even ROAS Calculator. The rest of this guide explains which Shopify numbers belong in the calculation, how to avoid double counting, and how to turn the result into a practical target for paid media.
Start with one consistent Shopify revenue definition
Before calculating ROAS, choose the revenue number you will use and write down what it includes. Shopify's official sales-report documentation defines net sales as gross sales minus discounts and sales reversals. Total sales can also include shipping charges, taxes, duties and fees. For profit planning, taxes collected for an authority should not be treated as money available to pay for advertising.
A sensible starting point is product net sales plus any shipping revenue you genuinely retain. Keep this basis consistent in the numerator and in your contribution-margin calculation. Shopify also notes that its AOV metric is based on gross sales minus discounts divided by orders and excludes post-order adjustments. That means dashboard AOV may need a separate allowance for refunds or later reversals when you plan acquisition economics. Review the definitions in Shopify's official sales reports guide.
Calculate contribution before advertising
Contribution before advertising is the amount from an average order that can pay for customer acquisition and then create profit. Start with retained revenue and subtract costs that rise because the order happened.
Contribution per order = retained revenue - product cost - fulfillment - outbound shipping subsidy - payment fees - expected return losses - other variable order costs
Examples of variable costs include packaging, pick and pack, transaction charges and marketplace or app charges that are assessed per sale. A fixed Shopify subscription or a flat monthly app fee does not change with one additional order. You can keep those fixed costs outside the order calculation, then check whether total contribution after ads is sufficient to cover overhead.
If you need to convert cost and selling price into margin before doing the ROAS calculation, use the Profit Margin Calculator. Do not confuse margin with markup. They use different denominators and produce different break-even thresholds.
The Shopify break-even and target ROAS formulas
Once contribution is calculated on the same revenue basis, the core formulas are:
Break-even ROAS = retained revenue per order ÷ contribution per order
Maximum break-even CPA = contribution per order
If contribution margin is contribution divided by retained revenue, the shortcut is:
Break-even ROAS = 1 ÷ contribution margin
Break-even is an economic floor, not a recommended campaign target. At that point, all contribution before advertising has been spent on acquisition. To protect a desired amount of profit per order:
Target ROAS = retained revenue per order ÷ (contribution per order - desired post-ad contribution)
Worked example: a Shopify order with fees and returns
Assume a store has a $110 selling price. An average discount of $8 reduces initial product revenue to $102. Based on mature return data, the store expects another $7 of sales reversals per order, so retained net product revenue is $95.
- Product cost: $32
- Fulfillment and packaging: $5
- Outbound shipping paid by the store: $8
- Variable payment and platform fees: $4
- Expected return handling or unrecovered cost: $3
Variable non-ad costs total $52. Contribution before advertising is $95 - $52 = $43. Break-even ROAS is $95 ÷ $43 = 2.21x, and maximum break-even CPA is $43.
If the business wants to retain $12 after ads, allowable acquisition cost becomes $43 - $12 = $31. Target ROAS is $95 ÷ $31 = 3.06x. A campaign at 2.60x is above break-even but below this profit target. That is not the same as saying the campaign loses money. It means the campaign needs investigation or optimization before it meets the selected profit goal.
How discounts change the required ROAS
Discounts can raise conversion rate while lowering the amount available for acquisition. Suppose the same store runs a promotion that reduces retained revenue from $95 to $85, while variable costs fall only from $52 to $50. Contribution becomes $35 and contribution margin becomes 41.18%. Break-even ROAS rises to $85 ÷ $35 = 2.43x.
The promotion can still be worthwhile if it improves conversion, order volume or customer quality enough to compensate. Evaluate the full result instead of judging the promotion from conversion rate alone. The AOV and ROAS guide explains how bundles, upsells and discounts can change both maximum CPA and the required return.
Reconcile Shopify with Meta, Google and other ad platforms
Do not expect Shopify and an ad platform to report identical revenue. Attribution windows, first-click and last-click logic, cross-device identity, modeled conversions, cancellations and refund timing all affect the totals. Shopify's official marketing reports documentation describes several attribution models and notes that sales attributed to marketing can differ from other sales reports.
Use ad-platform ROAS to make tactical decisions inside that platform, but reconcile it with Shopify and finance data for budget decisions. Compare platform attribution with a store-level view such as blended ROAS versus platform ROAS. Neither number is perfect on its own. Together, they help reveal duplicated credit, missing cost data and changes in organic or returning-customer demand.
Separate new and returning customers
A store can report a healthy blended ROAS while relying heavily on customers who would have purchased without paid acquisition. Where your consented data and reporting setup allow, separate first-time and returning-customer orders. Calculate first-order contribution for prospecting, then use repeat-purchase contribution only when it is supported by mature cohort data.
Do not use an optimistic lifetime-value forecast to hide a loss that the business cannot finance. If a campaign intentionally accepts a lower first-order return, define a maximum first-order loss, the expected payback window and the cohort metric that will confirm whether the decision worked.
A practical weekly Shopify ROAS workflow
- Lock the date window. Use the same completed period for spend and orders, and allow enough time for refunds when the category has delayed returns.
- Export or review Shopify sales. Record gross sales, discounts, reversals, net sales, order count and relevant shipping revenue.
- Add order economics. Use actual product mix where possible instead of one storewide COGS percentage.
- Calculate break-even and target levels. Save the assumptions with the reporting period so changes are auditable.
- Compare platform and store views. Investigate gaps in attribution, spend, refunds or channel classification instead of forcing the numbers to match.
- Make decisions by band. Separate campaigns below break-even, between break-even and target, and above target. The middle band may need improvement, but it can still contribute profit.
What this method includes and excludes
The order-level method includes retained revenue and costs directly connected to fulfilling the order. It does not automatically include fixed payroll, rent, software subscriptions, creative production, agency retainers, financing costs or tax obligations. Those costs still matter, but mixing every fixed expense into a per-order margin without a documented allocation can make campaign targets unstable.
Currency conversion also matters when ad spend and Shopify reporting use different currencies. Use the same currency and a documented exchange-rate method before dividing revenue by spend. For a broader ecommerce measurement framework covering returns, contribution and channel comparisons, read the Ecommerce ROAS Guide.
Frequently asked questions
What is a good ROAS for a Shopify store?
There is no universal benchmark. A good Shopify ROAS is above the store's break-even threshold and high enough to leave the intended contribution profit after advertising.
Should Shopify ROAS use gross sales or net sales?
Use a consistent revenue basis. For financial decisions, net sales after discounts and sales reversals is usually more useful than gross sales. Keep tax treatment and shipping revenue documented.
How do I calculate break-even ROAS for Shopify?
Divide the revenue basis per order by contribution before advertising. If contribution margin uses the same revenue basis, the shortcut is one divided by contribution margin as a decimal.
Should payment processing and Shopify fees be included?
Include variable fees that are caused by the order. Fixed subscription or app costs can be handled separately unless you intentionally allocate them to each order.
Why is Shopify revenue different from ad-platform revenue?
Shopify and ad platforms can use different attribution models, windows and timing. Refunds, cancellations and cross-device journeys can also create differences. Use each source for its intended purpose and reconcile both.
Calculate your Shopify break-even point
Enter your own selling price, discounts, fees, shipping, returns and contribution goal.
Calculate break-even ROAS