What ROAS Actually Measures
ROAS (Return on Ad Spend) is calculated as:
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.99 | 100% |
| COGS | −$14.00 | 28% |
| Shipping | −$5.50 | 11% |
| Payment fee (Stripe) | −$1.75 | 3.5% |
| Attributed ad spend | −$18.00 | 36% |
| Net Profit | +$10.74 | 21.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:
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:
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 |
|---|---|---|
| Formula | Revenue ÷ Ad Spend | Net Profit ÷ Ad Spend |
| Includes COGS? | No | Yes |
| Includes shipping? | No | Yes |
| Includes payment fees? | No | Yes |
| Shows real profitability? | No | Yes |
| Available in ad platforms? | Yes | Requires plugin |
| Optimization target | Revenue growth | Profit 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.