NPnettoprofitPROFIT INTELLIGENCE
โ† Blog
StrategyApril 2026ยท8 min read

ROAS vs POAS: Why Return on Ad Spend Is Lying to You

What ROAS Actually Measures

ROAS (Return on Ad Spend) is calculated as:

ROAS = Revenue รท Ad Spend

If you spend $1,000 on ads and generate $3,200 in revenue, your ROAS is 3.2x. That sounds great. The problem? Revenue isn't profit. ROAS completely ignores every cost that stands between revenue and actual money in your pocket.

What ROAS doesn't account for:

  • Cost of Goods Sold (COGS) โ€” what you paid to make or buy the product
  • Shipping costs โ€” fulfillment, packaging, returns
  • Payment gateway fees โ€” Stripe takes 2.9% + $0.30 per transaction
  • Platform fees โ€” WooCommerce extensions, hosting, subscriptions
  • Custom expenses โ€” warehouse, staff, software

In a typical WooCommerce store, these costs consume 50โ€“80% of revenue before a single dollar of profit is recognized.

The ROAS Illusion: A Real Example

Let's take a store selling a skincare product at $49.99:

Line Item Amount % of Revenue
Revenue (1 order)$49.99100%
COGSโˆ’$14.0028%
Shippingโˆ’$5.5011%
Payment fee (Stripe)โˆ’$1.753.5%
Attributed ad spendโˆ’$18.0036%
Net Profit+$10.7421.5%

ROAS on this order: 2.78x (looks fine). POAS on this order: 0.60x (for every $1 spent on ads, you get $0.60 of profit back โ€” you're barely breaking even after all costs).

Now imagine you're running a campaign where the CPA is $25 instead of $18. Your ROAS is still respectable at 2.0x. But your POAS drops to -0.26x โ€” you're losing money on every sale.

What Is POAS?

POAS (Profit on Ad Spend) measures what you actually care about:

POAS = Net Profit รท Ad Spend

Net Profit = Revenue โˆ’ COGS โˆ’ Shipping โˆ’ Payment Fees โˆ’ Ad Spend โˆ’ Expenses

A POAS of 1.0 means you earn exactly $1 in profit for every $1 you spend on ads โ€” a breakeven point. A POAS above 1.0 means ads are genuinely profitable. Below 0 means ads are burning through your margins.

๐ŸŽฏ The POAS Target Framework

  • POAS โ‰ฅ 1.5 โ€” Highly profitable. Consider scaling budget.
  • POAS 1.0โ€“1.5 โ€” Profitable. Monitor and optimize.
  • POAS 0.5โ€“1.0 โ€” Breaking even. Investigate costs.
  • POAS 0โ€“0.5 โ€” Losing money. Pause and review.
  • POAS < 0 โ€” Critical. Kill this ad immediately.

Why Most WooCommerce Stores Don't Track POAS

Calculating POAS manually is hard. It requires:

  • A COGS database for every product and variant
  • Real shipping cost per order (not estimated)
  • Gateway fee calculation per transaction
  • Attribution of ad spend to individual orders via UTM parameters and click IDs
  • Custom expense allocation across orders

Google Ads and Meta Ads dashboards don't have access to your COGS. They can only show revenue. So they optimize for ROAS โ€” even if that means running campaigns that destroy your margins.

How to Switch to POAS Optimization

Step 1: Calculate your break-even ROAS

Before you can interpret ROAS correctly, you need to know the ROAS where you break even on ad spend. Formula:

Break-even ROAS = 1 รท (1 โˆ’ Total Cost % excluding ads)

If your COGS + shipping + fees = 45% of revenue, your break-even ROAS is 1 รท 0.55 = 1.82x. Any campaign below 1.82x ROAS is unprofitable at the ad level โ€” regardless of what your dashboard shows.

Step 2: Set up COGS tracking in WooCommerce

Every product needs a cost assigned. This can be done via the WooCommerce product edit screen or bulk imported via CSV. Without accurate COGS, no profit calculation is meaningful.

Step 3: Connect your ad platforms

Sync Google Ads, Meta Ads, and TikTok Ads spend data automatically. Map campaigns to orders via UTM parameters (utm_campaign, utm_source, gclid, fbclid).

Step 4: Monitor at the ad level

Campaign-level POAS can hide individual ads that are losing money. An ad set might show POAS 1.2x overall, but have one creative at -0.8x dragging down three profitable ones. Kill the loser, scale the winners.

ROAS vs POAS: Summary

Dimension ROAS POAS
FormulaRevenue รท Ad SpendNet Profit รท Ad Spend
Includes COGS?NoYes
Includes shipping?NoYes
Includes payment fees?NoYes
Shows real profitability?NoYes
Available in ad platforms?YesRequires plugin
Optimization targetRevenue growthProfit growth

Conclusion

ROAS is not a bad metric โ€” it's simply incomplete. Used in isolation, it leads to decisions that grow revenue while shrinking profit. POAS gives you the full picture: after every cost is accounted for, is this ad making money?

The shift from ROAS to POAS is the single most impactful change a WooCommerce store owner can make in their ad management. It turns ad spend from a guessing game into a quantifiable, optimizable lever for actual profitability.