Recover Profit on Google Ads: Switch From ROAS to POAS
Wootrack Growth Blog
Recover Profit on Google Ads: Switch From ROAS to POAS
The ROAS Trap: Why a 500% Return Can Still Drain Your Bank Account
Here is the thing. You open Google Ads, see a 500% ROAS on your Shopping campaign, and feel good about it. Your agency sends a report with a green arrow. Everything looks fine.
It is not fine.
Take a WooCommerce store selling home accessories. Average order value of 80 euros. Google Ads reports 500% ROAS – so for every euro spent on ads, it returns 5 euros in revenue. Sounds like a winner. But strip out the real costs and the picture changes fast.
COGS on that order: 38 euros. Stripe payment fee at 1.4% plus 25 cents: roughly 1.37 euros. Shipping: 6 euros. VAT that cannot be reclaimed: 8 euros. Total costs before ad spend: 53.37 euros. Gross profit before ads: 26.63 euros. Now the store is spending 16 euros on ads to generate that 80-euro order – because 500% ROAS means 80 divided by 5. Net profit: 10.63 euros. A POAS of 166%.
That is survivable, barely. But here is where it gets dangerous. Google’s Smart Bidding does not know any of that. It sees a high-revenue product and bids aggressively on it. Meanwhile, another product with a 300% ROAS might have lower COGS, zero shipping cost, and a POAS of 240%. Google ignores it because the revenue number looks smaller.
ROAS is losing money for WooCommerce stores not because the metric is broken in isolation – but because Google Ads uses it to make bidding decisions. And those decisions are based on the wrong number.

Diagnose Before You Fix: Is Your Store Actually Bleeding?
Before switching anything, you need to know whether ROAS is actively misleading your bidding. Run this diagnostic on your top 10 products by ad spend over the last 30 days.
For each product, pull: revenue generated from ads, COGS as a percentage of sale price, your payment processor fee (Stripe is typically 1.4-2.9% plus a flat fee), average shipping cost per order, and VAT liability if you are selling to EU consumers.
Calculate gross profit per order. Then divide that number by the ad spend attributed to that product. Multiply by 100. That is your POAS for that product.
If POAS is below 100%, you are losing money on every sale that ad drives. If it is between 100% and 130%, you are technically profitable but not scaling material. Above 150% is where you want your budget concentrated.
Most stores doing this exercise for the first time find two or three products sitting below 100% POAS that are consuming 20-35% of total ad spend. That is not a small problem.
The Numbers That ROAS Consistently Ignores
Payment fees are the sneakiest one. Stripe at 1.4% plus 25 cents sounds trivial until you realize it compounds across hundreds of orders. On a 60-euro average order value, that is about 1.09 euros per transaction. Across 500 monthly orders, you are handing Stripe 545 euros that never appears in your ROAS calculation.
Shipping is often treated as a separate cost center, not an ad cost. But if a customer buys a 25-euro product because of a Google Shopping ad and you ship it for 7 euros, that shipping cost is directly tied to that ad-driven sale. It belongs in the profit calculation.
VAT is the one that surprises EU sellers most. If you are selling B2C across the EU, you are collecting and remitting VAT on every order. That portion of the order value was never yours. Including it in your ROAS denominator inflates the metric artificially.
The Fix: How to Switch Google Ads From ROAS to POAS Signals on WooCommerce
The mechanism is straightforward. Google Ads Smart Bidding optimizes for whatever conversion value you feed it. Right now, most WooCommerce stores send the order total as the conversion value. That is revenue. To switch to POAS bidding, you send profit instead.
The cleanest way to do this is via offline conversions. You calculate the real profit per order inside WooCommerce – after COGS, shipping, payment fees, and VAT – and then upload that profit value to Google Ads as the conversion value for that specific click. Google’s algorithm now has accurate profit data and will start bidding higher on clicks that historically lead to high-profit orders.
This is exactly what WootrackApp automates. It connects directly to your WooCommerce store, pulls all cost data per order, calculates true profit, and sends it to Google Ads as an offline conversion. You do not need to touch the Google Ads API or build any custom integration. The plugin handles the entire data pipeline.
Once the profit signals start flowing, Smart Bidding needs time to learn. Do not panic if performance looks flat for the first two weeks. The algorithm is recalibrating. By week four to six, you will typically see budget shifting away from high-revenue, low-margin products toward the actual profit drivers.
A/C/X Product Labeling: Stop Funding Losers Automatically
One of the most practical features in WootrackApp is the A/C/X labeling system. Every product in your WooCommerce catalog gets tagged based on its POAS performance: A for winners (above your target POAS), C for borderline products worth monitoring, and X for losers that are actively destroying profit.
These labels sync directly to your Google Shopping and Performance Max campaigns as custom labels. You can then set bid adjustments or budget rules based on the label. X products get suppressed or excluded. A products get more budget. This runs automatically – you are not manually reviewing 200 SKUs every week.
The per-product profit dashboard shows you exactly where each product sits. You can see POAS by product, by campaign, and by time period. It is the kind of visibility that makes the switch from ROAS to POAS feel concrete rather than theoretical.
Setting Your POAS Target: What Number Should You Aim For?
Remember the convention: 100% POAS means break-even. Every euro of ad spend returns exactly one euro of profit. That is not a business, that is a treadmill.
A realistic starting target for most WooCommerce stores is 130-150% POAS. That means for every euro you spend on ads, you generate 1.30 to 1.50 euros of real profit. If your current blended POAS is sitting at 110% because ROAS was masking the real numbers, moving to 140% POAS is not a small improvement – it is the difference between a store that survives and one that actually scales.
Set your POAS target in WootrackApp and the smart budget management layer will automatically scale spend on campaigns and products that beat the target, while pulling back on those that fall short.

