WooTrack WooTrack Built for WooCommerce

How to Calculate POAS for Your WooCommerce Store

Wootrack Growth Blog

How to Calculate POAS for Your WooCommerce Store

400%ROAS that still loses money after real costs are subtracted
100%POAS break-even point – every euro in ad spend returns exactly one euro in profit
150%+Healthy POAS benchmark – meaning €1.50 profit returned per €1 spent on ads
~30%Average true margin lost to COGS, shipping, payment fees, and VAT combined

Why Your ROAS Number Is Lying to You

Here is the thing most WooCommerce store owners discover too late. A campaign showing 400% ROAS looks healthy on paper. Google Ads is happy. Your agency is happy. But when you actually run the numbers – subtracting the cost of goods, the shipping label, the Stripe fee, and VAT if you are selling in the EU – that same campaign is operating at a loss.

ROAS measures revenue divided by ad spend. Nothing more. It has no idea what your product costs to source, pack, and ship. It does not know you are paying 2.9% to PayPal or that 20% of your sale price goes straight to the tax authority. Google’s Smart Bidding algorithm is faithfully optimizing toward a number that does not reflect your actual financial reality.

POAS – Profit on Ad Spend – fixes this. Instead of dividing revenue by ad spend, you divide true profit by ad spend. The formula sounds simple. Getting the inputs right is where most stores fall short.

The POAS Formula, Step by Step

POAS = (Revenue – COGS – Shipping Cost – Payment Fees – VAT) / Ad Spend x 100

Let us run a real example. You sell a product for €100. Your COGS is €35. Shipping costs €8. Stripe takes €3.20 (2.9% + €0.30). VAT in Germany is €16.81 (20% of the ex-VAT price). Your true profit on that order is €36.99. If you spent €25 in Google Ads to get that sale, your POAS is 148% – just barely profitable.

Now compare that to the ROAS view: €100 revenue divided by €25 ad spend = 400% ROAS. It looks like a winner. It is barely breaking even. That gap between what ROAS tells you and what POAS tells you is exactly where stores bleed money at scale.

The break-even point for POAS is always 100%. Below that, you are paying more in ads and costs than you are earning in profit. At 150%, you are generating €1.50 in profit for every €1 of ad spend. That is a reasonable floor for a healthy ecommerce campaign. At 200%+, you are scaling territory.

POAS formula calculation breakdown showing revenue minus costs equals profit
Breaking down the POAS formula: every cost layer that ROAS ignores

The Cost Inputs That Actually Matter for POAS Calculation

Getting POAS right means getting your cost inputs right. Most stores undercount, which means their POAS looks better than it actually is.

COGS is the obvious one – what you paid for the product. But shipping is where things get messy. Are you using actual carrier invoices or a flat estimate? If you are using a flat €5 estimate but your average shipping cost is €9.50, your POAS is inflated by nearly 5 points on a €100 order.

Payment fees vary by gateway and by country. Stripe, PayPal, Klarna, and Mollie all charge differently. Klarna in particular can run 3-4% plus a fixed fee, which hits margins hard on lower-priced products. If you are not pulling the actual fee per transaction, you are guessing.

VAT is the one that surprises EU store owners most. If you are VAT-registered and selling B2C, the VAT portion of your revenue is not yours – it belongs to the tax authority. A €100 sale in Germany includes €16.81 in VAT. Your real revenue is €83.19. Running POAS calculations on the gross VAT-inclusive revenue overstates profit significantly.

POAS Benchmarks by Store Type

There is no single universal POAS target. It depends on your margin structure. But here are practical benchmarks we see across WooCommerce stores.

Stores with 40-60% gross margins (fashion, accessories, supplements) should be targeting 160-220% POAS. Stores with 20-35% margins (electronics, white-label goods, books) are often working with a 120-150% target and need to be more aggressive about cutting underperformers. Stores with high average order values and low return rates can sometimes sustain 130% POAS profitably because the absolute profit per order is high even at a lower ratio.

The key rule: if your POAS drops below 110% consistently, you are either breaking even or losing money when you account for overhead costs that are not in the formula. Below 100% is an active loss on ad spend. No exceptions.

ROAS vs POAS: same campaign, very different conclusions

Metric ROAS View POAS View
Revenue €100 €100
COGS Not counted -€35
Shipping Not counted -€8
Payment fees Not counted -€3.20
VAT (Germany) Not counted -€16.81
True profit €100 (assumed) €36.99
Ad spend €25 €25
Metric result 400% ROAS 148% POAS
Decision signal Scale this campaign Monitor carefully – near break-even

