A fashion brand we reviewed last quarter was running 4.2x ROAS on Meta. Their finance team was still asking why cash was tight.
Both numbers were correct. Only one of them mattered.
This is the gap most agencies never talk about, because most agencies get paid on the number that looks good on a slide, not the one that shows up in your bank account.
ROAS measures spend efficiency. It says nothing about your business.
Return on ad spend answers one question: for every dollar spent on ads, how many dollars of revenue came back. That's it. It doesn't know your cost of goods, your return rate, your discount depth, or your fulfillment cost.
Two brands can both post 4x ROAS. One is profitable. One is bleeding cash on every order. ROAS can't tell the difference, because it was never built to.
For fashion specifically, this gap is wider than most categories. Fashion carries structurally higher return rates (often 15 to 30 percent depending on category), heavier promotional dependency, and thinner margins after markdowns. A platform-reported ROAS that ignores all three isn't just incomplete. It's actively misleading.
Three ways ROAS quietly overstates performance
1. It's calculated before returns land.
Meta and Google report revenue at the point of purchase. Fashion returns typically process 2 to 6 weeks later. A campaign can look like a win in week one and a loss by week six, and the ad platform will never update you on that.
2. It ignores discount cannibalization.
If a 20 percent off code drove the sale, your true margin took a bigger hit than your ROAS reflects. Run enough discount-driven campaigns and you can grow revenue while shrinking contribution margin at the same time.
3. It can't separate incremental sales from sales that would have happened anyway.
Retargeting and branded search campaigns often post the highest ROAS on the dashboard and the lowest incremental impact on the business, because they're capturing demand you already created, not generating new demand.
What to track instead
None of this means stop looking at ROAS. It means stop stopping there. Layer in:
Contribution margin per order. Revenue minus COGS, minus payment processing, minus fulfillment, minus the actual ad spend allocated to that order. This is the number that tells you if an order made you money.
Return-adjusted ROAS. Pull your return rate by SKU or category and apply it to your reported revenue before you call a campaign a win. A 4x ROAS with a 25 percent return rate on that specific product line behaves very differently from a 4x ROAS with a 5 percent return rate.
MER (marketing efficiency ratio) alongside platform ROAS. Total revenue divided by total marketing spend, tracked weekly. When platform ROAS climbs but MER stays flat or drops, that's discount cannibalization or channel overlap showing up in the data.
Why this matters more in Australia and New Zealand right now
Rising Meta CPMs and a more promotion-heavy retail environment across AU and NZ fashion have made the ROAS-to-profit gap wider over the past year. Brands scaling spend on platform-reported ROAS alone are often scaling their revenue and their losses in parallel, without a clean signal telling them so until cash flow forces the conversation.
The fix isn't a better dashboard. It's a different question.
Most agencies will hand you a dashboard with more charts. That solves a reporting problem, not a profitability problem.
The actual fix is re-running your last 90 days of ad spend through a contribution margin lens, by SKU and by campaign, factoring in your real return rates and discount depth. For most fashion brands we've done this with, the campaigns finance was worried about and the campaigns marketing was proud of turn out to be different lists.
If you want to see where that gap sits in your own account, that's exactly what a Shopify and GA4 profitability review is built to surface. It takes your actual data, not platform-reported numbers, and shows you contribution margin by campaign before you decide where to scale next.