← All posts
Strategy

What Is a Good ROAS for Shopify? Benchmarks by Category and Spend Level

A supplement brand at $680K/year was running Meta at 3.8 ROAS and convinced the account was healthy. Their break-even was 4.3. The number looked good. The business was losing money on every paid acquisition. When they asked us what a "good ROAS" looked like, the honest answer wasn't a number — it was a calculation.

Platform ROAS Is Not Business ROAS

Meta reports ROAS based on revenue attributed to ads. That's not the same as profit per dollar spent. The distinction matters more than most brands realise — we covered the mechanics of why your ROAS can look fine while your margin doesn't in detail.

Platform ROAS = attributed revenue ÷ ad spend.

Business ROAS (break-even) = 1 ÷ contribution margin after fulfillment, returns, and COGS.

A brand with 38% gross margin, 8% returns, and $7.20 average fulfillment cost has a different break-even than a brand with 61% margin and flat-rate shipping. Most brands cite their gross margin and ignore the rest. The number they optimise toward is wrong before they start.

Calculate your break-even ROAS first. Then the industry benchmarks below mean something.

ROAS Benchmarks by Category

These are real ranges across Shopify DTC accounts — not Googleable industry reports. They reflect contribution margin structures, not gross margins.

Supplements and consumables: 3.8–5.2 break-even ROAS. High repeat rate, low ticket, high fulfillment cost. Brand with a strong subscription attach rate can accept lower front-end ROAS.

Apparel and fashion: 3.1–4.4 break-even ROAS. Returns average 18–24% in this category, which guts attribution. Platform ROAS of 3.8 in fashion often means actual contribution of 2.4 once returns clear.

Home goods: 2.6–3.8 break-even ROAS. Higher AOV, lower return rate, but slower purchase cycle. Google Shopping often outperforms Meta in this category.

Beauty and skincare: 4.0–5.6 break-even ROAS. Highest COGS variability in any DTC category. A brand running $28 products with 72% margin has a 2.1 break-even. A brand running $68 products with 44% margin needs 4.8+.

Pet products: 2.8–3.9 break-even ROAS. Low return rate, high repurchase. The category rewards email retention over front-end ad efficiency.

These are break-even floors — not targets. A target ROAS is break-even plus enough headroom to fund growth.

How Margin Structure Changes the Number

A brand at 55% gross margin with 12% returns and $6.40 fulfillment cost nets roughly 39% contribution margin. Break-even ROAS: 2.56. A 3.2 ROAS at this brand is genuinely profitable.

The same 3.2 ROAS at a brand with 48% gross margin, 17% returns, and $9.80 fulfillment is below break-even by 0.4 points — losing money on every paid order.

Before citing a competitor's ROAS or an industry benchmark, check whether your margin structure matches. It usually doesn't.

The Spend-Level Effect

A 3.4 ROAS at $6K/month Meta spend is not the same as 3.4 at $38K/month.

At low spend, Meta optimises into the easiest-converting audience segments. ROAS looks strong. As budget scales, the algorithm expands reach into harder-to-convert segments — CPMs rise, conversion rates fall. ROAS compresses by 0.4–0.9 points on average in the first scale attempt.

This means the ROAS you need to justify scaling is higher than your current ROAS. If you're at 3.6 and break-even is 3.2, you have 0.4 points of compression headroom. That's typically not enough to survive a budget double.

A DTC apparel brand was running at 3.9 ROAS at $14K/month and scaled to $28K in one month. ROAS landed at 2.8 within 3 weeks — below their 3.1 break-even. They scaled from a position that looked profitable. It wasn't. The prerequisites for scaling ad spend are specific — ROAS optics alone don't qualify.

Run the Benchmark Audit

Open a spreadsheet. Add:

  1. Gross margin % — from your COGS, not including fulfillment
  2. Average return rate % — pull 90 days from Shopify
  3. Average fulfillment cost per order — shipping + packaging
  4. Payment processing rate — usually 2.9%

Break-even ROAS = 1 ÷ (gross margin − return rate adjustment − fulfillment% − processing%)

Run this before looking at any ROAS number in your ad platform. If your current ROAS is below break-even, you're not optimising — you're managing a loss.

If your numbers are below break-even and you're not sure where the fix is, that's exactly what a Basic audit surfaces. Book a 20-minute call.