Why good ROAS can still leave you losing money
Your ads report a strong return. Orders keep coming in. Yet there is less money left than you expected.
High ROAS can sit alongside a loss because revenue is not profit. Product costs, discounts, shipping, payment fees, returns and customer acquisition can consume the money your dashboard calls a successful sale. Before increasing spend, calculate what each order actually leaves behind.
ROAS means return on ad spend: the conversion value attributed to advertising divided by advertising cost. If the value you send is revenue, it is a revenue ratio. Google’s target ROAS documentation describes optimisation around conversion value relative to cost. That does not automatically include your operating costs.
First, check what the revenue number contains
Start with a completed period long enough for your normal delivery and return cycle. Put the ad report beside your store and payment records. Use the same currency, dates and time zone, and write down each report’s attribution window.
Then ask three questions:
- Does reported revenue include taxes, shipping charged to customers or orders that remain unpaid?
- Have discounts, cancellations and refunds been reflected?
- Are two advertising platforms claiming credit for the same sale?
Do not add platform-attributed revenues together and assume the result is your store revenue. Attribution is an allocation of credit, not a second set of orders. A reconciliation should use your actual order and payment records as its starting point.
Shopify distinguishes gross sales, net sales and total sales; some sales reports include pending, unpaid and cancelled orders. A headline sales total alone therefore cannot establish what you earned.
Calculate contribution before and after advertising
Contribution is the money left from sales after the variable costs associated with those sales. Define your version clearly so everyone uses the same calculation.
For a practical first-order view, use revenue after discounts and refunds, excluding taxes collected on behalf of government. Add customer shipping receipts if you include delivery costs below. Subtract product cost, packaging, fulfilment, delivery costs, payment fees and other variable order costs. Include the actual cost of failed deliveries and returns, without subtracting the same refund twice.
That gives contribution before advertising. Subtract the advertising cost allocated to those orders to get contribution after advertising. Fixed overhead, salaries and other costs still need to be covered; a positive contribution is not the same as net profit.
Hypothetical example, not a client result: a campaign spends ₹25,000 and reports ₹1,00,000 in revenue, producing 4x ROAS. Suppose reconciled revenue after discounts and refunds is ₹90,000, excluding tax, and there are no customer shipping receipts. Product cost is ₹45,000, fulfilment and shipping cost ₹12,000, payment and packaging cost ₹5,000, and additional unrecovered return costs ₹6,000.
- Contribution before ads: ₹90,000 − ₹68,000 = ₹22,000.
- Contribution after ads: ₹22,000 − ₹25,000 = a ₹3,000 loss.
The attractive 4x number does not change that loss. This example also leaves fixed overhead out, so the full business result would be lower.
Find your break-even ROAS on a consistent basis
For a simplified first-order model:
Advertising break-even ROAS = 1 ÷ contribution margin before ads.
The margin is contribution before ads divided by revenue, expressed as a decimal. Both the margin and ROAS must use the same revenue definition. If your margin before ads is 25%, the advertising break-even is 4x on that basis. At 4x, nothing remains for fixed costs or profit.
In the example above, the margin is ₹22,000 ÷ ₹90,000, about 24.4%. Advertising break-even is about 4.09x using reconciled revenue. Actual ROAS on that basis is ₹90,000 ÷ ₹25,000 = 3.6x. Do not compare a net-revenue threshold directly with a gross-revenue platform figure.
This is a planning model, not a universal target. Product mix, return rates, order size and delivery costs change it. If contribution before ads is zero or negative, extra advertising efficiency alone cannot repair the underlying order economics.
Find the leak before choosing the fix
Discounts are buying revenue at the expense of margin
Compare contribution per order for discounted and full-price orders, including any change in conversion and order size. Test whether an offer can make value clearer without giving away as much margin. A bundle is only better if its total contribution improves after extra product and shipping costs.
The sales mix has shifted toward low-margin products
A campaign can raise average ROAS while selling more of the products that leave the least money. Review product-level contribution and stock availability before reallocating budget. Shopify’s profit reports require cost-per-item data for relevant products; discounts and refunds affect reported margins. Complete your cost data and add costs your chosen report does not capture.
Returns or failed deliveries arrive after the ad report looks successful
Group orders by the period they were placed and revisit them after delivery and returns have settled. Where you offer cash on delivery, include return-to-origin costs and collection outcomes. Separate these from ordinary customer returns so the team can identify the actual issue.
You are relying on repeat purchases that have not happened yet
Accepting a first-order loss can be a deliberate decision, but it needs evidence. Use observed repeat-order contribution for comparable customer groups over a defined period, not an optimistic revenue-only lifetime value. Check the cash required while waiting for payback.
Make the next budget decision with a small scorecard
Review reconciled revenue, contribution before ads, contribution after ads, new-customer acquisition cost and return or cancellation outcomes together. Keep a separate view of fixed costs. Compare similar products and customer groups rather than blending everything into one average.
When increasing spend, watch what the additional spend produces. A profitable historical average can hide an unprofitable next batch of customers. Test a defined change, allow for conversion and return delays, and compare contribution as well as sales volume. No single good day proves that scaling is safe.
If the offer itself is unclear, the next step may be sharper positioning rather than more advertising. If the numbers cannot be reconciled, fix measurement before drawing a confident conclusion.
Questions founders ask
Is 4x ROAS good for a D2C brand?
It depends on your revenue definition, margin, returns, fixed costs and customer payback. Use your own break-even calculation instead of treating another brand’s ratio as a target.
Should I pause every campaign below first-order break-even?
Not automatically. Check data quality, conversion delays and your agreed acquisition model. A measured repeat-purchase strategy may justify a first-order loss, but only within a clear cash and payback limit.
Can a higher ROAS campaign leave less profit?
Yes. It may sell lower-margin products, carry more discounts or have higher delivery and return costs. Compare contribution on the same basis before moving budget.
Need a clearer picture before scaling?
My Growth Audit & Roadmap and Analytics & Growth Measurement services help identify constraints and define a practical measurement plan. If your ad reports and business results tell different stories, share your growth challenge so we can discuss the right scope.