Category Uncategorized

A high return on ad spend can sit right next to a shrinking profit because ROAS measures revenue against ad cost alone and ignores margin, returns, and every cost that never touches the ad dashboard.

Why does my ROAS look great but my bank balance doesn’t?

Because ROAS only compares the revenue a platform claims it generated against the money you spent on ads — it ignores the cost of the product, fulfilment, payment fees, and returns. A campaign can report a strong ROAS while every order underneath it loses money once those are subtracted.

ROAS answers one narrow question: for every rupee spent on ads, how many rupees of revenue did the platform attribute to those ads? That is useful, but it is not profit. Revenue is the top line. Your bank balance is the bottom line, and between the two sits the entire cost of actually running the business — the goods, the delivery, the fees, the people, and the orders that come straight back.

We see this constantly with Pakistani SME store owners. The Meta or Google dashboard shows a 4x or 5x return, the owner scales spend, and three months later the bank account is tighter than before. Nothing in the dashboard is lying. It is simply reporting the only two numbers it has access to, and neither of them is cost of goods.

The trap is that ROAS is the number both platforms show you first, biggest, and most proudly, because it is the number that makes advertising look good. Profit per order is calculable but you have to go and build it yourself from data the platform cannot see.

So the honest answer to ‘why is my ROAS great but my balance isn’t’ is that you are measuring the wrong thing well. The campaign may be fine. The scoreboard is measuring revenue, and you are living on margin.

What does ROAS actually measure, and what does it leave out?

ROAS is attributed revenue divided by ad spend. It leaves out the cost of goods, shipping, packaging, payment and remittance fees, refunds, returns, and your overhead — everything that determines whether a sale was profitable.

Take a single order. The ad report sees two things: you spent some money reaching the buyer, and the buyer’s order was worth a certain amount. Divide one by the other and you have ROAS. That calculation is complete and correct within its own four walls.

Outside those walls sits almost everything that matters. The item cost you something to buy or make. Getting it to the customer cost shipping and packaging. If they paid online, the gateway took a cut; if they paid cash on delivery, the courier took a remittance fee and held your money for days. Some orders were returned. Some customers refused delivery. None of that reaches the dashboard.

There is also the attribution question underneath the number. Platforms count conversions they claim credit for, and both Meta and Google will happily attribute a sale to an ad a customer barely noticed. So the revenue figure in ROAS is often generous before you have even started subtracting costs.

The practical consequence: ROAS is a directional signal, good for comparing one campaign against another when costs are roughly equal. It is a terrible absolute measure of whether you are making money, and it was never built to be one.

How do I work out my break-even ROAS?

Divide one by your gross margin. If your gross margin is 25%, your break-even ROAS is 4 — below that number the campaign loses money before any other cost is even counted.

Break-even ROAS is the single most useful number most store owners have never calculated. It tells you the ROAS at which ad spend exactly equals gross profit, so anything above it is contribution and anything below it is loss. The formula is simply 1 ÷ gross margin.

Gross margin here means the share of the selling price left after the cost of the product itself. If you sell something for 1,000 and it cost you 600 to buy, your margin is 40% and your break-even ROAS is 2.5. A reported 3x looks like a win and genuinely is one — before fulfilment. A reported 2x, which still sounds healthy to most owners, is already underwater.

The table below shows how fast the break-even point climbs as margins thin. This is the number that explains why two stores with identical ROAS can have opposite bank balances: the one selling high-margin goods is printing money and the one selling thin-margin goods is quietly subsidising its own customers.

Once you know your break-even ROAS, you have a line in the sand. Campaigns above it earn their place. Campaigns below it do not, regardless of how confident the dashboard looks. And crucially, you now know your real target before you scale — not an arbitrary ‘3x is good’ borrowed from someone whose margins are nothing like yours.

Break-even ROAS by gross margin (illustrative)
Gross marginBreak-even ROASWhat a reported 3x really means
50%2.0Comfortable profit before fulfilment
40%2.5Profitable, with room to absorb costs
30%3.33Loss — 3x is below break-even
25%4.0Clear loss before any other cost
20%5.0Deep loss; 3x is nowhere near viable

What the ad dashboard sees versus what your bank sees
What ROAS countsAttributed revenueAd spendThat’s the whole equationWhat it ignoresCost of goods soldShipping and packagingPayment and COD feesReturns and refusalsYour overhead and time

What the ad dashboard sees versus what your bank sees

Why does cash-on-delivery wreck the gap between ROAS and profit in Pakistan?

