Digital Advertising
What is a good ROAS for Facebook and Instagram ads?
Short answer: Triple Whale’s median Meta ROAS across more than 40,000 ecommerce brands is 1.88. That describes other people’s businesses, not a target for yours. A good ROAS is any figure above your break-even ROAS, which is 1 divided by your gross margin. At a 30% margin you need about 3.3. At a 65% margin you need about 1.54. Work that number out first, then judge every campaign against it.
Search for Meta ads benchmarks and you will find a figure to aim for. None of them know what your products cost you to make.
This article gives you the best published average we could find, shows why it cannot tell you whether you are making money, and walks through the one sum that can.
What is the average ROAS on Facebook and Instagram ads?
The most useful public dataset we found is from Triple Whale, which looked at over 40,000 brands using its platform. It covers Meta ads, Facebook and Instagram together, across 17 ecommerce industries, for 1 August 2025 to 31 July 2026. The overall median ROAS is 1.88, against 1.86 for the 12 months before.
Here are the industry medians.
| Industry | Median ROAS |
|---|---|
| Sports and outdoors | 2.35 |
| Home and garden | 2.25 |
| Apparel and accessories | 2.24 |
| Lifestyle and boutique | 2.04 |
| Electronics | 1.94 |
| Food and beverage | 1.61 |
| Beauty | 1.54 |
| Health and wellness | 1.44 |
| E-learning and online courses | 1.19 |
| Media and publishing | 1.13 |
| All 17 industries (overall median) | 1.88 |
Source: Triple Whale, Facebook Ad Benchmarks by Industry (Updated 2026 Data), 17 August 2026, over 40,000 brands using Triple Whale, 1 August 2025 to 31 July 2026.
Two things to know before you quote this. The data is for ecommerce brands only, so there is no service or lead-generation figure here, and we found no comparable published figure for them. And the page does not say which attribution model its ROAS figures use.
Why an average cannot tell you whether you are making money
ROAS is a gross figure. It is revenue from ads divided by ad spend.
ROAS = revenue from ads / ad spend
It does not subtract what the product cost you, the shipping, the payment fees or the refunds. So the same ROAS can mean completely different things. Two shops can both report 2.0 and one is growing while the other is paying to lose money.
A median makes this worse, because it sits in the middle of businesses with different margins. Some brands in that 1.88 are comfortably profitable and some are well under water. The median does not say which.
Our view: use the table to check whether you are in a completely different universe from your peers, and nothing more. If your ROAS is 0.6 and your industry sits above 2, something is broken. Never set a target from it.
The only benchmark that matters: your break-even ROAS
The number that decides whether your ads work is the return at which they pay for themselves.
Break-even ROAS = 1 / gross margin
If 30 cents of every dollar of revenue is left after the cost of the goods, your gross margin is 30% and your break-even ROAS is 1 divided by 0.30, about 3.3. Below that, each extra dollar of spend on those sales leaves you poorer.
| Gross margin | Break-even ROAS | Against the 1.88 median |
|---|---|---|
| 20% | 5.0 | below break-even |
| 30% | 3.3 | below break-even |
| 40% | 2.5 | below break-even |
| 50% | 2.0 | below break-even |
| 65% | 1.54 | above break-even |
| 70% | 1.43 | above break-even |
| 85% | 1.18 | above break-even |
The table has a sharp edge. At a ROAS of 1.88, any business with a gross margin under about 53% loses money on the ad-driven sales before overheads (1 divided by 1.88 is 0.532).
Two refinements once you have the basic number.
Add your operating costs. Break-even on gross margin ignores rent, wages and software. To contribute to overheads, set the target above break-even.
Use repeat purchase only on real data. If customers come back, you can afford a thinner first order, but work that out from your own records.
Two shops, one ROAS: a break-even example (hypothetical)
This is a hypothetical example to show the sums, not a client result. The arithmetic works in any currency.
Shop A sells homewares at a 30% gross margin. Shop B sells skincare at a 65% gross margin. Each spends 2,000 in a month and Meta reports 5,000 in revenue for each, a ROAS of 2.5.
| Shop A (homewares) | Shop B (skincare) | |
|---|---|---|
| Gross margin | 30% | 65% |
| Break-even ROAS | 3.33 | 1.54 |
| Gross profit on 5,000 revenue | 1,500 | 3,250 |
| After 2,000 ad spend | 500 down | 1,250 up |
Same dashboard number, opposite outcomes. Shop A is 500 down before it has paid for a single overhead. Shop B is 1,250 up before overheads. If both shops had read a benchmark that says 2.5 is healthy, one of them would have scaled a loss.
What changes the sum: returns, repeat purchase and the attribution window
The break-even formula is the starting point. Three things move it.
Returns. This is our arithmetic. If refunds take back a share of your revenue and the goods go back into stock, break-even on reported revenue becomes 1 divided by (gross margin x share of revenue kept). Take 10% of revenue refunded. Shop A becomes 1 / (0.30 x 0.90), which is 3.70. Shop B becomes 1 / (0.65 x 0.90), which is 1.71.
Repeat purchase. This is also our arithmetic, and it only holds on measured data. Suppose your own records show that the average first-time customer goes on to spend half as much again within a year. A first-order break-even then becomes 1 / (gross margin x 1.5). Shop A becomes 2.22 and Shop B becomes 1.03. Never use a hoped-for repeat rate, because that is how shops justify ads that never pay back.
The attribution window. Meta attributes actions to an ad if they happen within a set number of days after someone viewed or clicked it. By default that is the attribution setting on the ad set. For website and in-store conversions the standard settings are:
- Click-through: events within 1 day or 7 days after a link click.
- View-through: events within 1 day after an impression.
- Engage-through: events within 1 day after a non-link click on the ad, and for video ads a play of 5 seconds (or 97% of a video shorter than 5 seconds).
Meta also supports an incremental model, and a custom one that shares attribution data from your own analytics tool. One reporting change is worth knowing: Meta announced that from 12 January 2026 the 7-day view and 28-day view attribution windows are no longer returned by the Ads Insights API, while 1-day click, 7-day click, 28-day click, 1-day engaged view and 1-day view remain. Meta’s post is about the API and says this matches Ads Manager, so a report that used the longer view windows before January will not line up with one built after it.
The window is part of the sum. A longer click window or a view window credits more sales to the ad, so reported ROAS rises without one extra sale. Meta says results cannot be compared in the campaign overview table across ad sets with different attribution models, because each counts differently. Our view: compare campaigns only on the same setting, and be suspicious of any benchmark that does not say which one it used.
Your reported ROAS is probably wrong
Here is where the extra credit comes from.
View-through and engage-through credit. Meta counts a purchase within 1 day after someone saw your ad, even if they never clicked, and one within 1 day after a non-link click on the ad. Our view: some of that influence is real, and some is credit for a customer already on the way to buy.
Every platform counts its own conversions. This is our observation, not a published figure. Meta, Google and your email tool each report the sales they think they influenced, and the same sale can appear in more than one report. Add up what each platform claims and the total can exceed what reached your bank.
Duplicated events. Meta recommends the Conversions API alongside the Pixel. When both send the same events, you must set up deduplication, and the method Meta recommends is matching event_id and event_name in both. Meta discards a matching event received within 48 hours. If you skip it, the same purchase can be counted twice and your ROAS inflates for no reason related to your ads.
Meta’s own answer to over-crediting is incremental attribution, a model that optimises delivery for incremental conversions. It uses machine learning models that predict whether a conversion is caused by an ad.
The ten-minute check is still the best one. Total each platform’s claimed revenue for last month and compare it with your accounting system. The gap is the size of your attribution problem.
Sources: About attribution models and attribution settings, About incremental attribution, About actions attributed to your ad, Handling Duplicate Pixel and Conversions API Events and Ads Insights API Metric Availability Updates.
ROAS, MER and the numbers experienced advertisers watch
Advertisers who have been burned by attribution usually add a blended measure.
| Metric | What it measures | Main weakness | Best used for |
|---|---|---|---|
| ROAS | Platform-attributed revenue over ad spend | Inflated, single channel | Comparing campaigns to each other |
| MER | Total revenue over total marketing spend | Does not isolate channels | Judging whether marketing as a whole pays |
| POAS | Profit over ad spend | Needs accurate margin data | Shops with varied margins by product |
| CAC | Total cost to win one customer | Ignores customer value | Pairing with lifetime value |
MER = total revenue / total marketing spend
MER uses real money from your accounts, so no attribution setting can flatter it. Its weakness is that it cannot tell you which channel carried the result. Our view: watch MER to know whether marketing overall is working, and use ROAS inside the platform to decide which campaigns get more budget. Neither number does both jobs.
When ROAS is below target, fix things in this order
The order matters, because effort spent at the bottom of the list while a problem sits at the top is wasted.
1. The offer. No targeting rescues something people do not want at your price. If a campaign has spent meaningful budget across several genuinely different creative approaches and nothing works, suspect the offer first. It is uncomfortable and usually right.
2. The tracking. If conversion tracking is broken or partial, Meta optimises toward the wrong signal and every later decision rests on it. Check that conversions fire, that Pixel and Conversions API events are deduplicated, and that the values passed are real. A double-firing event can make a weak campaign look like the best one in the account.
3. The creative. Once tracking is right, creative is the main lever left. Test genuinely different angles rather than small variations on one idea, and judge them on cost per result, not on which one you like. Be careful with edits: Meta says an ad set usually leaves the learning phase after about 50 results in the week after its last significant edit, and significant edits restart learning. Our guide on choosing between Google Ads and Meta ads covers when a different channel is the answer.
4. The structure. Merging ad sets and reorganising campaigns produces modest gains. It is also the most enjoyable job, which is why people do it first. Do it last.
Work out your own numbers
Start with your gross margin and the sum above, then use our free Meta ads budget calculator to work out spend from your own numbers. What Meta ads cost where you operate is a separate question, and we cover it by region in our guides for Australia, Canada, the US, the UK, India and the Middle East.
When a ROAS target is the wrong goal
Our view: if you sell by enquiry, a ROAS target is mostly guesswork. Trades, clinics and professional services usually close the sale by phone, in person or weeks later, so Meta cannot see the revenue and the ROAS in your dashboard is either empty or a guess.
For those businesses, judge Meta on cost per booked job or cost per new customer, and set that against the gross profit one job or customer brings in. It is the same break-even idea, applied to the thing you can count.
Frequently asked questions
What is the average ROAS for Facebook ads?
The median Meta ROAS across more than 40,000 ecommerce brands using Triple Whale was 1.88 for 1 August 2025 to 31 July 2026, up from 1.86 the year before. That sample covers ecommerce brands only, in 17 industries, so it says nothing about service or lead-generation businesses. It describes what other brands reported, not what you should aim for. Your own target is set by your gross margin.
What is a good ROAS for Facebook and Instagram ads?
Any ROAS above your break-even ROAS is good, and any ROAS below it loses money on the sales your ads drive. Break-even ROAS is 1 divided by your gross margin. A business with a 30% margin needs about 3.3 just to break even, while one with a 65% margin breaks even at about 1.54. The same reported ROAS can be profitable for one and a loss for the other.
How do I calculate my break-even ROAS?
Divide 1 by your gross margin written as a decimal. With a 40% margin that is 1 divided by 0.40, which gives a break-even ROAS of 2.5. Spend 1,000 and Meta needs to report 2,500 in revenue before the gross profit pays for the ads. Use the margin left after the cost of goods, not the price. Overheads come on top, so aim above break-even.
Do returns change my break-even ROAS?
Yes. If refunds take back part of your revenue and the goods go back into stock, divide 1 by your gross margin multiplied by the share of revenue you keep. With a 30% margin and 10% of revenue refunded, that is 1 divided by 0.30 x 0.90, about 3.7, up from 3.3. Returns raise the bar, so use your own refund rate, not a guess.
Which attribution window does Meta use for ROAS?
Meta uses the attribution setting on each ad set. The standard options are click-through, which counts events within 1 day or 7 days after a link click; view-through, which counts events within 1 day after an impression; and engage-through, which counts events within 1 day after a non-link click on the ad. Meta says results cannot be compared across ad sets with different attribution models, so compare like with like.
Why does Meta report more sales than my shop received?
Because Meta credits sales in ways your shop does not. View-through credit counts a purchase within 1 day after someone saw an ad, and engage-through credit counts one after a non-link interaction. Other platforms can claim the same sale, and a Pixel and Conversions API sending the same purchase without deduplication can count it twice. Compare each platform’s claimed revenue with your accounting system to see the gap.
What is the difference between ROAS and MER?
ROAS is revenue attributed to your ads divided by ad spend, and it comes from the platform’s own attribution. MER, the marketing efficiency ratio, is your total revenue divided by your total marketing spend across every channel, taken from your own accounts. ROAS compares campaigns inside one platform. MER shows whether marketing as a whole is paying, but it cannot tell you which channel did the work.
Getting a second opinion
Nexiiom runs digital advertising for businesses in Australia, Canada, the UK, the US, India and the Middle East. Get a free audit if you want a second opinion on what your ads are really returning.
Nexiiom Team
AI-powered marketing for growing businesses. We write about what actually works: automation, ads, websites and AI search.