ROAS Profit Trap: Why Google Ads Lies to WooCommerce Stores
Wootrack Growth Blog
ROAS Profit Trap: Why Google Ads Lies to WooCommerce Stores
Key takeaways
- A 500% ROAS campaign can still lose money once COGS, shipping, payment fees, and VAT are subtracted – revenue is not profit.
- Google Ads Smart Bidding optimizes for whatever conversion value you send it. Send revenue, it chases revenue. Send profit, it chases profit.
- POAS (Profit on Ad Spend) at 100% means break-even. Anything below that and you are paying Google to lose money.
- WooCommerce stores can fix this by sending true profit values to Google Ads as offline conversions – no custom dev required.
- Switching from ROAS to POAS bidding has pushed stores from borderline break-even to 150%+ POAS within weeks.
The ROAS Number That Looks Great and Costs You Everything
Here is the thing. You log into Google Ads, see a 500% ROAS on your Shopping campaign, and feel good about it. Five dollars of revenue for every dollar spent. That sounds like a healthy business.
But ROAS does not know what your product costs to source. It does not know you are paying 2.9% to Stripe on every transaction. It does not know that you offer free shipping and that shipping is eating 8% of your order value. And if you are an EU store, it definitely does not know about VAT.
So when Google reports 500% ROAS on a product you sell for €100, it is celebrating €500 in revenue from €100 in ad spend. What it is not telling you is that after a €55 COGS, €8 shipping, €2.90 payment fee, and €16.67 VAT (non-recoverable on the consumer side), your actual margin on that €100 sale is roughly €17. You spent €100 on ads to make €17 in gross profit. That is a POAS of 17% – catastrophically below break-even.
This is not an edge case. We have seen this pattern repeatedly across WooCommerce stores that come to us confused about why their margins keep shrinking despite strong ROAS numbers. The campaigns look like winners. The business is bleeding.
Why Google Ads Cannot See Your Real Costs
Google Ads gets its data from the conversion tag on your thank-you page. By default, WooCommerce fires that tag with the order total – the full revenue figure. Google has no idea what it cost you to fulfill that order.
Smart Bidding then does exactly what it is designed to do: it maximizes the metric you give it. You gave it revenue. It will find you more revenue, regardless of whether that revenue is profitable. The algorithm is not broken. You are feeding it the wrong number.
Stop losing money on Google Ads ROAS by understanding this one thing: the bidding system is only as smart as the data you send it.

How to Break the ROAS Profit Trap With POAS Bidding
- 1
Calculate true profit per order
Start by defining what profit actually means for your store. That means subtracting COGS, shipping cost (not what you charge – what you pay), payment processor fees (Stripe, PayPal, Klarna all have different rates), and VAT where applicable. This is your real margin per order, not your revenue.
- 2
Send profit as the conversion value to Google Ads
Instead of firing your conversion tag with the order total, fire it with the profit value. Google Ads supports offline conversion imports, which means you can send a corrected conversion value after the order is processed – with all costs already subtracted. This is the mechanism that makes POAS bidding possible.
- 3
Set a target POAS instead of a target ROAS
Once Google is receiving profit values, switch your Smart Bidding strategy to target a specific profit return. A POAS of 150% means you want €1.50 in profit for every €1 in ad spend. That is a real, scalable business target – unlike a ROAS target that ignores what things actually cost you.
- 4
Label products by profitability and adjust bids accordingly
Not all products deserve the same budget. Products with strong POAS should get more spend. Products with negative POAS should be paused or restructured. Segmenting your catalog by profit performance – not revenue – is how you actually scale a WooCommerce business on Google Ads.
- 5
Monitor per-product profit, not campaign-level ROAS
Campaign averages hide individual product performance. A campaign averaging 300% ROAS might contain five products at 600% ROAS and three products at 80% ROAS. You need per-product profit visibility to make the right decisions.
How WooTrack Automates the Entire POAS Switch
Doing all of the above manually is genuinely painful. You need to pull COGS from WooCommerce, calculate shipping costs per order, apply the right payment fee per gateway, handle VAT correctly for EU orders, and then format all of that into an offline conversion import that Google Ads accepts. For most store owners, that is weeks of spreadsheet work – and it breaks every time something changes.
WootrackApp handles this automatically. It connects directly to your WooCommerce store, pulls your real costs (COGS, shipping, Stripe/PayPal/Klarna fees, VAT), calculates true profit per order, and sends those profit values to Google Ads as offline conversions. Google’s Smart Bidding then uses profit as its optimization target – not revenue.
Beyond the conversion data, WooTrack also handles campaign infrastructure. It auto-creates Shopping and Performance Max campaigns from your WooCommerce catalog, applies A/C/X product labeling (Winners, Borderline, Losers based on POAS thresholds), and scales budgets toward profitable products automatically. The per-product profit dashboard shows you exactly which SKUs are making money and which are not – and the mobile app means you can check it without sitting at a desk.
The result is that Google Ads revenue vs profit bidding stops being a problem you manage manually. The system handles it, and your campaigns start optimizing for what actually matters.
What POAS Thresholds Actually Look Like in Practice
A POAS of 100% is break-even. You are recovering exactly what you spent on ads in gross profit. Below 100% and you are subsidizing Google’s revenue with your own money.
Most healthy WooCommerce stores running POAS-optimized campaigns land between 130% and 200% POAS depending on category and margin structure. Stores that were previously running 400% ROAS and wondering why profits were flat often discover their actual POAS was sitting at 60-80% – meaning every campaign was a net loss.
Pushing from 80% POAS to 150% POAS is not a minor improvement. That is the difference between a store that is slowly going under and one that has real margin to reinvest.

