Direct answer

How do you calculate break-even ROAS for Shopify?

To calculate break-even ROAS, first find contribution before advertising: realized revenue after discounts minus COGS, shipping, packaging, payment or COD fees, and an allowance for returns or RTO. Divide that contribution by revenue to get the pre-ad contribution margin. Then divide 1 by that margin. A 45% margin gives a 2.22 break-even ROAS.

Free tool › No sign-in

Put your own numbers in

The formula above is short, so here it is running. Six figures from one typical order give the contribution left before advertising, the margin that contribution represents, and the ratio advertising has to beat.

A display label only. The arithmetic is the same in any currency, as long as every figure uses the same one.

One typical order

Use the same orders and the same window you measure ad spend against.

Realized item revenue on one order, excluding tax collected for a tax authority.
Spent whether or not the order is kept. Include the return leg here if returns are billed both ways.
Percent of the revenue actually collected.
Damaged, expired, or no longer sellable at full price. Zero if returns are always resold.

Break-even ROAS

Realized revenue divided by the ad spend this order can carry.

Realized revenue per order placed

Price times the share that is kept.

Contribution before ad spend

Also the most this order can pay for advertising.

Pre-ad contribution margin

On realized revenue, not placed revenue.

Every figure above is computed in this browser tab. Nothing you type is saved, sent or logged.

Selling cash on delivery, where an undelivered order pays both shipping legs and collects nothing? The full COD and RTO calculator models that split properly.

Munafa Shopify profit dashboard used to assemble a break-even ROAS calculation
Munafa calculates true Shopify profit after COGS, shipping, packaging, payment fees, COD fees, and RTO losses.

Choose the revenue and cost scope first

Use realized item revenue after discounts for the same orders and time window as the advertising spend. Keep tax outside the calculation when it is collected for a tax authority. Treat customer-paid shipping consistently: include it in revenue only if the matching fulfillment cost is also included.

Subtract costs that change with the order: product cost, outbound shipping, packaging, payment processing, COD charges, pick and pack, and a realistic allowance for refunds, returns, or RTO. Shopify's Cost per item field can support product-cost reporting, but it does not automatically represent every variable cost required to fulfill an order.

Use the break-even ROAS formula

Contribution before ad spend equals realized revenue minus variable costs other than advertising. Pre-ad contribution margin equals contribution before ad spend divided by realized revenue. Break-even ROAS equals one divided by that margin.

The same calculation can be expressed in money: break-even ad spend equals contribution before ad spend. If actual spend exceeds that contribution for the measured cohort, the cohort has moved below break-even before fixed overhead.

Formula

Pre-ad contribution = realized revenue - discounts - COGS - fulfillment - payment costs - expected return or RTO loss

Pre-ad contribution margin = pre-ad contribution / realized revenue

Break-even ROAS = 1 / pre-ad contribution margin

Put your own numbers through the calculator to get this threshold with COD and RTO cost already carried. It runs in your browser and nothing is sent anywhere.

Worked example for a fictional Shopify cohort

Assume a clearly fictional campaign cohort has 2,000 in realized item revenue after discounts. Its COGS is 700, outbound shipping is 150, packaging is 50, payment and COD fees are 60, and the expected return or RTO allowance is 140. Contribution before advertising is 900.

The pre-ad contribution margin is 900 divided by 2,000, or 45%. Break-even ROAS is 1 divided by 0.45, or 2.22. The same cohort can spend up to 900 on ads before its contribution after ad spend reaches zero. This is an example of the method, not a benchmark for another store.

Fictional calculation

Realized revenue after discounts: 2,000

Less COGS: 700

Less shipping, packaging, payment, COD, and expected return or RTO costs: 400

Contribution before ads: 900

Pre-ad contribution margin: 45%

Break-even ROAS: 2.22

Build a repeatable Shopify worksheet

  • Choose one cohort, currency, attribution view, and sufficiently mature date window.
  • Export realized revenue after discounts and exclude cancelled or uncollected orders.
  • Add current COGS for every product or variant in the cohort.
  • Add shipping, packaging, payment, COD, fulfillment, refund, return, and RTO costs.
  • Calculate contribution before advertising, contribution margin, and break-even ROAS.
  • Compare the result with ad spend and attributed sales from the same scope.
  • Record assumptions, source files, and effective dates so the calculation can be repeated.

