ROAS vs POAS

ROAS divides revenue by ad spend. POAS divides profit by ad spend. A campaign can look great on ROAS and still lose money.

6 min read · Updated October 26, 2026

ROASRevenue ÷ ad spend
VS
POASProfit ÷ ad spend
In this guide
The short answer
  • ROAS = revenue ÷ ad spend. POAS = profit ÷ ad spend. POAS counts what the product cost you, ROAS does not.
  • Two products with the same ROAS can have opposite results. A 3.0 ROAS on a 15% margin item loses money.
  • To optimise on profit, ad platforms need a profit value on each conversion. Your server can calculate it and send it.

Most ad platforms are built to maximise revenue. That is fine when every product has the same margin, and a trap when they do not. This page explains the two ratios, shows a worked example, gives you a break-even formula and describes how profit data gets into Google and Meta. A longer how-to is in profit on ad spend.

The two formulas

MetricFormulaWhat it tells you
ROASRevenue from ads ÷ ad spendHow many dollars of sales each ad dollar brought in
POASProfit from ads ÷ ad spendHow many dollars of profit each ad dollar brought in
Break-even ROAS1 ÷ gross marginThe ROAS at which ads pay for themselves
Break-even POAS1.0 (when profit is gross profit)Above 1.0 the ads make money after product cost

"Profit" here means gross profit: price minus product cost, shipping you pay, payment fees and discounts. You can go further and subtract returns and overheads, but the more you add the harder the number is to calculate for every order.

Data in, clean out

Raw events in. Clean events out.

Open Tracked collects each event on your own domain, removes the noise and sends what is left to Meta, Google Ads, TikTok.

A worked example

Two products sell for $100. Both campaigns spend $1,000 and bring $3,000 of revenue, so both show a ROAS of 3.0.

Product AProduct B
Price$100$100
Cost and fees$40$85
Gross margin60%15%
Orders3030
Ad spend$1,000$1,000
Revenue$3,000$3,000
ROAS3.03.0
Gross profit$1,800$450
Profit after ad spend+$800-$550
POAS1.80.45

On revenue the two look identical. On profit, Product A makes $800 and Product B loses $550. A bidding system that sees only revenue will happily send more budget to B.

Finding your break-even ROAS

Break-even ROAS is 1 divided by your margin. A store with a 40% gross margin needs a ROAS above 2.5 to cover product costs. At a 25% margin it needs 4.0. Use your own margin per product if the range is wide, because the average hides the problem.

2.5break-even ROAS at 40% margin
4.0break-even ROAS at 25% margin
10break-even ROAS at 10% margin
The short version

3 things to remember

Scroll and the points stack up.

01

ROAS = revenue ÷ ad spend. POAS = profit ÷ ad spend. POAS counts what the product cost you, ROAS does not.

02

Two products with the same ROAS can have opposite results. A 3.0 ROAS on a 15% margin item loses money.

03

To optimise on profit, ad platforms need a profit value on each conversion. Your server can calculate it and send it.

Why platforms need profit, not only revenue

Smart bidding in Google Ads and delivery optimisation in Meta learn from the conversion value you send. If the value is revenue, they chase revenue. If the value is profit, they chase profit. You can change this by sending profit as the conversion value for each order, so a high-margin product counts for more than a low-margin one. See Meta profit-based campaign optimisation.

How Open Tracked sends profit

The POAS Data Feed power-up (Pro plan and up) works this out on your tagging server. You enter the margin of each product, or a default margin, under Products & costs. For every purchase the server computes the profit and sends it to GA4 and, as the conversion value, to Google Ads. You import the GTM files from the Setup Wizard, then check a test purchase in Preview: the GA4 tag carries a profit value and the Google Ads conversion uses it as its value. The Open Tracked analytics product also shows spend, revenue, ROAS and profit side by side, so you can see the gap between the two ratios on your own data.

When ROAS is still the right number

  • Early tests, when you want to compare creatives quickly and margins are similar.
  • Platform dashboards, which only know revenue.
  • Stores with one product or one margin band, where ROAS and POAS move together.

Mistakes to avoid

  • Using price instead of margin. Revenue is not profit. Enter real product costs.
  • Forgetting shipping and fees. A 30% product margin can be 20% after payment fees and free shipping.
  • Changing the value mid-campaign. Switching the conversion value resets part of the learning. Make the change deliberately and watch two weeks.
  • Ignoring returns. If a category has many returns, reflect that in the margin you enter.
Profit-based bidding needs enough conversions to learn from. If you have only a few orders a week, use profit data for reporting and decisions first, and move bidding later.

A simple way to start with POAS

1

Export your product costs

Get cost of goods, shipping you pay and payment fees per product from your shop.

2

Work out the margin

Margin = (price minus cost, shipping and fees) ÷ price. Round to a whole percent.

3

Group products if there are hundreds

Use a default margin for the bulk and enter exceptions for products that sell most.

4

Compare ROAS and POAS by campaign

Sort campaigns by POAS. The campaign at the top of your ROAS list is not always at the top of this one.

5

Move budget slowly

Shift 10 to 20 percent of budget towards campaigns with higher POAS and watch for two weeks.

Questions to ask about your own numbers

0 of 5 done
Trusted

Brands that grow on cleaner data

Stores and agencies use Open Tracked to see which ads earn the sale.

Frequently asked questions

Is POAS better than ROAS?

It is closer to what you care about, because it counts product cost. ROAS is simpler and is what ad platforms show by default. Use POAS for decisions and, where possible, for bidding.

How do I calculate POAS?

Divide gross profit from ad-driven orders by the ad spend that drove them. A POAS above 1.0 means the ads covered the product cost.

What is a good POAS?

Above 1.0 means ads pay for the product cost. Most stores want a margin of safety above that to cover overheads and growth. Your own target depends on your costs.

Can Google Ads optimise for profit?

Yes, if you send profit as the conversion value for each conversion. Smart bidding then optimises the value it receives.

Does Open Tracked need my product costs?

For the POAS Data Feed, yes. You enter product margins or a default margin so the server can calculate profit per order.

Do I need spreadsheets to read my results?

No. Once tracking is live, the Open Tracked analytics shows spend, revenue, ROAS and profit, and you can ask Ari, the built-in AI assistant, questions about your own numbers in plain words. Ari's allowance depends on your analytics plan.

Is Open Tracked different from Open Track or Open Space Track?

No. Open Tracked is the official name of our server-side tracking platform, and the website is opentracked.io. Many people search for it as Open Track, OpenTrack or Open Space Track. All of them lead to the same product: server-side Google Tag Manager hosting, first-party analytics and a CRM pipeline.

Fix your tracking at the source

Open Tracked hosts your server-side Tag Manager, keeps first-party cookies alive and shows what each ad is really worth.

Open Tracked
Written by

The Open Tracked team

We build Open Tracked: server-side tracking hosting, analytics and the tools around them, for stores that spend on ads. Questions about this guide, or an idea for the next one?

Write to us Read the docs

Was this article helpful?

Comments

Loading comments...

Turn better tracking into better marketing performance

Start free