Google Ads revenue bidding (ROAS) vs profit bidding (POAS) – what each metric sees and misses
| Revenue Bidding (ROAS) | Profit Bidding (POAS) |
|---|---|
| Optimizes for order total value | Optimizes for true profit after all costs |
| Ignores COGS, shipping, fees, VAT | Subtracts COGS, shipping, payment fees, VAT per order |
| 500% ROAS can mean negative profit | 100% POAS = break-even, 150%+ = real margin |
| Scales high-revenue, low-margin products | Scales high-profit products, cuts loss-makers |
| Campaign averages hide losing SKUs | Per-product profit visibility built in |
| No cost data sent to Google | Profit values sent via offline conversions to Smart Bidding |
Signs Your Store Is Caught in the ROAS Profit Trap
- Your ROAS looks strong (4x, 5x, or higher) but net profit has been flat or declining for months
- You have never subtracted COGS, shipping, and payment fees from your Google Ads conversion values
- Your best-performing campaigns by ROAS are in your lowest-margin product categories
- You are scaling ad spend based on ROAS targets but not seeing corresponding profit growth
- You have no visibility into which individual products are profitable vs which are loss-makers
- Your EU store is reporting revenue inclusive of VAT as the conversion value sent to Google
- You feel like you are working harder on ads but the business is not getting more profitable
Frequently asked questions
Can a campaign really have 500% ROAS and still lose money?
Yes, and it happens more often than most store owners realize. If your product has a 60% COGS, 8% shipping cost, 3% payment fee, and you are in an EU country where VAT eats into your margin, a €100 sale might leave you with €15-20 in gross profit. If you spent €20 on ads to generate that sale, you have a POAS of 75-100% – at or below break-even – despite the campaign showing 500% ROAS.
What is the difference between ROAS and POAS exactly?
ROAS (Return on Ad Spend) divides revenue by ad spend. POAS (Profit on Ad Spend) divides gross profit by ad spend. The key difference is that POAS accounts for all the costs between revenue and profit – COGS, shipping, payment processing fees, and VAT. A POAS of 100% means you are breaking even on ad spend. Above 100% means you are making money. ROAS has no equivalent break-even point because it ignores costs entirely.
How does sending profit values to Google Ads actually work?
Google Ads supports offline conversion imports – a mechanism where you send conversion data after the fact, with corrected values. WootrackApp calculates the true profit for each order (subtracting COGS, shipping, fees, and VAT) and sends that profit figure to Google as the conversion value. Google’s Smart Bidding algorithm then uses these profit values to optimize bids, effectively making your campaigns target POAS instead of ROAS.
Will switching to POAS bidding hurt my traffic or campaign performance short-term?
There is usually a short learning period of 2-4 weeks while Google’s algorithm adjusts to the new optimization target. During this time, you might see volume fluctuate. But the campaigns that survive this period are the ones actually generating profit – which is exactly what you want. Stores that have made this switch typically see POAS stabilize and improve within a month, even if raw revenue volume dips slightly.
What is the A/C/X product labeling system in WooTrack?
WooTrack automatically classifies every product in your WooCommerce catalog based on its POAS performance. A-products are Winners – strong POAS, worth scaling. C-products are Borderline – they need optimization or restructuring. X-products are Losers – negative or critically low POAS, candidates for pausing or removing from campaigns. These labels sync directly to your Google Ads campaigns so Smart Bidding and budget allocation reflect actual profitability, not just revenue.
Is WooTrack only for large stores or agencies?
WooTrack is built specifically for WooCommerce store owners – solo founders and small teams included. It is lighter and more affordable than enterprise platforms like ProfitMetrics.io, and unlike Triple Whale, it is built specifically for WooCommerce and Google Ads rather than Shopify and multi-channel analytics. If you are running Shopping or Performance Max campaigns and want real profit optimization without a development team, WooTrack is designed for exactly that.