Skip to content
All articlesMeta Ads

Your ROAS looks fine. So why is there no money in the account?

Umar Farooq14 October 20267 min read

A DTC founder in Manchester sent us a screenshot last month. Meta Ads Manager, last 30 days: 3.6x ROAS, trending up. Underneath it, a line from her accountant: the business lost money in the quarter.

She wanted to know which one was lying. Neither was. They were just measuring different things, and she had been running the company on the wrong one.

What ROAS actually counts

Return on ad spend is revenue attributed to ads, divided by what you spent on ads. That is it. It does not know what the product cost you to make, what the courier charged, that you refunded eleven orders, that the 20% discount code in the ad came out of your margin, or that Shopify, Stripe and your 3PL all took a slice before the money reached you.

So a 3.6x ROAS on a $100 order means Meta sent you $100 of revenue for $28 of ad spend. If your landed product cost is $38, shipping is $9, payment fees are $3, the discount was $20 and your return rate is 8%, the "profit" on that order is roughly $0. Scale that and you are working for free, with a dashboard that tells you things are great.

This is not an edge case. In most of the e-commerce accounts we audit for US and UK brands, the ROAS target was set by looking at what the account used to do, not by working backwards from the margin.

The number you should be managing instead

There are two that matter, depending on your business.

Break-even ROAS. Take your contribution margin per order after product, shipping, fees, discounts and returns. Divide 1 by that margin as a fraction. If your true margin is 30%, your break-even ROAS is 3.3x. Anything below that loses money on every sale, whatever Ads Manager says. Most brands we meet have never calculated this number, and most of them are running below it on at least one campaign.

Marketing efficiency ratio (MER). Total revenue divided by total ad spend across every channel, taken from your store, not from the platforms. This ignores attribution arguments entirely. It is the only number that cannot be flattered by a tracking setup.

When we take on an account, the first week is spent agreeing these two numbers with the owner. Everything we do afterwards is measured against them.

Why platform ROAS drifts upward anyway

Even when the margin maths is right, platform-reported ROAS has a habit of improving over time without the business improving with it. A few reasons:

Attribution windows. A 7-day click, 1-day view window credits Meta for a sale from someone who saw your ad on Tuesday and bought from a Google search on Friday. Google will also claim that sale. Add the two platform numbers up and they often exceed your real revenue.

Returning customers. Broad targeting with no exclusions will happily show ads to people who were going to buy again anyway. Those purchases count towards ROAS. They would have happened for free.

Discount-led creative. Offers lift conversion rate, which lifts ROAS, which encourages more offers. Six months later the brand cannot sell at full price and the margin the ROAS was supposed to protect is gone.

What to do this week

  1. Work out your contribution margin per order honestly. Include returns and discounts. Ask your accountant if you are not sure; it takes them twenty minutes.
  2. Convert it to a break-even ROAS and write it at the top of your reporting.
  3. Pull MER from your store for the last 90 days and compare it to blended platform ROAS. The gap is your attribution inflation.
  4. Add a customer exclusion to prospecting campaigns, or at least look at what share of "new" purchases came from existing customers.
  5. Count how many of your top ten ads lead with a discount. If it is more than half, you have a creative problem disguised as a performance win.

None of this requires new software. It requires deciding that the number you manage by should be one that can actually go wrong.

The uncomfortable part

Sometimes the honest answer, once the margin is in, is that paid social does not work for the product at its current price and cost structure. We have told clients that. It is a better conversation to have in month one than in month nine, and it usually leads somewhere useful: fixing the offer, raising the price, cutting the free shipping threshold, or shifting budget to search where the intent is higher. Where your first serious ad budget should go walks through that choice properly.

This arithmetic gets strict in a discount period, when auction prices rise and your margin falls at the same time — the five-week Black Friday plan starts by working out the break-even figure for the sale rather than for a normal month.

Three related reads if this is where you are. Why your platform numbers never match your store explains the attribution half of the gap, and server-side tracking closes the measurement half of it. A worked example of the whole sequence is in how one Shopify store doubled revenue on the same budget. Performance Max quietly claiming your brand searches is the most common way a reported ROAS gets inflated. And if the account is well structured but still unprofitable, the structure article is worth a look before you blame the market.

If you would like a second pair of eyes on your numbers, the free growth audit does exactly this: we calculate your break-even point from your real costs and tell you in writing which campaigns clear it and which do not.

Want this done on your account?

The free growth audit applies everything above to your own campaigns, and you get the findings in writing.