Most stores optimize advertising for ROAS — return on ad spend. But ROAS is based on revenue, not profit. A product with high revenue and low margin can look great while losing money. The answer is POAS. Here's how.
ROAS vs. POAS
- ROAS (Return On Ad Spend) = revenue from ads ÷ ad cost. A ROAS of 5 means every unit of currency spent on ads brought in 5 in revenue.
- POAS (Profit On Ad Spend) = profit from ads ÷ ad cost. It accounts for margin, so it tells you what you actually earned.
Why it matters: two products with the same ROAS, but one with a 50% margin and the other 10%, are worth completely different amounts to you. If the ad platform optimizes for ROAS, it pushes budget into low-margin products that bring you no profit.
Why most stores run on ROAS
Because it's easy — ad platforms know revenue from the conversion value. They don't know your margin. To optimize for POAS, you have to get profit or margin per product into your measurement — and that's technically harder.
How to do POAS in practice
- Send margin, not just price. Instead of (or alongside) revenue, pass profit after cost of goods into the conversion value.
- Use server-side as the single place to compute it. In the server-side GTM container you can recalculate the conversion value into profit before sending it to Google Ads and Meta.
- Unify the data. POAS needs reliable conversions — exactly what server-side tracking provides. Inaccurate data turns POAS into a pretty number with no meaning.
POAS and the data feed
For advanced scenarios you can supply profit data to ad platforms via a data feed. DataNostro has a POAS Data Feed power-up for this — details in the docs: POAS Data Feed.
When POAS makes sense
- You have products with significantly different margins.
- You spend enough on advertising for the difference to show.
- You know (or can compute) margin at the product or order level.
Summary
ROAS is a good start, but revenue isn't profit. POAS gives advertising a target that matches your real business — to earn, not just to sell. The foundation is accurate measurement: without it you can't build POAS. Start with the complete guide to server-side tracking.