How to Start Feeding Real Profit Into Google Ads

  1. 1
    Calculate true profit per order in WooCommerce

    You need per-order profit, not blended store averages. That means pulling COGS per SKU, actual shipping costs from your carrier integration, the exact payment fee from your gateway, and stripping VAT from revenue for EU sales. Manual spreadsheets work at low volume but break fast as SKU count grows.

  2. 2
    Map profit values to Google Ads conversion events

    Google’s Smart Bidding can optimize toward any conversion value you send it. Instead of sending revenue as the conversion value – which is the default WooCommerce Google Ads setup – you send profit. This tells Google’s algorithm to chase profitable orders, not just high-revenue ones.

  3. 3
    Use offline conversions to pass profit values

    The cleanest method is offline conversion imports. Your WooCommerce store calculates profit after the order is placed (once shipping and payment data is confirmed), then sends that value back to Google Ads via the offline conversions API. This is more accurate than real-time conversion tags because you have final cost data.

  4. 4
    Set your target POAS in Smart Bidding

    Once Google is receiving profit values, you switch your campaign bidding to Target ROAS – but now ‘ROAS’ in Google’s terms is actually POAS because the conversion value is profit, not revenue. Set your target based on your benchmark: 150% is a reasonable starting point for most stores. Give the algorithm 2-3 weeks of data before adjusting.

  5. 5
    Label products by POAS performance and adjust bids accordingly

    Not all products perform equally. Winners (POAS 160%+) deserve more budget. Borderline products (100-150% POAS) need margin improvement or tighter bids. Losers (below 100%) should be excluded from campaigns or paused until costs are addressed. WootrackApp handles this automatically with its A/C/X product labeling system, syncing labels directly to your Shopping and Performance Max campaigns.

WooCommerce profit dashboard showing per-product POAS metrics and Google Ads performance
Per-product POAS dashboard – identifying winners, borderline, and losing products at a glance

Skip the manual setup entirely WootrackApp connects to your WooCommerce store, pulls COGS, shipping, payment fees, and VAT automatically, calculates true profit per order, and sends it to Google Ads as an offline conversion – so Smart Bidding starts optimizing for POAS without you building any of this infrastructure manually.

POAS Calculation Readiness Checklist

  • COGS entered per SKU in WooCommerce (not blended averages)
  • Actual shipping costs pulled from carrier integration or invoices – not flat estimates
  • Payment gateway fees configured per processor (Stripe, PayPal, Klarna, Mollie)
  • VAT handling confirmed – profit calculated on ex-VAT revenue for EU B2C sales
  • Google Ads conversion action set to receive profit values instead of order revenue
  • Offline conversion import or API connection established between WooCommerce and Google Ads
  • Target POAS set in Smart Bidding campaigns (start at 150% and adjust based on 30-day data)
  • Product-level POAS tracking active so you can identify and label winners vs losers

Frequently asked questions

What is a good POAS benchmark for a WooCommerce store?

100% POAS means you are breaking even – every euro in ad spend returns exactly one euro in profit. A healthy target for most WooCommerce stores is 150% or above, meaning €1.50 profit per €1 spent. Stores with thin margins (20-30% gross) often target 120-140%. Stores with strong margins (50%+) can push for 200%+. Below 110% consistently means you are likely losing money once overhead is factored in.

Can I calculate POAS manually in a spreadsheet?

Yes, and it is a good exercise to do once so you understand the formula. But manual POAS calculation breaks down quickly. Product costs change, shipping rates vary by order, payment fees differ by gateway and transaction size, and VAT rules shift by country. At more than 50 orders per week, you need automated per-order profit calculation – which is exactly what WootrackApp handles.

How is POAS different from profit margin?

Profit margin measures profit as a percentage of revenue – it does not account for ad spend at all. POAS specifically measures the return on your advertising investment in profit terms. You can have a healthy 40% profit margin but terrible POAS if your ad costs are too high. POAS tells you whether your ads are profitable, not just whether your products are.

Does Google Ads support POAS bidding natively?

Not by name. But Google’s Target ROAS bidding optimizes toward whatever conversion value you send it. If you send profit as the conversion value instead of revenue, the algorithm effectively optimizes for POAS. The mechanism is offline conversion imports with profit values – which is what WootrackApp automates for WooCommerce stores.

What happens to my campaigns when I switch from ROAS to POAS optimization?

Expect a learning period of 2-4 weeks. Google’s algorithm will recalibrate as it receives profit-based conversion values instead of revenue values. Some campaigns that looked strong on ROAS will get less budget because their true profit is lower. Others will scale up. Volume may dip temporarily. But after the learning period, you are spending money on orders that actually make you money – which is the whole point.

Do I need to include VAT in my POAS calculation?

If you are a VAT-registered business selling B2C in the EU, yes. The VAT portion of your revenue is not profit – it passes through to the tax authority. Running POAS on gross VAT-inclusive revenue inflates your apparent profit. For a €100 sale in Germany, your real revenue is €83.19 after 20% VAT. Always calculate POAS on ex-VAT revenue if you are VAT-registered.

🎁 Wait! Free 14-Day Trial

No credit card required

Track real profit per order in Google Ads
Optimize campaigns for POAS, not ROAS
Full access to all features

🔒 No spam. Unsubscribe anytime.