ROAS is a revenue number, not a profit number, and most Shopify stores that “scale into a hole” got there because they ran the business on it. Ads Manager doesn’t know your product cost, your payment fees or your returns. Your bank account does.
So here’s my position. Don’t judge Meta on ROAS by itself. Judge it on blended CAC against contribution per order, and set a break-even ROAS for your own store before you raise the budget. Below is the math with two worked examples. One looks healthy. The other looks fine in Ads Manager and is nearly broke.
To run your own numbers, use the Shopify profit after fees & ads calculator. It uses the same formula as below.
Three margins that get confused
- Gross margin: revenue minus COGS. Good for pricing, not useful for ad budgets.
- Contribution margin: revenue minus every cost that scales with orders (COGS, payment fees, Shopify’s third-party fee, and shipping if you pay it). This is the money you have available to buy customers.
- Net margin after ads: contribution minus ad spend. This one answers “are we profitable at this spend?”
Break-even ROAS ≈ 1 ÷ contribution margin %. At 60% contribution you break even at 1.67×. At 40% you need 2.5×, and at 30% you need 3.33×. That is why a “good ROAS” borrowed from someone else’s store means nothing for yours.
Worked example A: healthy
Say a store has a $65 AOV, sells 400 orders a month, has 35% COGS, and is on Basic with Shopify Payments, spending $4,000 a month on Meta.
- Revenue: $26,000
- COGS: $9,100
- Payment fees: about $874 (2.9% + $0.30 per order)
- Contribution: $16,026 (61.6%), or about $40 per order
- Net after ads: $12,026 (46% net margin)
- ROAS 6.5× against a break-even of about 1.62×
Here, more spend is a reasonable bet. The store has room above break-even, and CAC is roughly $10 against $40 of contribution per order.
Worked example B: “profitable” in Ads Manager, almost broke in Shopify
Now take the same products with three changes that are common in practice. The AOV slips to $48. The store runs Stripe on Basic, so Shopify adds its 2%. And Meta spend has crept up to $10,000 to hold 400 orders.
- Revenue: $19,200
- COGS (35%): $6,720
- Stacked fees: about $1,100
- Contribution: $11,380
- Net after ads: $1,380 (about 7%)
- Ads Manager ROAS: 1.9×
A single bad return week or creative fatigue puts this month in the red. Nothing on the Meta dashboard tells you that, because a 1.9× ROAS still looks like the ads are “working.”
The ratio I actually watch
Blended CAC is total ad spend ÷ total orders, not Ads Manager’s last-click CPA. Compare it with contribution per order:
- Example A: $10 CAC against $40 contribution. You have room to scale.
- Example B: $25 CAC against $28.45 contribution. One step from breaking even, before you count apps, staff or returns.
When blended CAC keeps rising while AOV stays flat, you are paying for auction inflation, and the fix is the offer, not more budget.
What I’d do
- Calculate your contribution margin and break-even ROAS this week. Use real landed COGS and your actual fee path, either with the profit calculator or a spreadsheet. Then put that break-even number on the wall, not the platform ROAS.
- Fix the fee stack before you buy more traffic. If you’re on a third-party gateway on Basic, switching to Shopify Payments is the cheapest margin you will ever get. See Shopify transaction fees explained.
- Cap spend when net after ads is under about 15%, and work on AOV first: bundles, thresholds, upsells. In the break-even math, a $15 AOV lift moves profit far more than a cheaper CPM does.
For the full break-even version with fixed costs included, read Shopify break-even after ads and fees.
Work with me
I’m Faraz, a Shopify and AI automation consultant. If Meta “feels expensive” and you can’t tell whether the problem is the ads, the offer or the fee stack, I can go through the numbers with you and turn them into a plan. farazhussain.com · WhatsApp +92 334 3454747.
Worked examples are illustrative. Fee rates are approximate 2026 US list prices.