Skip to content

POAS vs ROAS: Why Profit on Ad Spend Changes How You Scale

ROAS rewards revenue. POAS rewards profit. This guide shows how to calculate profit on ad spend, when it flips your budget decisions, and why causal attribution is the missing third step.

Three platforms, three answers, one budget to defend. Your GA4 export already holds the answer, and the first finding is free and never leaves your browser. Get your first finding free

By , Founder & CEOUpdated 6 min read

Run the numbers for your store: the free break-even ROAS calculator.

What Is POAS, and Why Does It Beat ROAS?

POAS (profit on ad spend) is gross profit divided by ad spend. Where ROAS tells you how much revenue each euro of advertising returned, POAS tells you how much profit it returned after COGS, shipping, payment fees, and returns.

Both metrics answer different questions. ROAS answers "did this campaign generate sales?" POAS answers "did this campaign generate money?"

Definitions and Formulas

ROAS = attributed revenue ÷ ad spend. See how to calculate ROAS for the basics and its blind spots.

POAS = gross profit (attributed revenue − COGS − variable costs) ÷ ad spend. A POAS above 1.0 means the campaign covered its own cost and contributed profit. The concept was popularized in European ecommerce by tools like ProfitMetrics, and the logic is simple: two orders of €100 are not equal if one carries €70 of product cost and the other €30.

MER (marketing efficiency ratio) = total revenue ÷ total marketing spend, the blended cousin of ROAS. Our guide to calculating and optimizing MER covers when blended beats per-channel views.

The Profit Visibility Ladder

Most brands climb a four-rung ladder. Each rung removes one illusion.

RungMetricWhat it hidesQuestion it answers
1Platform ROASMargin AND causality: platforms inflate their own numbers"What does the ad platform claim?"
2Blended MERChannel-level detail; margin"Is the business roughly efficient?"
3POASCausality: whether the sale would have happened anyway"Did attributed sales carry profit?"
4Causal POASNothing structural"Did this channel cause profit that would not exist otherwise?"

Rung 1 to Rung 2 is the move described in the blended ROAS lie. Rung 2 to Rung 3 is the POAS upgrade this guide covers. Rung 3 to Rung 4 is where causal attribution comes in: even a profit-weighted metric is misleading when the underlying attribution is correlational. Retargeting inflates ROAS: and it inflates POAS by exactly the same mechanism, because last-click attribution hands it credit for buyers who were coming back anyway.

How to Calculate POAS: 6-Step Workflow

  1. Pull attributed revenue per channel from your source of truth: not from each platform's dashboard, which double-counts (see calculating true ROAS despite platform inflation).
  2. Load per-order COGS. Shopify stores cost-per-item natively; export it or sync your landed costs.
  3. Compute gross profit per channel = attributed revenue − COGS − variable costs for the orders attributed to that channel.
  4. Divide by channel spend. POAS above 1.0 = profitable on gross margin; your true floor depends on fixed costs: our contribution margin calculator and break-even ROAS calculator formalize this.
  5. Re-weight by causal contribution. Replace claimed attribution with causally attributed revenue so credit reflects incrementality rather than clicks. This is Rung 4.

Worked Example: Same ROAS, Opposite Decisions (Illustrative)

Campaign A (hero serum)Campaign B (gift sets)
Ad spend€10,000€10,000
Attributed revenue€35,000 (ROAS 3.5)€35,000 (ROAS 3.5)
COGS€8,750 (25%)€19,250 (55%)
Shipping + fees + returns€4,200€6,300
Gross profit€22,050€9,450
POAS2.210.95

Identical ROAS. Campaign A generates €2.21 of profit per ad euro; Campaign B loses money before a single fixed cost is paid. A ROAS-driven budget scales both; a POAS-driven budget reallocates toward A: this is the ROAS trap of high ROAS, low value in miniature.

Now the causal layer. Suppose Campaign A is prospecting and Campaign B includes branded-search retargeting. A causal analysis (Bayesian inference: which, done properly, is causal inference) finds that only 40% of Campaign B's attributed revenue was incremental: most buyers would have returned organically. Causal POAS for B drops from 0.95 to roughly 0.38. The correlational number said "borderline"; the causal number says "stop." That difference between data-driven and causal attribution is the whole game.

Why Correlational Attribution Breaks POAS Too