Because the ad platform counts a COD order as revenue the moment it is placed, but a large share of COD orders are refused at the door, returned, or never collected — so the reported revenue is money you never actually receive.

Cash-on-delivery is still how a huge share of Pakistani customers buy online, and it breaks the assumption every ad platform is built on: that an order equals money. When a customer taps ‘confirm’ on a COD order, the pixel fires, the conversion is counted, and your ROAS goes up. Whether the customer actually pays the courier days later is a separate event the platform never learns about.

Return-to-origin — the parcel that goes out and comes straight back unpaid — is the single biggest reason a Pakistani store’s reported ROAS and its bank balance diverge. The order was counted as a sale. The product travelled both ways on your cost. The courier may still charge for the delivery attempt. You received nothing, and the dashboard still shows the sale as a win.

This is why we tell COD-reliant clients that their ‘real’ ROAS is the dashboard figure discounted by their delivery success rate. If roughly a third of COD orders never convert to cash, a reported 4x is really closer to a 2.7x — and that has to clear a break-even that already climbed because of return shipping and remittance fees.

The fix is not to abandon COD, which many Pakistani customers genuinely prefer, but to measure net of it. Track your delivered-and-paid rate, build it into your target ROAS, and push prepaid payment where you can with small incentives. We cover the mechanics of this for SMEs in our educational content because it is the number one blind spot we see in local stores.

What hidden costs never show up in my ad dashboard?

Payment gateway fees, COD remittance charges, shipping both ways, packaging, refunds, chargebacks, discounts and coupons, and your own overhead and time — none of these are subtracted from the revenue your ad report shows.

Every one of these is a real rupee leaving your business, and not one of them appears in Meta Ads Manager or Google Ads. The platform’s job ends at ‘a sale happened.’ Everything after that is yours to track, and most owners never build the sheet that does it.

Some of these costs are small per order but ruthless at scale. A 2–3% payment gateway fee feels trivial until you are doing volume. A discount code you forgot to switch off eats directly into margin on every order it touches. Packaging that costs a little more than you budgeted multiplies across thousands of parcels.

Others are lumpy and easy to ignore until month-end — the batch of refunds, the returned stock that came back damaged and cannot be resold, the courier’s monthly reconciliation that is lower than the sales you thought you made. These never line up neatly with any single campaign, so they are easy to mentally file as ‘just business costs’ rather than costs of acquisition.

The discipline that fixes this is boring and it works: list every cost that occurs between ‘order placed’ and ‘cash in bank,’ express each as a figure per order, and subtract the whole stack from your average order value. What remains is contribution per order, and that is the number ROAS was pretending to be.

  • Payment gateway and transaction fees on prepaid orders
  • COD remittance charges and the days your cash is held
  • Outbound shipping, and return shipping on refused orders
  • Packaging, inserts, and fulfilment labour
  • Refunds, chargebacks, and unsellable returned stock
  • Discount codes, coupons, and free-shipping thresholds
  • Platform fees, apps, and the overhead of running the store

How do returns and refused orders distort my reported revenue?

The ad platform counts revenue at the point of order, not the point of payment, so returns and refused deliveries inflate reported revenue and ROAS by the full value of sales that were reversed or never collected.

Attribution happens at checkout. Reversal happens later, and the two never meet inside the ad platform. A customer orders, the conversion fires, the ROAS rises. The same customer returns the item or refuses it at the door a week later, and the platform does nothing, because it has no idea the second event occurred.

This means your reported revenue is always gross of returns, and your reported ROAS is always optimistic by exactly your return rate. A 20% return rate turns a reported 4x into an effective 3.2x on realised revenue — and that is before the cost of the return journey, which you also paid.

Returns hurt twice. You lose the sale, and you pay to have the product travel in both directions, sometimes arriving back in no fit state to resell. For COD especially, a refused order can cost you more than it ever had a chance to earn, while still sitting in your dashboard as a conversion.

Netting returns out of your numbers is the single highest-leverage correction most stores can make. Track returns and refusals by product and by campaign, because they are rarely spread evenly — one product or one aggressive offer is often generating most of them, and cutting it improves profit far more than tweaking the ads ever would.

What should I track instead of ROAS?

Track contribution margin and profit per order after all costs, measured against net revenue you actually collected — and use break-even ROAS as your campaign threshold rather than an arbitrary target.

The goal is to move from ‘how much revenue did ads report’ to ‘how much money did I keep.’ That means building one figure — contribution per order — that starts with average order value and subtracts cost of goods, fulfilment, fees, and an allowance for returns. If that figure is positive after ad cost, you are growing. If it isn’t, scaling ads makes things worse faster.

