Oct 26, 2026 · 10 min read
High ROAS but Not Profitable? Where the Margin Goes
A high ROAS (return on ad spend) can still lose money, because ROAS measures revenue and not profit. When the ROAS in Ads Manager looks strong but the business isn't making money, the cause is usually one of five things. Your break-even ROAS is higher than you think, the platforms report more revenue than your store received, refunds are still counted, much of the credited revenue comes from returning customers, or extra spend is earning less than the average suggests. You can check all five in about an hour with Shopify and your ad accounts.
This guide works through one example store whose ad accounts report about 4x ROAS while the store makes almost nothing after ads. The store and its numbers are made up, but the pattern is common, and you can put your own numbers into the same table.
The Short Answer: Compare Real ROAS With Break-Even ROAS
Two numbers decide whether your ads make money. The first is your break-even ROAS, which is 1 divided by your contribution margin before ad spend. We call that margin CM2. It is net sales minus product cost, shipping and fulfillment, payment fees and the cost of returns. Our contribution margin guide shows how to work it out.
The second number is your real ROAS. That is the revenue you can match to ads in Shopify, after refunds, divided by ad spend. If your real ROAS is above break-even, the ads make money on the orders they bring in. If it is below, they don't, no matter what Ads Manager shows.
A Worked Example: 4x Reported, Break-Even in Reality
Say you run a supplements brand that sells mostly through a 25%-off subscribe-and-save offer. The discount brings your CM2 down to 35%, so your break-even ROAS is 1 ÷ 0.35, or about 2.86x. Last month you spent $40,000 across four campaigns, and your agency reported a blended ROAS of just over 4x.
| Campaign | Spend | Platform ROAS | ROAS on Shopify-matched orders | After refunds (8%) | Share of new customers | New-customer ROAS |
|---|---|---|---|---|---|---|
| Meta prospecting | $20,000 | 2.60x | 2.00x | 1.84x | 85% | 1.56x |
| Meta retargeting | $8,000 | 6.00x | 3.75x | 3.45x | 15% | 0.52x |
| Google brand search | $6,000 | 7.00x | 6.00x | 5.52x | 20% | 1.10x |
| Google Shopping | $6,000 | 3.50x | 3.00x | 2.76x | 70% | 1.93x |
| All campaigns | $40,000 | 4.08x | 3.10x | 2.85x | 1.34x |
The platforms credited $163,000 in revenue to $40,000 of ads, which is where the 4x came from. Only $124,000 of that matched real Shopify orders, and refunds took it down to $114,080. That is a real ROAS of 2.85x, just under the 2.86x break-even. At a 35% CM2, those sales left $39,928 to pay for $40,000 of ads, so the store lost $72 on its advertising for the month. The rest of this post explains each step in the table.

1. Your Break-Even ROAS Is Higher Than You Think
Many brands set their ROAS target from gross margin, which only subtracts product cost. A product with a 70% gross margin seems to break even at about 1.4x. Once you also subtract shipping, payment fees, returns and discounts, the margin that is left to pay for ads is often closer to 35% to 50%, and break-even moves to 2.0x to 2.9x.

Discounts often have the largest effect, because they lower the sale price while product cost, shipping and fees stay the same. In the example, the 25% subscribe discount is the main reason CM2 is only 35%, so every campaign needs a higher ROAS to break even. Our ROAS guide has a table that shows the break-even ROAS for each margin level.
2. The Platforms Report More Revenue Than Your Store Received
Meta and Google each count the orders they think their ads caused. When a customer clicks a Meta ad and later a Google ad, both platforms can claim the same order. Meta also counts some purchases from people who only viewed an ad, and both platforms add estimated conversions they couldn't track directly. Adding the platform numbers together therefore overstates your ad revenue.
In the example, the platforms claimed $163,000 but only $124,000 matched real orders, a gap of 24%. Our guide to why Meta and Google revenue doesn't match Shopify shows how to line up the two step by step.
3. Refunds Are Still Counted
Ad platforms record a purchase when the order is placed. They don't remove it later if the customer returns the product. For a brand with an 8% refund rate, every platform ROAS is about 8% too high. For apparel, where return rates of 20% to 40% are common, the gap is much bigger.
To check it, go to Shopify admin → Analytics → Reports → Sales over time. The returns column shows refunded sales for the period. Divide it by gross sales to get your refund rate, then lower each campaign's ROAS by that share.
Doing this by hand means joining three exports every month. In Daymark you could ask, "What's my true ROAS by channel this month?" It works out ROAS from the orders Shopify actually recorded, after refunds, for each channel and campaign. That shows you which campaigns are above your break-even line without a spreadsheet. Read more about comparing ad spend with the orders it actually produced.
4. Much of the Credit Goes to Returning Customers
Retargeting and brand search campaigns often show the highest ROAS in an account, because they reach people who already know your store. In the example, Meta retargeting reported 6.0x and Google brand search 7.0x. But only 15% and 20% of their orders came from new customers.
Some of those returning customers might have bought anyway, through an email or by typing in your store's address. You can't know exactly how many without a holdout test, but you can see the risk. Counting only new customers, retargeting earns 0.52x and brand search 1.10x. The whole account earns 1.34x in new-customer revenue, far below its 4x headline.

