Skip to content

POAS vs ROAS: Which Ad Metric Shows Profit?

7 min read
PR

Priya Raghunathan

E-commerce Performance Manager

POAS vs ROAS is the choice between measuring what your ads sold and measuring what your ads earned. ROAS, return on ad spend, divides revenue by spend. POAS, profit on ad spend, divides profit by spend. The two can point in opposite directions, and only one of them tells you whether a campaign made the business richer.

Quick answer: ROAS equals revenue divided by ad spend; POAS equals profit divided by ad spend, where profit is net sales minus product cost, shipping, payment fees and returns. Break-even POAS is 1.0, while break-even ROAS is 1 divided by your margin. Use POAS to decide budget and ROAS to tune campaigns inside a platform.

This is the general guide to both metrics. If you sell on Shopify and want the setup steps, our guide to Shopify profit tracking from ROAS to POAS covers where each cost lives in the store. For the margin layers used below, see contribution margin for ecommerce.

What is the difference between POAS and ROAS?

Both metrics put ad spend in the denominator, so the whole difference sits in what you put on top: revenue for ROAS, profit for POAS.

  • ROAS = revenue from ads ÷ ad spend
  • POAS = profit from ads ÷ ad spend

ROAS is the number every ad platform reports by default. It is easy to calculate because the platform already knows the order value it tracked. POAS needs data the platform does not have: what the products cost you, what you paid to ship them and what came back as refunds.

ROASPOAS
What goes on topRevenueProfit (contribution margin before ads)
Where the inputs liveAd platformStore, costs file and ad platforms
Counts product cost, shipping, fees, returnsNoYes
Break-even value1 ÷ margin %, e.g. 2.5 at 40%1.0
Same target works for every productNo, margins differYes, 1.0 is always break-even
Best used forRanking ads inside one platformBudget and scaling decisions
Reported by Meta or Google by defaultYesOnly if you send profit as the value

A higher ROAS does not always mean a higher POAS. A campaign selling a low-margin accessory can beat a bundle campaign on ROAS and still lose money once the costs are in.

Which costs count in POAS?

Profit on ad spend is only as good as the costs you subtract, so write the definition down before you compare any campaigns. The convention used across our guides is contribution margin before ads, the layer we call CM2:

  1. Net sales: revenue after discounts and refunds, excluding VAT.
  2. Minus COGS: landed product cost, including inbound freight and duties. This gives CM1.
  3. Minus shipping you paid to send orders to customers.
  4. Minus payment fees charged by your payment provider.
  5. Minus pick, pack, packaging and returns handling. This gives CM2.

POAS is then CM2 divided by ad spend. Some teams use a lighter version, gross profit POAS, which stops at CM1 and divides gross profit by spend. It is quicker to set up but flatters every campaign, because shipping and fees can take a large share of each order. Contribution POAS, on CM2, is the stricter number and the one to use for budget.

A third convention subtracts ad spend before dividing, so break-even becomes 0 instead of 1.0. Neither is wrong. Mixing them in one report is.

How to calculate POAS: a worked example

POAS is easiest to learn on one campaign with round numbers, so the example below follows one month of one campaign. The figures are invented for illustration only, not data from any store, and exclude VAT.

LineAmount
Ad spend€10,000
Net sales from the campaign (store orders, after refunds)€40,000
ROAS (€40,000 ÷ €10,000)4.0
Product cost (COGS)−€18,000
CM1, gross profit€22,000
Shipping to customers−€4,000
Payment fees−€1,000
Packaging and returns handling−€2,000
CM2, contribution margin before ads€15,000
Gross profit POAS (€22,000 ÷ €10,000)2.2
Contribution POAS (€15,000 ÷ €10,000)1.5

A ROAS of 4.0 sounds strong. Contribution POAS of 1.5 says each euro of spend returned €1.50 of contribution, so the campaign added €5,000 towards fixed costs and profit. Gross profit POAS of 2.2 would have overstated that by a wide margin.

Now change one thing. Suppose the same campaign had sold mostly a discounted bundle, with COGS at €24,000 instead of €18,000. ROAS stays at 4.0. CM2 drops to €9,000, and contribution POAS falls to 0.9. The campaign now loses €1,000 a month while its ROAS looks identical.

Why is break-even POAS 1.0 when break-even ROAS is higher?

Break-even POAS sits at exactly 1.0 because the variable costs are already taken out of the numerator, so one euro of profit per euro of spend leaves nothing over and nothing short.

ROAS still contains those costs. To break even on ROAS, revenue must be high enough that the margin on it covers the spend. The formula, the same one our breakeven ROAS calculator uses, is:

  • Break-even ROAS = 1 ÷ CM2 %