Alongside it, a handful of numbers tell the real story: your delivered-and-paid rate for COD, your blended customer acquisition cost across all channels, and your margin after everything. These are the numbers that predict your bank balance. ROAS predicts your dashboard.

Customer lifetime value matters here too, but only once the first-order economics work. If you lose money on the first order and have no repeat purchase, there is no lifetime to value. For most SMEs we work with, getting the first order to break even on true costs comes first, and retention comes after.

None of this requires expensive software. A disciplined spreadsheet that reconciles ad spend, real delivered revenue, and the full cost stack each week will outperform any dashboard, because it measures the thing the dashboard can’t see.

How do I close the gap between a good ROAS and real profit?

Feed your true costs and delivered revenue back into how you judge campaigns, set targets off your break-even ROAS, cut the products and offers that drive returns, and push prepaid payment where possible — the ads are rarely the problem, the measurement is.

Start by calculating your break-even ROAS from your real gross margin, then add a buffer for fulfilment, fees, and returns to get a target ROAS you can actually run a profitable business at. That one number reframes every campaign conversation. Suddenly ‘3x’ is not good or bad in the abstract — it is above or below your line.

Next, find where the money leaks. Pull returns and refusals by product. Check which discount codes are live. Reconcile what the courier actually remitted against what you thought you sold. In our experience auditing accounts for Pakistani stores, the fix is far more often in fulfilment, pricing, or COD handling than in the ad targeting itself.

Then improve what the platform optimises toward. If you can send Meta and Google a signal based on profit or on delivered-and-paid orders rather than raw purchases, the algorithm starts finding you customers who actually pay, not just customers who click confirm. This is the single most powerful lever for COD-heavy stores and the one most owners never pull.

If this is where you’ve landed — strong dashboards, weak profit — that is exactly the gap we’re built to close, and the reason we lead with 100% campaign transparency and shared numbers rather than a ROAS screenshot. A PPC audit against your true costs will usually tell you within an account review whether the problem is the campaign or the measurement, and in most cases it is the measurement.

Common questions

Is a high ROAS ever a bad sign?

It can be. A very high ROAS sometimes means your ads are only reaching people who were going to buy anyway — existing customers and brand searchers — so you’re paying to take credit for sales you’d have made for free. Combined with thin margins or high returns, a flattering ROAS can mask a campaign that isn’t actually growing the business.

What ROAS should I aim for?

There is no universal good number. Your target is your break-even ROAS (one divided by your gross margin) plus a buffer for fulfilment, fees, and returns. A 50%-margin store can thrive at 2.5x while a 20%-margin store loses money at 4x. Borrowing someone else’s target is how most owners end up confused by their own results.

Does this apply to prepaid online stores or only cash-on-delivery?

It applies to both, but COD makes the gap far wider. Prepaid stores still have margin, shipping, fees, and returns the dashboard ignores — they just collect the money immediately. COD stores add refused deliveries and return-to-origin on top, so the gap between reported and realised revenue is much larger in Pakistan than in prepaid-dominant markets.

How do I account for returns when I set my ad targets?

Discount your target by your return and refusal rate. If 20% of orders come back, your effective revenue is 80% of what the dashboard shows, so raise your target ROAS accordingly. Track returns by product and campaign too, because they’re usually concentrated in a few offers you can fix or cut.

Can I make the ad platform count profit instead of revenue?

Partly. You can’t make Meta or Google see your cost of goods directly, but you can send conversion values based on profit rather than order value, and for COD you can optimise toward delivered-and-paid orders instead of raw purchases. This changes who the algorithm goes looking for and is one of the highest-impact changes a store can make.

Do I need special software to track true profitability?

No. A well-built spreadsheet that reconciles weekly ad spend, actual delivered and collected revenue, and your full per-order cost stack will do the job for most SMEs. Software helps at scale, but the discipline of reconciling against what the courier and gateway actually paid you matters far more than the tool.

Could my campaigns be fine and the problem lie elsewhere?

Very often, yes. In most accounts we review, the leak is in fulfilment costs, pricing, discount codes left running, or COD handling rather than the targeting. That’s why starting with an audit against your true numbers matters — switching off a profitable campaign because of a measurement error is a common and expensive mistake.

Sources

Leave a Reply

Your email address will not be published. Required fields are marked *

top
Paid Search Marketing
Search Engine Optimization
Email Marketing
Conversion Rate Optimization
Google Shopping
Influencer Marketing
Amazon Shopping
Explore all solutions