Once we stopped optimizing for revenue and started sending real profit to Google, our ad spend dropped 18% and net profit went up 34% in the same quarter. ROAS was lying to us the whole time.
– WooCommerce store owner, home goods niche
Google Ads Profit Recovery Checklist for WooCommerce
- Pull your top 10 products by ad spend and manually calculate POAS for each using COGS, shipping, payment fees, and VAT
- Identify any products with POAS below 100% – these are actively losing money every time an ad drives a sale
- Stop sending order revenue as your Google Ads conversion value and switch to profit-based offline conversions
- Install WootrackApp to automate real profit calculation per order inside WooCommerce
- Let the plugin send profit values to Google Ads so Smart Bidding has accurate signals
- Set a POAS target of at least 130% and configure smart budget scaling to push spend toward A-labeled products
- Review the per-product profit dashboard weekly for the first 8 weeks while Smart Bidding recalibrates
- Suppress or exclude X-labeled products from campaigns to stop funding confirmed losers
- Check the WootrackApp mobile app daily during the transition period to catch any sudden POAS drops
- After 8 weeks, compare blended POAS before and after – document the profit recovered
Frequently asked questions
Will switching from ROAS to POAS cause my Google Ads revenue to drop?
Probably, yes – and that is the point. When Smart Bidding starts optimizing for profit, it will reduce spend on high-revenue, low-margin products. Revenue may dip 10-20% in the short term. But net profit typically increases because you are no longer paying to drive unprofitable sales. Focus on profit, not the revenue number your agency reports.
How long does it take for Google Smart Bidding to adapt to POAS signals?
Google’s algorithm needs roughly 30-50 conversions to exit the learning phase. For most WooCommerce stores, that means 4-8 weeks before bidding fully reflects the new profit signals. Do not make major campaign changes during this window. Let the data accumulate.
Does WootrackApp work with Performance Max campaigns as well as Shopping?
Yes. WootrackApp sends profit values via offline conversions, which feed into any campaign type that uses Smart Bidding – including Performance Max. The A/C/X product labels also sync to PMax campaigns via custom label rules, so the system works whether you are running standard Shopping, PMax, or both.
What if I do not know my exact COGS for every product?
Start with an estimate. Even a rough COGS figure – say, 40% of sale price across all products – is more accurate than sending revenue as your conversion value. WootrackApp lets you set COGS at the product level, category level, or as a global percentage. You can refine the numbers over time as you get better cost data.
Is POAS bidding only useful for stores with thin margins?
No. Even stores with healthy average margins benefit because margin varies significantly by product. A store with a 35% average margin might have individual products at 10% and others at 60%. ROAS treats them identically. POAS bidding shifts budget toward the 60% margin products automatically, which compounds into meaningful profit recovery over time.
How is WootrackApp different from just using a target ROAS strategy with a higher target?
Raising your target ROAS reduces volume but does not fix the core problem – the signal is still revenue, not profit. A product with 800% ROAS and 5% net margin will still get prioritized over a product with 400% ROAS and 45% net margin. POAS fixes the signal itself. WootrackApp sends profit as the conversion value, so Google is literally optimizing for the right number.