In the first example above, CM2 is €15,000 on €40,000 of net sales, or 37.5 percent. Break-even ROAS is 1 ÷ 0.375, about 2.67. In the bundle version, CM2 is 22.5 percent and break-even ROAS jumps to about 4.44. That is why a single ROAS target across a catalogue misleads: every product mix has its own line. POAS keeps one line, 1.0, for all of them.

Break-even is not the goal, though. Your target POAS needs to cover fixed costs too. If overheads are €3,000 a month and you plan to spend €10,000 on ads, you need €13,000 of contribution, a target POAS of 1.3.

When does ROAS still matter?

ROAS remains useful wherever the platform's own optimisation and reporting work on revenue, which is the default setting in most ad accounts today.

  • Inside one platform. Within a single ad account, every campaign is attributed by the same rules. Ranking ad sets and creatives by ROAS is fair there, provided they sell a similar product mix.
  • As the signal the algorithm sees. Meta and Google bid on the conversion value you send them. If that value is revenue, the platform optimises for revenue, and in-platform ROAS is what it is trying to raise.
  • For quick checks. Every ad platform reports ROAS without any cost data. POAS needs your store and cost inputs to be current.

You can change the signal itself. Meta's pixel reference describes the Purchase event's value parameter as "the value of a user performing this event to the business", so the number you pass does not have to be revenue. Google's help centre on conversion values says target ROAS can maximise value "such as sales revenue or profit margins", and conversion value rules let you add to or multiply values by location, device or audience.

Passing profit as the conversion value is a real option, but treat it with care. You share margin information with the platform, every order needs an accurate cost at the moment it fires, and the platform's reported ROAS then becomes a profit ratio, which confuses anyone reading the account later. Many brands keep revenue as the platform value and calculate POAS outside the platform.

What are the common POAS mistakes?

Most POAS errors come from inconsistent inputs rather than wrong arithmetic, and the five below cover the bulk of them:

  • Using platform revenue. Platform-reported revenue double counts orders across channels and ignores refunds. Start from store net sales, as our MER vs ROAS guide explains.
  • One margin for every product. A store-wide margin hides products that lose money on every order. A per-SKU profit teardown shows where it leaks.
  • Forgetting returns. Refunds land weeks after the purchase. Measure POAS on a window long enough for most returns to arrive.
  • Mixing conventions. Gross profit POAS one month, contribution POAS the next, makes the trend meaningless.
  • Cutting prospecting on last-click POAS. Upper-funnel campaigns feed branded search and repeat orders. Judge the total on blended POAS first.

Where Wevion fits

Calculating POAS across platforms means joining store costs and ad spend from every account on the same dates, and that join is the part most spreadsheets let go stale.

Wevion connects Meta, Google, TikTok, Taboola, Snapchat and Outbrain ad accounts through each platform's official API, brings Shopify or WooCommerce orders next to that spend in one dashboard, and syncs data about every 15 minutes, so revenue, costs and spend for POAS sit in one place.

Wevion's Profitability Analytics, in beta, syncs cost per item from your store plus the shipping and fees you set once, then shows profit, margin and POAS, with margin per SKU. The cross-channel analytics view converts every account into one currency at each day's exchange rate. For WooCommerce stores, see our guide to WooCommerce ad profitability.

You can try it on your own ad accounts with a 14-day trial on the Pro plan. No card to start. We ask for one on day 7, or earlier if you use up the trial credits, and billing starts on day 14 only if you add it.

Key takeaways

  • ROAS divides revenue by ad spend; POAS divides profit by ad spend.
  • Define profit as net sales minus COGS, shipping, payment fees, packaging and returns: contribution POAS.
  • Break-even POAS is 1.0 for every product; break-even ROAS is 1 ÷ CM2 % and changes with the product mix.
  • Set a target POAS above 1.0 that also covers fixed costs.
  • Keep using ROAS to rank ads inside one platform, where the platform optimises on the value you send.
  • Start from store net sales and keep one POAS convention in every report.
Editorial note: This comparison is based on publicly available information, product documentation, and pricing pages verified as of the date shown above. Wevion is the publisher of this article. We aim to be factual and fair, but recommend verifying current pricing and features directly with each vendor before making a decision.

Frequently Asked Questions

The Ad Signal

Weekly insights for media buyers who refuse to guess. One email. Only signal.

Ready to Automate Your Ad Operations?

Start launching campaigns in bulk across every account. Try Wevion free for 14 days on the Pro plan. No card to start: we ask for one on day 7, and billing starts on day 14 only if you add it.