In this guide
- 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
| Metric | Formula | What it tells you |
|---|---|---|
| ROAS | Revenue from ads ÷ ad spend | How many dollars of sales each ad dollar brought in |
| POAS | Profit from ads ÷ ad spend | How many dollars of profit each ad dollar brought in |
| Break-even ROAS | 1 ÷ gross margin | The ROAS at which ads pay for themselves |
| Break-even POAS | 1.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.
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 A | Product B | |
|---|---|---|
| Price | $100 | $100 |
| Cost and fees | $40 | $85 |
| Gross margin | 60% | 15% |
| Orders | 30 | 30 |
| Ad spend | $1,000 | $1,000 |
| Revenue | $3,000 | $3,000 |
| ROAS | 3.0 | 3.0 |
| Gross profit | $1,800 | $450 |
| Profit after ad spend | +$800 | -$550 |
| POAS | 1.8 | 0.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.
3 things to remember
Scroll and the points stack up.
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.

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.
A simple way to start with POAS
Export your product costs
Get cost of goods, shipping you pay and payment fees per product from your shop.
Work out the margin
Margin = (price minus cost, shipping and fees) ÷ price. Round to a whole percent.
Group products if there are hundreds
Use a default margin for the bulk and enter exceptions for products that sell most.
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.
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
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.
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?
Comments
Loading comments...










