Ecommerce Growth

ROAS vs. True Profit, Why Your Meta Ads Can Look Fine and Still Be Losing Money

A 4x ROAS sounds great until you subtract COGS, shipping, fees, discounts, and returns. Here's how to tell whether your Meta Ads are actually profitable.

ROAS vs. True Profit, Why Your Meta Ads Can Look Fine and Still Be Losing Money

ROAS vs. True Profit, Why Your Meta Ads Can Look Fine and Still Be Losing Money

WizeScale Team · 5 min read

A 4x ROAS feels like a green light. Spend a dollar, get four back, on paper, that's a healthy business. But ROAS only measures revenue against ad spend. It says nothing about what it actually cost you to deliver that revenue, and that gap is exactly where a lot of "profitable" ad accounts turn out to be losing money once someone finally does the full math.

This isn't a criticism of ROAS as a metric. It's genuinely useful for comparing campaigns against each other and spotting a real decline. The problem is treating it as a proxy for profitability, when it was never built to answer that question in the first place.

A Concrete Example

Say a campaign generates $10,000 in revenue from $2,000 in ad spend. That's a 5x ROAS, by most rules of thumb, a strong result.

Now walk the same $10,000 through what it actually cost to deliver:

  • Cost of goods sold (COGS), say 35% of revenue: -$3,500
  • Shipping costs, absorbed or discounted to the customer, roughly 8%: -$800
  • Payment processing fees, typically 2.9% + a per-transaction fee: -$320
  • Discounts applied at checkout, common on a first-purchase offer, say 10%: -$1,000
  • Returns and refunds, industry figures vary widely by category, but even a modest 5% return rate on this revenue: -$500

That's $6,120 in costs against $10,000 in revenue, before touching operational overhead, warehousing, customer service, software, salaries. What's left after ad spend and these direct costs is $1,880, not the $8,000 a bare ROAS calculation implies. And if operational overhead allocated to this order volume runs anywhere close to that remaining margin, the campaign that looked like a clear win at 5x ROAS is close to break-even, or worse, once every real cost is counted.

None of the numbers above are universal, COGS percentage, return rates, and discount depth vary enormously by product and category, and yours may look nothing like this example. The point isn't the specific figures; it's that ROAS and profit are answering two different questions, and only one of them tells you whether the campaign was actually worth running.

Why This Gap Is So Easy to Miss

Ads Manager shows you ROAS by default, prominently, because it's the number the platform can calculate entirely from data it already has, ad spend and tracked revenue. It has no visibility into your COGS, your discount codes, your return rate, or your payment processor's fees. Those numbers live in your store's backend, not Meta's, so the platform simply can't fold them into what it reports.

That means the responsibility for connecting the two sits entirely with you, and it's easy to skip, especially when ROAS looks good and there's no obvious reason to dig further. The accounts most at risk here aren't the ones with an obviously bad ROAS, those get investigated by default. It's the accounts sitting at a comfortable-looking 3-4x that never get a second look, because nothing about the number itself raises a flag.

What Actually Determines True Profitability

A more complete view of a campaign's real contribution looks something like:

True profit = Revenue − COGS − Shipping − Payment fees − Discounts − Returns − Ad spend

Some businesses go further and allocate a slice of fixed overhead per order too, which pushes the real breakeven ROAS even higher than most rule-of-thumb targets assume. A product with thin margins and a high return rate might need a 6x or 7x ROAS just to break even, a target that would look excessive by generic industry benchmarks, but is simply what that specific business's math requires.

This is also why "what's a good ROAS for ecommerce" doesn't have a single universal answer. A business with 70% margins and low returns can be genuinely profitable at 2x. A business with 30% margins and a high return rate might be losing money at the same 2x. The metric is identical; the underlying economics are completely different.

How to Find Your Own Breakeven Point

You don't need to fully rebuild the calculation above every week. You need to know it once, roughly, for your own numbers, and revisit it when your cost structure changes meaningfully (a new discount strategy, a shift in shipping costs, a change in your return rate).

Start with your actual gross margin percentage (revenue minus COGS, as a percentage of revenue) rather than a rule of thumb from a blog post. Subtract your typical shipping and payment-processing costs as a percentage of revenue. Subtract your average discount depth if you regularly run promotions. Subtract your return rate's cost impact. What's left is roughly the percentage of every ad-driven revenue dollar that's actually available to cover ad spend and still leave profit behind, and from that, you can work out the ROAS you actually need, not the one a generic benchmark suggests.

Where This Gets Genuinely Hard to Track by Hand

The math above is straightforward once per product line. Keeping it current, campaign by campaign, as discounts change, as your product mix shifts, and as return rates fluctuate seasonally, is the part that gets tedious fast, which is usually why the gap between ROAS and true profit goes unexamined for months at a time even at businesses that know, in principle, that the gap exists.

WizeScale sits on top of exactly this problem: it connects read-only to your Meta Ads account and reads the same performance data you'd otherwise be pulling manually, then checks it against the account's actual patterns. Instead of a single ROAS number that might be masking a margin problem, you get a clearer, ranked read on what's actually working.

Doing the Math Once, Then Watching It

ROAS is a useful, fast signal, but it's a revenue-to-spend ratio, not a profit calculation, and treating it as one is how a "successful" campaign quietly becomes a break-even or loss-making one without anyone noticing until the quarterly numbers come in lower than expected. Know your own margin structure well enough to calculate your real breakeven ROAS once, and revisit the calculation whenever your costs shift.

See your Meta Ads account's health Score with WizeScale for a clearer picture of what's actually happening beyond the headline ROAS number. Read-only, ready in minutes.

Related articles

Get Started

Ready to scale your Meta Ads Wizely?

Connect your account and see your Score, signals, and next move in minutes.

Get started