Use a threshold by product, payment method, and market

A blended store threshold can hide very different economics. A heavy product, a discounted bundle, a COD order, and a prepaid repeat order may each carry a different contribution margin. Calculate separate thresholds where costs or return behavior differ enough to change the decision.

Treat break-even as a floor, not an automatic campaign target. A business still needs room for fixed overhead, taxes where applicable, cash timing, data error, and profit. Choose any operating buffer from the store's own requirements rather than copying a universal target.

Look for shops that could stock the product when a product's threshold stays out of reach on paid traffic. Selling the same product through a shop carries a different cost structure, and the search runs without signing in.

What changes when the store dropships

The formula does not change when a store dropships, but two things about its inputs do. Product cost arrives as a per-order supplier invoice rather than an inventory cost recorded once at purchase, and the supplier can reprice between one order and the next. A Cost per item value entered when the product was listed keeps reporting the old figure after that happens, so the contribution margin and the threshold built on it drift quietly rather than visibly. Recalculate on a supplier price change, not only on a calendar date.

Check which costs sit in the per-order stack rather than in overhead. Supplier shipping, cross-border payment and currency conversion charges, and any duty the store absorbs instead of billing the buyer all move with order volume and belong in contribution. A sourcing app's flat monthly fee does not, although its per-order fee does. Separating the subscription from the per-order charge keeps the threshold from absorbing a fixed cost that advertising cannot influence.

The larger difference is timing. Longer transit means cancellations, refunds, and chargebacks settle well after the advertising report is available, so a cohort read early shows a margin the store has not finished earning and a break-even ROAS below the real one. Wait until the cohort has passed the supplier's stated delivery window plus the store's own refund window, or hold a documented allowance and revise it as outcomes arrive.

Where transit time or failure behavior differs by supplier or destination, calculate a separate threshold for each lane instead of one blended number. If those orders are also cash on delivery, RTO cost sits on top of everything above and changes the threshold again.

Limitations to keep in mind

Shopify defines campaign ROAS as attributed sales divided by campaign cost. Attribution can change with the selected model, tracking coverage, reporting window, and channel data. Compare sales and spend from the same model and window, and do not treat an attributed order as proof that one ad caused the entire sale.

Returns, RTO, chargebacks, and shipping adjustments can arrive after an initial report. Use a mature cohort or revise the estimate as outcomes settle. Break-even ROAS is a contribution tool, not a complete accounting profit statement, cash-flow forecast, or guarantee that a campaign will remain profitable as spend changes.

Sources and definitions

Related Shopify resources

Frequently asked questions

What is a good break-even ROAS for Shopify?

There is no universal good number. Break-even ROAS depends on the store's pre-ad contribution margin. A lower-margin product needs a higher ROAS to cover its variable costs. Calculate the threshold from current product, fulfillment, payment, and return costs instead of copying an industry target.

Is break-even ROAS the same as target ROAS?

No. Break-even ROAS is the point where contribution after ad spend reaches zero before fixed overhead. A target ROAS normally needs to sit above that floor to leave room for fixed costs, uncertainty, cash needs, and profit. The required buffer is a business decision.

Should I include shipping when calculating break-even ROAS?

Include the shipping cost the store bears because it changes order contribution. If customer-paid shipping is counted as revenue, include the matching fulfillment cost consistently. Use the actual shipping treatment for the cohort rather than a generic average when the difference is material.

How do returns and COD RTO change break-even ROAS?

Returns and RTO reduce realized revenue and add costs such as outbound shipping, return shipping, packaging, handling, and inventory delay or damage. Use mature order outcomes or a documented allowance based on the store's own history, then update the calculation when final outcomes arrive.

Can I use average order value to calculate break-even ROAS?

Average order value alone is not enough because it does not show the cost required to generate and fulfill that order. Use contribution after discounts, COGS, fulfillment, payment costs, and expected return losses. Segment the calculation when order mixes have meaningfully different economics.

How do you calculate break-even ROAS for a dropshipping store?

Use the same formula: divide one by the pre-ad contribution margin. Two inputs behave differently. Product cost is a per-order supplier invoice that can change without the store's Cost per item field changing, so recalculate whenever a supplier reprices. And refunds, chargebacks, and cancellations settle after longer transit times, so a cohort read before the delivery and refund windows have passed reports a threshold below the real one.