Skip to main content
All posts
June 28, 2026 · 5 min read

The Shopify margin trap: why ROAS lies (and what to track instead)

ROAS is the most-tracked metric in Shopify ads. It's also the most misleading. Here's why — and the two numbers to track instead so you stop scaling unprofitable winners.


Open any Shopify store's Meta Ads account on a Monday and someone in the room will say 'this campaign has 4x ROAS — let's scale.' Six weeks later that same campaign has destroyed the company's gross profit. Here's why.

ROAS is revenue, not profit

ROAS (Return on Ad Spend) measures the dollars of revenue you generate per dollar of ad spend. A 4x ROAS means $4 of revenue for every $1 spent.

But revenue is not profit. If your gross margin is 30%, that $4 of revenue is actually $1.20 of gross profit. Subtract the $1 of ad spend and your true contribution margin is $0.20 per dollar of ad spend — about a 20% contribution to overhead.

Drop the margin to 20% (because you're running a promo, or because of supplier price hikes), and that same 4x ROAS now nets you $0.00 in contribution margin. You're paying Meta to ship product at break-even.

What to track instead — POAS

Profit on Ad Spend (POAS) is the metric you actually want. It measures gross profit per dollar of ad spend.

POAS = (Revenue × Gross Margin %) / Ad Spend

For a healthy DTC store, POAS should be > 1.5 — meaning every $1 of ad spend produces $1.50+ of gross profit, leaving room to cover overhead and turn a real profit.

And the second number — MER

Marketing Efficiency Ratio (MER) is total revenue divided by total ad spend across all channels. It catches the 'I'm doing better on platform A because I'm cannibalizing my organic on platform B' trap that platform-by-platform ROAS misses.

Track MER weekly. If it's stable or rising while you're scaling spend, you're growing. If it's dropping while spend is rising, you're buying the same revenue twice.

How FixAdSpend ties it together

Connect your Shopify margin data on the integrations page and every recommendation across every agent gets POAS-adjusted. The profit-margin agent specifically catches the case described above: a high-ROAS campaign that's actually unprofitable because the product mix is low-margin.

If you're not on Shopify, you can plug your average gross margin % into the dashboard manually. Same math.


Written by FixAdSpend team. Try FixAdSpend free →

More from the blog