True-profit ROAS: why your 400% return may be losing money

True-profit ROAS is return on ad spend calculated on the money you keep, not the revenue a platform reports. You take attributed revenue, subtract returns, refunds, payment fees, shipping subsidies, discounts and cost of goods, then divide by ad spend. A campaign reporting 400% ROAS can sit below break-even once those costs are netted out.
Why does platform ROAS flatter your campaigns?
Meta and Google report what they can observe: a click or view, followed by a purchase event with a value attached. That value is usually the basket total at checkout. It does not know that a third of those parcels in one category come back, that your payment processor takes a slice of every transaction, or that the order only happened because a 20% welcome code was waiting in the pop-up. Platforms are not lying. They are answering a narrower question than the one your business needs answered.
The trouble starts when that narrow number becomes the target. Bidding algorithms optimise towards it, agencies are judged on it, and budgets scale towards whichever campaign shows the biggest figure. If the biggest figure is also the one with the highest return rate or the deepest discounting, you are scaling a loss with great confidence. At FMedia we call this chasing illusions: the dashboard looks like opportunity, and the real opportunity sits elsewhere, unfunded.
What goes into a true-profit ROAS calculation?
The structure is simple, even if collecting the inputs takes discipline. Start from the revenue attributed to a campaign, then work down to contribution after advertising.
- Attributed revenue: what the platform reports, ideally reconciled against real orders in your store.
- Returns and refunds: the value of orders sent back or refunded, matched to the campaign where possible, or estimated by product category.
- Discounts: codes, automatic promotions and bundle reductions, if the platform value was captured before they applied.
- Payment and marketplace fees: the percentage and fixed fees per transaction.
- Shipping and fulfilment subsidies: the gap between what the customer paid for delivery and what it cost you.
- Cost of goods: the landed cost of what was sold and kept.
True-profit ROAS is then the remaining gross profit divided by ad spend. A result of 1.0 means the ads paid for themselves at gross profit level and nothing more. Below 1.0, every extra unit of spend deepens the hole.
A worked example
Take an illustrative fashion campaign with 10,000 in spend and 40,000 in platform-reported revenue. That is the headline 400% ROAS. Now apply the costs, using round, hypothetical numbers you should replace with your own.
- Returns at 30% of value remove 12,000, leaving 28,000 of kept revenue.
- Discount codes the platform value did not reflect remove another 2,000, leaving 26,000.
- Payment fees at around 3% remove roughly 800, leaving 25,200.
- Free-shipping subsidy across the kept orders removes 1,500, leaving 23,700.
- Cost of goods at 45% of kept revenue removes about 10,700, leaving 13,000 of gross profit.
Thirteen thousand of profit on ten thousand of spend is a true-profit ROAS of 1.3. Still positive, but nothing like the 4.0 that went into the monthly report. Now imagine a second campaign at 300% platform ROAS with a 10% return rate and no discounting. Run the same maths and it can easily beat the first. That reversal is the whole point: ranking campaigns by platform ROAS and by true-profit ROAS often produces different lists, and only one of them should drive budget.
Definitions worth agreeing internally
- Platform ROAS: attributed revenue divided by spend, as reported by Meta or Google.
- Break-even ROAS: the platform ROAS at which true profit after ads is zero. It rises as returns, fees and discounts rise.
- True-profit ROAS: gross profit on kept orders divided by spend.
- MER (marketing efficiency ratio): total revenue divided by total marketing spend, a useful sanity check that ignores attribution entirely.
Write your break-even ROAS on the wall. If a campaign reports 2.5 and your break-even is 2.8, it is losing money however green the dashboard cell is.
Where does true-profit ROAS change decisions?
Three places, in our experience building FMedia. First, budget allocation: once campaigns are ranked on profit, spend moves differently, which we cover in our guide to budget reallocation and diminishing returns. Second, creative: a creative that drives impulse purchases with high return rates can look like a winner and be a drain. Third, agency conversations: when everyone agrees on the profit number, reviews stop being arguments about attribution windows.
It also changes what you test. If high-return products dominate a prospecting campaign, the answer may be a creative that sets expectations more accurately, not a bigger budget. That is where scoring creatives before spend helps. FMedia uses SOMIN's paid-media intelligence to predict how clickable a new creative is before it enters the auction, so the shortlist you pay to test is already filtered towards concepts real audiences respond to.
How to start without perfect data
Most teams delay this calculation because the data is messy. Do not wait. Begin with category-level return rates, a blended payment fee and an average cost of goods. A rough true-profit ROAS is far more useful than a precise vanity one. Refine the inputs monthly: match returns to orders, pull actual fees from your processor, split cost of goods by product line.
If you want to see how a structured, evidence-first approach changes media decisions at scale, the KPI Media case study on somin.ai is a useful read on agency-side practice. And for the wider question of whether your AI and analytics stack is feeding decisions or just producing reports, our friends at GPT5 Marketing write well about building reasoning workflows on good evidence.
The number that scales your business is the one you can defend to finance. Everything else is a mood.
What FMedia does with this
FMedia connects to Meta and Google Ads, matches attributed revenue to real orders, and nets out returns, fees, shipping and discounts automatically. Every campaign, ad set and creative gets a true-profit ROAS alongside the platform figure, so the gap is visible rather than argued about. Assumptions are labelled and editable, because a profit number you cannot inspect is just another black box.
The goal is not to make your marketing look worse. It is to make the good campaigns easier to find, fund and defend. A smaller honest number is the one you can scale.
Frequently asked questions
What is a good true-profit ROAS?
Anything above 1.0 means ads covered their cost at gross profit level. What counts as good depends on your overheads and customer lifetime value. Many teams set a floor slightly above 1.0 for prospecting and a higher one for retargeting.
How is break-even ROAS calculated?
Break-even ROAS is one divided by your effective margin after returns, fees, discounts and cost of goods. If you keep 35% of each unit of reported revenue as gross profit, break-even platform ROAS is roughly 2.9.
Can I calculate true-profit ROAS without an app?
Yes, in a spreadsheet, using category return rates and blended fees. FMedia automates the matching of orders, returns and costs per campaign and keeps it updated weekly, which is where manual versions usually break down.
Audit my ad account
FMedia replaces vanity ROAS with true-profit ROAS, net of returns, fees and discounts. Then it tells you which creatives are tiring, where budget should move, and which new ads are worth paying to test.
Email ask@fmedia.marketing →

