ROAS is the default way most advertisers measure Shopping campaign performance. Spend $1, get $5 back in revenue — that's a 500% ROAS, and it looks great in any report. But revenue isn't profit. A campaign that generates $50,000 in revenue on $10,000 in ad spend can still lose money if the products it sells have thin margins.
POAS (Profit on Ad Spend) fixes this by measuring what actually stays in your pocket after costs. Same concept as ROAS, but with gross profit instead of revenue. The difference looks small on paper. In practice, it changes which products you scale and which you cut, especially in catalogs where margins vary widely.
This guide covers the POAS formula, walks through a real calculation, and shows how to set it up in Google Ads.
What Is POAS?
POAS stands for Profit on Ad Spend. Where ROAS divides revenue by ad spend, POAS divides gross profit by ad spend. The formula:
Formula
POAS = Gross Profit ÷ Ad Spend
Gross profit means revenue minus the variable costs of fulfilling those orders: cost of goods sold (COGS), shipping, payment processing fees, and returns. It does not include fixed overhead like rent or salaries, which exist whether you run ads or not.
The breakeven point for POAS is 1.0. At that level, your gross profit exactly covers your ad spend. You're not losing money, but you're not making any either. Above 1.0 means each ad dollar generates more profit than it costs. Below 1.0 means you're paying more in ads than you earn in gross profit.
Compare that to ROAS, where breakeven depends entirely on your margins. A product with 20% margins needs a 5x ROAS just to break even. A product with 60% margins breaks even at 1.67x ROAS. POAS removes that ambiguity: 1.0 always means breakeven, regardless of what you sell. For a deeper look at how ROAS targets shift with margins, see our ROAS guide.
POAS vs ROAS: Why It Matters
The gap between ROAS and POAS shows up most clearly when products have different margins. Consider two products that both spend the same amount on ads:
This isn't a contrived example. In catalogs with hundreds or thousands of SKUs, margin variance is the rule, not the exception. Electronics often carry 8-15% margins. Accessories and consumables can run 50-70%. When you optimize purely on ROAS, you end up pouring budget into the high-revenue, low-margin products while starving the items that actually generate profit.
The problem compounds with Smart Bidding. Target ROAS tells Google to maximize revenue per ad dollar. Google's algorithm doesn't know your margins. It treats a $100 sale the same whether you keep $60 or $8 of it. Feed it revenue-based conversion values, and it will happily scale your worst-margin products because they hit the ROAS target.
When ROAS Lies
A 500% ROAS on a product with 15% margin means you spent $1 to earn $0.75 in profit. That's a net loss. Meanwhile, a "disappointing" 200% ROAS on a 60% margin product means $1 in spend generated $1.20 in profit. ROAS can rank losers as winners when margins aren't uniform.
Side-by-side summary
| ROAS | POAS | |
|---|---|---|
| Formula | Revenue / Ad Spend | Gross Profit / Ad Spend |
| Breakeven | Depends on margin | Always 1.0 |
| Best for | Uniform-margin catalogs | Variable-margin catalogs |
| Data needed | Revenue only | Revenue + cost data per product |
| Smart Bidding | Optimizes for revenue | Optimizes for profit |
How to Calculate POAS
The math is straightforward. The hard part is getting accurate cost data for each product. Here's a step-by-step worked example.
What to include in costs
- Cost of goods sold (COGS): the wholesale or manufacturing cost of the product. If you sell through Merchant Center, you can include the
cost_of_goods_soldattribute in your product feed - Shipping costs: what you pay to ship the order, not what you charge the customer (unless you offer free shipping, in which case the full cost is yours)
- Payment processing fees: typically 2-3% of transaction value for credit cards and payment providers
- Returns and refunds: apply your historical return rate as a percentage deduction
- Marketplace commissions: if selling through third-party channels that take a cut
What to exclude
- Fixed overhead like rent, salaries, insurance, software subscriptions. These don't change based on ad-driven sales volume
- Ad spend itself since it's the denominator in the formula, not part of the cost calculation
- Customer acquisition costs beyond ads like affiliate commissions or influencer payments. Keep POAS focused on the ad spend channel
Accuracy matters more than precision. If your average COGS is roughly 45% of revenue across your catalog, using that average gives you a useful POAS even if individual product margins vary by a few percentage points. Perfect per-SKU cost data is ideal but not required to start.
Implementing POAS in Google Ads
There are two ways to use POAS in practice, depending on how much you want it to influence bidding.
Option A: POAS as a reporting metric
The simplest approach. Keep your existing conversion tracking (revenue-based), and calculate POAS outside of Google Ads using exported data plus your cost spreadsheet. You use POAS to evaluate campaigns and make manual bid or budget adjustments, but Google's bidding algorithm still optimizes for revenue.
This works well as a first step. You can identify which products are profitable and which aren't, then adjust low-performing products accordingly. It doesn't require any changes to your conversion tracking setup.
Option B: POAS as a bidding signal
The more powerful approach. Instead of sending revenue as the conversion value, you send gross profit. Google's Smart Bidding then optimizes for profit automatically.
To do this, you modify your conversion tracking tag (or server-side tracking) to report gross profit instead of revenue at checkout. If a customer buys a $100 product with $40 in costs, you send $60 as the conversion value rather than $100. Your "Target ROAS" setting now effectively becomes a Target POAS.
Implementation options:
- Google Tag Manager: use a custom JavaScript variable to calculate profit at checkout based on cart contents and a COGS lookup table
- Server-side tracking: calculate profit in your backend and pass it through the Measurement Protocol or a server-side GTM container
- Third-party tools: platforms like ProfitMetrics and Channable handle profit-based conversion tracking and plug directly into Google Ads
Transition tip
When you switch from revenue to profit as the conversion value, your reported "ROAS" in Google Ads will drop significantly because the values are now smaller. This is expected. A 150% "ROAS" with profit-based values means a 1.5x POAS, which is healthy. Adjust your targets accordingly and brief anyone who monitors the account so the lower numbers don't cause alarm.
Getting started with profit data
You don't need per-SKU margin data on day one. A phased approach works well:
- Start with category-level averages. If electronics average 12% margin and accessories average 55%, apply those blended rates
- Refine to brand or product-type level. As you gather better cost data, narrow the averages
- Move to SKU-level COGS. This is the gold standard, typically pulled from your inventory or ERP system
Even rough category-level margins produce a more accurate optimization signal than pure revenue. The gap between a 12% and 55% margin is large enough that approximate numbers still steer bidding in the right direction. For tips on organizing products by margin, see the analytics overview.
When POAS Doesn't Help
POAS isn't always worth the extra work.
Uniform margins
If every product in your catalog has roughly the same margin, say 35-40% across the board, ROAS and POAS will rank products the same way. The absolute numbers will differ, but the ordering won't change. In that case, ROAS is simpler and just as accurate for optimization.
Inaccurate cost data
POAS is only as good as the cost data behind it. If your COGS figures are outdated or incomplete, you can end up making worse decisions than you would with plain ROAS. A product that looks like a 2.0x POAS winner might actually be a 0.8x loser if the cost data is wrong. Before building your bidding strategy around POAS, make sure your cost data is reasonably current.
Brand-building campaigns
If you're running Shopping campaigns to build brand awareness (say, launching a new product line), POAS may penalize exactly the products you want to scale. In these cases, set separate campaign goals and evaluate POAS alongside customer lifetime value rather than as the sole metric.
For most multi-brand ecommerce advertisers with varying margins, though, POAS is worth the setup. Even tracking it as a reporting metric (Option A) shows you what's actually profitable versus what just generates revenue. Pair it with wasted spend analysis and regular reporting for the full picture.
Frequently Asked Questions
What is a good POAS for Google Shopping?
Any POAS above 1.0 means your ads generate more gross profit than they cost. A POAS of 1.5 or higher is generally healthy, meaning $1.50 in profit per $1 of ad spend. Brands with high customer lifetime value may accept lower POAS on first purchases if repeat purchases are likely.
Can I use POAS as a bidding target in Google Ads?
Yes. Send gross profit as the conversion value instead of revenue, and Target ROAS bidding effectively becomes Target POAS. Google optimizes for whatever value you report, so a 150% target with profit-based values means 1.5x POAS.
How do I get COGS data into Google Ads?
Two approaches: include the cost_of_goods_sold attribute in your Merchant Center product feed for margin reporting, or calculate profit server-side and send it as the conversion value through your tracking tag. Most advertisers use cart data or their order management system to compute profit at checkout.
Should I switch from ROAS to POAS tracking?
It depends on margin variance. If products have similar margins (within 5-10 points), the switch adds complexity without much gain. If margins range from 10% to 60%, POAS gives a much more accurate picture and prevents Smart Bidding from over-investing in high-revenue, low-profit products.
What costs should I include when calculating POAS?
Include variable costs: COGS, shipping, payment processing fees, marketplace commissions, and returns. Exclude fixed overhead (rent, salaries, software) and ad spend itself — ad spend is the denominator, not part of the cost calculation.
Conclusion
ROAS tells you how much revenue your ads generate. POAS tells you how much profit. For catalogs where margins vary across products, that distinction changes which products you scale, which you cut, and how you set bidding targets.
Key takeaways:
- POAS = Gross Profit / Ad Spend. Breakeven is always 1.0, regardless of product margins
- ROAS can mislead when high-revenue products have thin margins. A 5x ROAS on a 15% margin product is actually unprofitable
- Start with reporting. Calculate POAS offline before committing to profit-based bidding
- Send profit as conversion value so Smart Bidding optimizes toward actual profitability, not just revenue
- Skip POAS if margins are uniform. The extra complexity doesn't add value when every product has similar margins
Even if you never switch your bidding to profit-based values, knowing your POAS across product segments tells you which parts of your catalog actually make money and which just look good in reports. See the metrics glossary and optimization guide for more on measurement.