POAS fixes the numerator's margin problem but inherits the numerator's attribution problem. If your attributed revenue comes from last-click or pixel-based multi-touch, it still over-credits bottom-funnel channels (view-through attribution distorts everything it touches) and under-credits demand creation. Profit-weighting an inflated number gives you a precisely wrong answer instead of a vaguely wrong one.

The fix is to estimate each channel's causal contribution, what revenue would disappear if the channel went dark, using incrementality testing or causal attribution modeling on your own historical data. Then apply your margin math to that. Combined with new-customer vs blended CAC and LTV, you get a budget model that survives contact with your P&L, the foundation of a profitable paid media strategy for Shopify, especially now that logistics costs are squeezing DTC margins.

Common Mistakes

  • Using platform ROAS as the revenue input. Every platform claims the same orders; benchmark against 2026 ROAS norms and your own blended numbers instead.
  • Ignoring returns.
  • Applying one blended margin to all campaigns. Margin varies by product; campaign-level POAS requires campaign-level COGS.
  • Treating POAS 1.0 as break-even for the business. It's break-even on gross margin; fixed costs still need covering: use a break-even calculator built for Shopify.
  • Profit-weighting correlational attribution and calling it done. Rung 3 without Rung 4 still overfunds retargeting and branded search.
  • Confusing POAS with ROI. ROAS vs ROI covers the distinction; POAS sits between them.

Checklist

  • Per-order COGS synced and current
  • Variable costs (shipping, fees, returns) modeled per category
  • One source of truth for attributed revenue, not per-platform dashboards
  • POAS computed per campaign, not just blended
  • Causal re-weighting applied to attributed revenue
  • Break-even POAS defined including fixed costs
  • Budget rules written against causal POAS, not platform ROAS

Key Takeaways

POAS divides gross profit by ad spend and exposes campaigns that look good on revenue but lose money on margin. It belongs above ROAS in any Shopify brand's hierarchy, but below causal measurement: profit-weighting doesn't fix attribution that credits the wrong channel. The end state is causal POAS: profit per ad euro that would genuinely vanish without the channel. Choosing tooling? Start with our overviews of the 2026 ecommerce analytics stack and the best marketing attribution tools.

For €99, upload any historical GA4 period and get causal attribution for every channel in 1–2 minutes: no pixel, no migration (here's exactly what you get).

Frequently asked questions

  • What is a good POAS for ecommerce?
    A POAS above 1.0 means a campaign covered its ad cost with gross profit. Most Shopify brands need 1.3–2.0+ to cover fixed costs and earn net profit, depending on overhead. Calculate your own break-even POAS from contribution margin rather than borrowing a benchmark.
  • How do I calculate POAS?
    POAS = gross profit ÷ ad spend, where gross profit is attributed revenue minus COGS, shipping you pay, payment fees, and expected returns. Compute it per campaign using campaign-level product margins, not one blended margin for the whole store.
  • Is POAS better than ROAS?
    POAS is more decision-relevant than ROAS because it accounts for margin: two campaigns with identical ROAS can be strongly profitable and loss-making. But POAS still inherits attribution errors: if the revenue credit is wrong, the profit credit is wrong too. The strongest metric is causally attributed POAS.
  • What is the difference between POAS and MER?
    MER is blended: total revenue divided by total marketing spend across all channels. POAS is profit-based and usually computed per channel or campaign: gross profit divided by that campaign's spend. MER tells you whether the whole engine is efficient; POAS tells you which parts earn money.
  • Does POAS account for incrementality?
    No. Standard POAS uses attributed revenue from last-click or multi-touch models, which credit channels for sales that may have happened anyway.
  • Why can a campaign with 4.0 ROAS still lose money?
    Because ROAS ignores costs. Low-margin products need far higher ROAS to break even, which is why margin-blind scaling destroys profit.
  • Can I track POAS inside Google Ads or Meta?
    Partially. You can send margin-adjusted conversion values to Google or Meta so their bidding optimizes toward profit: several tools specialize in this. But platform-reported POAS still relies on the platform's own attribution, which over-credits itself. Keep an independent, causally attributed view as the source of truth.

Go deeper: Causal attribution, explained.

Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.

Have an audience of ecommerce operators? Earn 20% recurring commission by recommending the €99 read.

Keep reading

Terms in this article

Browse the full glossary

Your platforms guess.
We run the math.

Upload a GA4 export and see what each channel caused, next to last-click, in 1–2 minutes. The read is yours to keep.

The free finding runs in your browser. Your file never leaves it. The full read is €99, refundable within 30 days, no questions asked. Prices exclude VAT.