Meta Ads Audit · 6 min read · Published May 23, 2026
What Is a Good ROAS for E-Commerce in 2026?
A good ROAS depends on your gross margin, not an industry benchmark. For most DTC brands, that lands between 2.5x and 4x. An account running at 8x ROAS is usually a badly managed one.
Founder, BTB Audits. $150M+ in ad spend managed across Meta and Google
The direct answer
A good ROAS (return on ad spend) is not a number you find in a benchmark report. It is a number you work out from your own gross margin.
A brand with 40% gross margin breaks even on ads at 2.5x ROAS. A brand with 70% gross margin breaks even at 1.43x. The same 4x ROAS is wildly profitable for one and merely fine for the other.
That is the framing every other post on this topic misses. And it gets worse. An account running at 8x or higher is often a badly managed account, not a healthy one. High ROAS means budget is being held back on winning campaigns. Scaling those campaigns would lower the reported number while raising the actual revenue.
There is a flip side worth saying plainly. When ROAS sits below about 1.8x, the problem is almost never the ad account. It is the money math underneath: your product margin, your offer, your prices, or your website. New creative and new targeting will not save a campaign whose economics do not work. Fix the offer, the margin, and the site first — then come back to the ads.
Global e-commerce is forecast to reach 20.5% of worldwide retail sales in 2025 per eMarketer data published by Shopify. That much money flowing through paid ads makes ROAS the most-asked and most-misunderstood number in the space. Here is the math that actually matters.
The math behind a good ROAS
Two formulas. Both you can run on your own business in 30 seconds.
Break-even ROAS = 1 / Gross Margin %
Target ROAS = Break-even ROAS / (1 - Profit Share You Want to Keep)
A brand with 40% gross margin: 1 / 0.40 = 2.5x. That is the floor. Below 2.5x, the ads lose money on a per-order basis.
For a target, the founder picks how much of the gross profit they want to keep as net contribution. Keeping 25% of the gross profit means ads can spend the other 75%. For that same 40% margin brand: 2.5 / (1 - 0.25) = 3.33x. That is the target.
So for this brand, 3.3x is good. 4x is great. 2.5x is break-even. Anything above 6x means budget is being capped on winning campaigns.
The same gross-margin principle applies to Amazon's ACOS metric, explained here in full operator detail. ACOS and ROAS are inverses of the same math, so the margin ceiling translates directly.
For founders who want to run this on their own numbers, the free ROAS calculator handles both formulas.
Break-even ROAS at a glance
The shape of the curve is the part founders miss. A brand with thin margins (20% to 30%) needs ROAS above 3x just to break even. A brand with healthy margins (60% to 80%) breaks even below 1.7x. The same 4x ROAS lands in completely different places for those two brands.
| Gross margin | Break-even ROAS | Healthy target ROAS | What it means |
|---|---|---|---|
| 20% | 5.0x | 6.7x | Thin margin. Ads have almost no room to lose money. |
| 30% | 3.33x | 4.4x | Standard apparel or fashion. 4x benchmarks land here. |
| 40% | 2.5x | 3.3x | Average e-commerce. 4x is comfortably profitable. |
| 50% | 2.0x | 2.7x | Mid-margin DTC. The 4x benchmark is leaving money on the table. |
| 60% | 1.67x | 2.2x | Strong margin. 4x means budget is being capped. |
| 70% | 1.43x | 1.9x | Supplements or beauty. Anything above 4x is a scaling problem. |
| 80% | 1.25x | 1.7x | Digital products. The 4x benchmark is irrelevant. |
Healthy target ROAS in the table assumes the founder keeps 25% of gross profit as net contribution after ads. Adjust up or down based on how much profit the brand wants to take versus reinvest.
Plug in your own numbers and see your break-even plus the ROAS targets needed for 10%, 20%, and 30% net contribution:
A worked example: the supplements brand
A DTC supplements brand with these numbers:
- $80 AOV (average order value)
- 55% gross margin
- Wants to keep about 25% of gross profit as net contribution after ads
Per order:
- Revenue: $80
- Gross profit (55% of $80): $44
- Break-even ROAS: $80 / $44 = 1.82x
- Target ad spend per order (75% of $44): $33
- Target ROAS: $80 / $33 = 2.42x, rounded to 2.5x
That brand's good ROAS is 2.5x. Not 4x. Not 6x. 2.5x.
At 2.5x, they are profitable. At 4x, they are either capping budget or running too tight a target. At 1.8x, the ads break even.
Most agencies would tell that founder to chase 4x. That advice would cap growth.
Target ROAS by business profile
Margins look different by product category. So do healthy ROAS targets. The table below shows operating ranges I see across audits, grouped by business type.
| Business profile | Typical gross margin | Break-even ROAS | Healthy target | Scaling target |
|---|---|---|---|---|
| DTC apparel and fashion | 35% to 50% | 2.0x to 2.9x | 2.7x to 3.8x | 2.2x to 3.0x |
| DTC beauty and skincare | 60% to 75% | 1.3x to 1.7x | 1.8x to 2.3x | 1.5x to 2.0x |
| DTC supplements | 55% to 70% | 1.4x to 1.8x | 1.9x to 2.5x | 1.6x to 2.1x |
| DTC food and beverage | 30% to 45% | 2.2x to 3.3x | 3.0x to 4.4x | 2.5x to 3.6x |
| DTC home goods | 40% to 55% | 1.8x to 2.5x | 2.4x to 3.3x | 2.0x to 2.8x |
| DTC electronics | 20% to 35% | 2.9x to 5.0x | 3.8x to 6.7x | 3.2x to 5.5x |
| SaaS (B2C) | 70% to 85% (year 1 contribution) | 1.2x to 1.4x on first-year value | 1.6x to 2.0x | 1.3x to 1.7x |
| Lead-gen (B2B services) | Varies (use close rate x client LTV) | Depends on close rate | 3.0x to 5.0x on cost per qualified lead | 2.5x to 4.0x |
Read the table this way. Break-even is the floor. Healthy target is the steady-state number for a well-tuned account at moderate spend. Scaling target is the lower ROAS to expect during a budget push, when the algorithm reaches into colder audiences and per-order economics tighten.
For SaaS and lead-gen, the formula stays the same but the inputs change. Use first-year contribution margin for SaaS. Use cost per qualified lead multiplied by close rate multiplied by average client value for lead-gen. The break-even ROAS is still 1 divided by your contribution margin on the transaction the ad creates.
A common mistake at this stage: founders pick the healthy target number for their profile and treat it as a hard floor. ROAS targets are a band, not a fixed number. Spend more, ROAS drifts toward the scaling target. Spend less, it drifts toward the healthy target. Both are fine.
Why 8.5x ROAS is a badly managed account
This is the position the rest of the industry will not publish.
An account running at 8.5x ROAS is a badly managed account.
Here is why. Take a campaign at $10,000 per month and 7x ROAS, earning $70,000 per month. Scale the same campaign to $40,000 or $50,000 per month. ROAS usually settles at 5x or 6x at the higher budget.
The reported number goes down. The revenue goes up by $200,000 to $300,000 per month.
A real account. A skincare brand named Maya spent $15,000 per month on Meta at a reported 6.8x ROAS. The P&L (profit and loss report) showed the brand was profitable, but barely growing.
The diagnosis: the top 3 ad sets were capped at $50 to $80 per day, set 18 months earlier and never raised. Scaling them to $200 per day each over 6 weeks settled ROAS at 4.2x and added $35,000 in monthly revenue.
The "good" 6.8x had been costing Maya $35,000 per month in growth.
The right move for a healthy account is to scale until ROAS settles toward the true average for its stage. For most DTC brands, that average is 4x to 5x. Patterns like this are what the diagnostic sequence I run on every Meta account is built to surface. This same pattern is the #3 leak in the 7 most common leaks at $50K+/month spend.
The scaling curve: how ROAS falls as spend rises
The pattern is mechanical, not optional. As budget on a winning campaign goes up, the algorithm has to reach a wider audience. The new audience has lower intent. Conversion rate drops. Cost per result rises. ROAS falls.
This is the most important shape in paid media. It is also the shape no dashboard shows by default.
The reason it matters. Most founders look at the ROAS number alone. They see ROAS drop from 7x to 5x and panic. The same chart shows revenue went from $70,000 per month to $250,000 per month. Net contribution roughly doubled. The drop in ROAS was the price of buying more revenue, not a sign the account is breaking.
Every account has a true average ROAS that holds at scale. For most DTC brands, that floor is 4x to 5x. For SaaS lead-gen, it is closer to 2x to 3x. The job is to find the floor by scaling toward it, not to live above it on capped budgets. What usually holds an account back from finding that floor is not the targeting layer but the creative variance feeding it. This is the principle behind creative is the new targeting: the hook portfolio is the targeting strategy at $20K+ monthly spend.
Why industry benchmarks miss
Most blog posts on this topic quote a benchmark. Shopify's own guide on ROAS says an "acceptable" ratio is 4:1.
The number is not wrong. It is just not useful. A 4x benchmark fits a brand with roughly 50% gross margin. For a brand with 70% gross margin, 4x is leaving money on the table. For a brand with 30% gross margin, 4x is barely covering costs.
| Brand profile | Gross margin | 4x benchmark verdict | Actual healthy target | Verdict |
|---|---|---|---|---|
| DTC electronics | 25% | 4x is the floor | 5.3x | Benchmark is too low. Brand thinks it is winning at 4x and is actually losing money. |
| DTC food and beverage | 35% | 4x is the floor | 3.8x | Benchmark is roughly right. |
| DTC apparel | 45% | 4x is the floor | 3.0x | Benchmark is too high. Brand chases 4x and caps growth at 3x. |
| DTC beauty | 65% | 4x is the floor | 2.0x | Benchmark is far too high. Brand could double revenue by accepting 2x to 2.5x. |
| Digital products | 80% | 4x is the floor | 1.7x | Benchmark is irrelevant. Brand should scale until 2x. |
The benchmark tells the founder nothing about their own business. The break-even formula does.
ROAS by account stage
Account age matters as much as margin. A new account and a mature account quote ROAS differently because the data underneath is different.
New account (0 to 3 months on platform). ROAS is volatile. The Meta or Google algorithm is still learning the audience. Most new accounts run 30% to 50% below their eventual steady state. A brand whose math says 3x will often see 1.5x to 2x in month one. The right move is to keep budgets small and creative volume high. Judging the account against its long-run target this early kills accounts that would have worked.
Scaling account (3 to 18 months). ROAS stabilizes. The algorithm has learned the high-intent buyers. This is the stage where chasing a tight ROAS target makes sense. A 3x to 4x target on a 50% margin brand is reasonable here. Budgets can move up steadily without ROAS collapsing.
Mature account (18 months and beyond). ROAS plateaus or slowly declines. Audience overlap grows. Creative fatigue is constant. A mature account that holds 3x to 4x without new offers or fresh creative is already doing the work most accounts cannot. The job here is creative refresh and audience expansion, not optimization.
The mistake to avoid: judging a new account by the same ROAS bar as a mature one. The opposite mistake: assuming a mature account can still grow at the same ROAS it hit in year one.
ROAS by campaign objective
A campaign's job changes its ROAS profile. The same account can carry campaigns running at 1.5x ROAS and 12x ROAS at the same time, with both being correctly tuned.
Cold prospecting campaigns. These show ads to people who do not know the brand. ROAS sits at the lower end, typically 1.5x to 3x for DTC. The job here is reach and incremental customer acquisition, not efficiency. The customer earned today has LTV (lifetime value) that will be credited to retargeting and brand search later.
Retargeting campaigns. These chase the warm audience that already visited the site. ROAS runs higher, 4x to 8x. The math looks good but the volume ceiling is low. A retargeting campaign at 10x ROAS on $1,500 per month is real, but it cannot carry the account.
Branded search (Google). These bid on the brand's own name. ROAS is the highest of any campaign type, often 10x to 25x. The honest question is whether those customers would have bought anyway. Most would, in part. Branded search is incremental, but the lift is smaller than the reported ROAS suggests.
Performance Max and Advantage+ Shopping. These blend prospecting and retargeting at the algorithm's discretion. Reported ROAS sits between the two, typically 3x to 6x. The trap is that the blended number hides whether prospecting or retargeting did the work. Most of the reported lift is retargeting in disguise.
The account's blended ROAS is a weighted average of these. A founder comparing blended ROAS to a "4x benchmark" is mixing campaign types at different scales. The right move is to read each campaign type against its own band.
Why reported ROAS does not match the P&L
ROAS and ROI are not the same number.
ROAS counts revenue against ad spend only. ROI counts revenue against total costs: ads, product cost, shipping, payment fees, overhead, and refunds.
A brand can run at 4x reported ROAS and still lose money on the P&L if margin is thin or refunds are high.
Two other reasons the reported number misleads:
- Meta counts a sale as ad-driven if a click or view happened in the last 7 days. The customer may have bought anyway. Meta's own documentation on its attribution system walks through the model.
- Reported revenue counts orders, not paid-and-shipped orders. Refunds and cancellations shave 5% to 15% off the real number.
The brand in the chart above is profitable. Barely. A 2-point bump in refund rate or a 3-point rise in shipping costs would put net contribution at zero. The reported 4x ROAS hides all of that. The P&L does not. One of the biggest hidden causes is a broken checkout. The full mobile-first checkout audit covers the diagnostic.
The 5 most common ROAS killers
Five structural issues show up over and over in audits. Each one pulls ROAS below where the account's margin says it should be.
1. Audience overlap. The same user gets shown ads from two or three of the account's own campaigns. Meta or Google charges the highest bid in the auction, which is the account bidding against itself. Overlap above 15% between campaigns is a leak. The fix is structural: exclude overlapping lookalikes from broad campaigns and merge ad sets that share more than 20% of their audience.
2. The Pixel firing the wrong event. The Meta Pixel or Google Tag fires "purchase" on every page view, or "add to cart" on every product detail page view. The algorithm optimizes for the wrong signal. Reported ROAS often looks fine. Actual conversions drift down for months. This is the leak that invalidates every other number in the account.
3. Stale creative. The same hooks and angles run for 12 or 18 weeks. Frequency climbs above 4. CPMs (cost per thousand impressions) rise 20% to 40%. ROAS drops 10% to 20% even with budgets unchanged. A healthy account ships 4 to 8 new creative concepts per month at $20K spend, more at higher spend. Part of the reason ROAS targets shifted in 2026 is the structural CPM inflation underneath them. See why $50 CPMs are the new normal for the full breakdown.
4. Wrong attribution window. A campaign set to 7-day-click and 1-day-view will report higher ROAS than a campaign set to 1-day-click only. The reported number is technically correct but compares apples to oranges across campaigns. Worse, it credits Meta or Google for sales that organic or email actually closed.
5. Budget on the wrong campaigns. The top 3 campaigns by spend are not the top 3 by return. Reallocating closes the gap. This is the single most common finding in audits, and the cheapest fix. No new creative, no new campaign, no new ad set. Just move money toward the campaigns that are already working.
Most accounts I audit have 2 to 3 of these running at the same time. Fixing any one of them moves ROAS by 15% to 30% within 6 to 8 weeks.
Where this goes wrong in practice
Two patterns show up over and over.
First. Founders chase the highest possible ROAS number, then cap budgets at the level that produced it. The account runs at 6x ROAS on $5,000 per month and could be earning 4x on $25,000 per month. The founder thinks they are winning.
Second. Founders treat ROAS as the goal. ROAS is a check on whether the ads are working. Net contribution is the goal.
The single highest-leverage non-ad-spend revenue lever is post-purchase upsell. The revenue runs at near-100 percent margin on the spend side, which changes the ROAS math at scale. For the full audit, see the revenue stream most DTC brands leave untouched.
The standard ROAS calculation is only the starting point. For the LTV-adjusted version, see why you're calculating your ROAS wrong.
Frequently asked questions
Common questions
About ROAS math
What is a good ROAS for an e-commerce brand?
A good ROAS depends on your gross margin. The formula is: Break-even ROAS = 1 divided by your gross margin. For a brand with 40% gross margin, the floor is 2.5x. The target sits above the floor, usually between 2.5x and 4x for DTC brands. Anything above 6x usually means budget is being capped on winning campaigns.
Is 3x ROAS good?
It depends on your gross margin. For a brand with 40% gross margin, 3x ROAS is healthy. For a brand with 70% gross margin, 3x is fine but suggests you could push for more efficient creative or scale spend. For a brand with 25% gross margin, 3x is below break-even and the ads are losing money.
Should I aim for the highest ROAS possible?
No. High ROAS usually means budget is being held back on campaigns that could absorb more. An account running at 8x ROAS is often capped on its winners. Scaling those campaigns drops the reported number toward 5x while raising revenue 3 to 5 times over. The goal is net contribution, not the ROAS figure.
What is the minimum ROAS to break even?
Your break-even ROAS equals 1 divided by your gross margin. A brand with 40% gross margin breaks even at 2.5x. A brand with 50% gross margin breaks even at 2x. A brand with 70% gross margin breaks even at 1.43x. Below your break-even number, the ads lose money on every order.
What is a good ROAS for Facebook ads vs Google ads?
The math does not change by platform. Your break-even ROAS is a function of your gross margin, whether the ads run on Meta or Google. What changes is the typical operating range. Meta ads for DTC often run at 2x to 5x. Google ads on branded search often run higher, at 6x to 15x, because the intent is pre-qualified. For the platform-specific diagnostic, see the <a href='/blog/google-ads-audit-method'>Google Ads audit method</a>.
About BTB Audits
Why does my agency say my ROAS is good but I am losing money?
Three common reasons. First, the agency benchmarks against industry numbers, not your margin. Second, reported ROAS does not account for refunds, shipping, payment fees, and overhead. Third, the campaigns may be running on attribution windows that double-count organic sales. A Forensic Report reconciles reported ROAS against the actual P&L to find which gap is causing the loss.
How does BTB Audits help with ROAS targets?
The Free Quick Scan looks at public data and surfaces signs the account is capping spend on winning campaigns. The Forensic Report ($499) reconciles reported ROAS against P&L numbers. It flags ROAS targets that are too tight for the brand's margin, or too loose for its stage.
Will this work for me
I sell SaaS or run a lead-gen brand. Does this math apply?
Yes. The formula is the same. The inputs change. For SaaS, replace AOV with first-month or first-year contract value, and replace gross margin with contribution margin after onboarding and support costs. For lead-gen, the math runs on cost per qualified lead times close rate times average client value.
My monthly spend is below $10K. Should I worry about target ROAS?
Below $10K per month, the biggest gains come from creative volume and offer testing, not from tight ROAS targets. Use break-even ROAS as a floor. Do not chase a tight target ROAS at low spend. The numbers are too noisy for tight optimization to be honest.
A good ROAS is your gross margin math, not an industry number. Run the formula on your own business. If it surfaces a gap, the Free Quick Scan looks at the account to see whether ROAS is being capped, leaking, or set too tight.
If you don't have four to six hours, or you want a second pair of eyes that's managed $150M+ across Meta and Google, the Free Quick Scan is what I built for that. I'll record a private 5 to 7 minute Loom walking through the leaks I find on your account using public data only. You'll have it in 48 hours.
Get Your Free Quick Scan →Keep reading on ads economics
Aditya Chaturvedi is the founder of BTB Audits. He has managed $150M+ in ad spend across Meta and Google for DTC, SaaS, and lead-gen brands ranging from $10K per month to $500K per month. The ROAS-by-margin math in this post is the same one BTB Audits runs on every Forensic Report. Read more on the BTB Audits blog.