This doesn't mean you should switch these campaigns off. Retargeting and brand search often protect sales you would otherwise lose to a competitor. It does mean their ROAS shouldn't be the reason you move budget toward them. To see new versus returning customers, use Shopify's report that splits sales between first-time and returning customers, and filter it by traffic source or UTM campaign.
5. Extra Spend Earns Less Than the Average
The ROAS for a campaign is an average across all the money you spent. The last few thousand dollars you added usually earned less than that average, because Meta and Google show your ads to the most likely buyers first. Once those people have seen the ad, more spend reaches people who are less likely to buy.
So when you scale a campaign from $10,000 to $20,000 a month, the ROAS may fall only from 2.4x to 2.0x. That looks small, but the extra $10,000 earned only about 1.6x on its own, which is well below break-even for most brands. To check it, compare the change in revenue with the change in spend between two months, not the overall ROAS. Our guide to Meta ad fatigue covers the related problem of a single ad losing strength over time.
What to Do With Each Campaign
Once you have the real ROAS and the new-customer ROAS for each campaign, you can decide what to change. In the example, these would be the next steps:
| Campaign | What the numbers say | What to do |
|---|---|---|
| Meta prospecting | Below break-even on first orders, but it brings most of the new customers | Keep it, and check whether these customers reorder within 90 days. Lower the discount on first orders if repeat rates are low. |
| Meta retargeting | Above break-even, but only 15% new customers | Cap its budget and test a holdout before adding more. |
| Google brand search | Highest ROAS, mostly returning customers | Keep spend steady. Don't treat its ROAS as proof that more ad spend works. |
| Google Shopping | Just under break-even, with 70% new customers | Remove low-margin products from the feed, or lower bids on them. |
The prospecting decision depends on repeat orders. If a new supplements customer places two more orders in their first year, a first-order ROAS below break-even can still pay off. Our LTV:CAC guide shows how to judge that, and our CAC guide shows how to count new customers from Shopify.
Daymark can do this split for you each month. You could ask, "Which campaigns are wasting budget?" It compares each campaign's spend with the Shopify orders and new customers it produced, so you can see which ones to cut and which ones to keep. Read more about finding out why your Shopify sales changed.
A Monthly Check You Can Run in an Hour
You can repeat this check on the first Monday of each month with four numbers per campaign:
- Spend and platform revenue. Export these from Meta Ads Manager ("Amount spent" and "Purchases conversion value") and Google Ads ("Cost" and "Conv. value") for last month.
- Shopify-matched revenue. Use the UTM campaign field on orders, or Shopify's sales by traffic source report, to total the orders that came from each campaign.
- Refund rate. Take it from the Sales over time report and apply it to each campaign.
- New-customer share. Use the first-time vs. returning customer split for each campaign's orders.
Then divide each campaign's matched revenue after refunds by its spend, and compare the result with your break-even ROAS. The break-even ROAS calculator and returns-adjusted ROAS calculator can do the arithmetic for you.
Frequently Asked Questions
Why is my ROAS high but I'm not making a profit?
ROAS measures revenue, not profit. A high ROAS can still lose money if your break-even ROAS is higher than you think, if ad platforms count the same order twice, if refunds are still counted, or if much of the credited revenue comes from returning customers. Compare the revenue you can match in Shopify, after refunds, with your break-even ROAS of 1 divided by your contribution margin.
What is the difference between ROAS and profit?
ROAS is the revenue an ad platform credits to your ads divided by what you spent. Profit is what is left after you pay for the product, shipping, payment fees, returns and the ads themselves. A 3x ROAS on a product with a 30% contribution margin loses money, while the same 3x on a 50% margin makes money. The margin decides which one you have.
How do I calculate break-even ROAS?
Divide 1 by your contribution margin before ad spend, written as a decimal. Contribution margin here is net sales minus product cost, shipping and fulfillment, payment fees and the cost of returns. If 40% of each sale is left after those costs, your break-even ROAS is 1 divided by 0.40, which is 2.5x. Any campaign below that loses money on the orders it brings in.
Why does Meta report more revenue than Shopify?
Meta and Google each count the orders they think their ads caused, so they can both claim the same order. Meta also counts some purchases from people who only viewed an ad, adds estimated conversions it couldn't track, and doesn't remove refunds. Shopify records only the orders that were actually placed. Use Shopify as the source of truth for revenue, and ad platforms to compare campaigns.
Should I cut retargeting campaigns with a high ROAS?
Not straight away. Retargeting often shows the highest ROAS because it reaches people who already know your store, and some of them would have bought anyway. Check what share of its orders come from new customers. If it is low, cap the budget and run a holdout test, where part of the audience sees no ads, to measure how many sales the campaign really adds.
What to Do This Week
Work out your CM2 and break-even ROAS, then build the campaign table above for last month. Look first at the campaigns with the highest platform ROAS and the lowest share of new customers, because those are the ones most likely to be overstating their results. Make your next budget decision on real ROAS and new-customer ROAS, not on the number in Ads Manager.
About the author
Co-Founder, Daymark
Karan is a co-founder of Daymark, where he builds the connections between Shopify, ad platforms, and warehouses that turn scattered store data into one source of profit truth. He writes about Shopify analytics, data integration, and using AI to query store data without SQL.
LinkedIn