Switch from ROAS to Profit Bidding in Google Ads: WooCommerce Guide
Wootrack Growth Blog
Switch from ROAS to Profit Bidding in Google Ads: WooCommerce Guide
The ROAS Myth That Is Quietly Draining Your Margin
Here is the thing. A 500% ROAS sounds incredible. Google is reporting it, your agency is celebrating it, and your campaigns are scaling hard. But pull up your actual bank balance at the end of the month and something feels off.
That feeling is correct. ROAS measures revenue divided by ad spend. It knows nothing about what it cost you to generate that revenue. Your COGS, your shipping, your Stripe or PayPal fees, your VAT obligations – Google Ads has no idea any of that exists. So when Smart Bidding optimizes for ROAS, it is literally optimizing to spend more money on products that might be losing you money after real costs.
We have seen WooCommerce stores running 400% ROAS on a product with 18% margins, 12% in fees and shipping, and a 20% VAT liability. The math: sell €100, keep €18 gross, lose €12 to fees and shipping, owe €20 in VAT. You are left with negative margin – and Google is calling it a win.
This is not a fringe case. It is the default state for most stores optimizing on ROAS. The fix is migrating to profit-based bidding, which means sending Google your actual profit per order as the conversion value instead of revenue.

How the Profit Calculation Model Actually Works
Before you migrate, you need to understand what true profit per order looks like. This is the number you will eventually send to Google Ads as your conversion value.
Start with your order revenue. Then subtract COGS – the actual cost of goods sold, not a rough estimate. Then subtract shipping costs, which vary by product weight, destination, and carrier. Then subtract payment processing fees – Stripe charges around 1.4-2.9% plus a fixed fee, PayPal and Klarna have their own structures. For EU stores, you also need to account for VAT, which is collected but not yours to keep.
What remains is your true profit on that order. On a €150 order with 35% COGS, €8 shipping, 2.5% payment fees, and 20% VAT: your profit is roughly €150 minus €52.50 minus €8 minus €3.75 minus €25 in VAT – leaving you with about €10.75. That is the number Google should be bidding on. Not €150.
Why Sending Revenue as Conversion Value Breaks Smart Bidding
Smart Bidding is genuinely powerful. Google’s AI can find buyers at the right moment with remarkable precision. But it is only as smart as the signal you feed it. Send revenue, and it optimizes for revenue. Send profit, and it optimizes for profit.
The migration from ROAS to profit bidding is fundamentally about changing that signal. Instead of telling Google ‘this order was worth €150’, you tell it ‘this order was worth €10.75 in real profit’. Google then adjusts its bidding to find more orders that generate strong profit – not just strong revenue.
This is done through offline conversions. You send a conversion event with the profit value attached, Google imports it, and Smart Bidding recalibrates. The mechanism already exists inside Google Ads. The challenge is calculating the right profit value per order and sending it accurately – which is exactly where most stores get stuck.
Before and after switching from ROAS to profit-based bidding – same product, same ad spend
| Metric | Optimizing on ROAS | Optimizing on POAS (Profit) |
|---|---|---|
| Conversion value sent to Google | Order revenue: €150 | True profit: €10.75 |
| What Smart Bidding optimizes for | Maximum revenue per euro spent | Maximum profit per euro spent |
| Top-spending products | Highest revenue items (often low margin) | Highest profit items (real winners) |
| Budget allocation | Spread across revenue-generating SKUs | Concentrated on profitable SKUs |
| Reported ROAS | 400-600% (looks great) | Lower, but actual margin is higher |
| Actual monthly profit | Often negative after full cost stack | Positive and growing |
| Visibility into losers | None – losers look like winners | Immediate – X-labeled products cut fast |

How to Migrate ROAS to Profit-Based Bidding in WooCommerce
- 1
Audit your current cost structure per product
Before touching Google Ads, get your numbers right inside WooCommerce. For every product you are running ads on, document COGS, average shipping cost, payment processor fee percentage, and VAT rate if applicable. If you are guessing on COGS, fix that first – wrong inputs produce wrong profit values, which means Google optimizes for the wrong signal. WootrackApp pulls this data directly from WooCommerce and lets you enter COGS per SKU inside the plugin dashboard.
- 2
Install WootrackApp and connect your Google Ads account
WootrackApp handles the technical plumbing of the migration. Once installed, it connects to your WooCommerce store and your Google Ads account. It starts pulling order data immediately and calculating true profit per order – factoring in COGS, shipping, Stripe or PayPal fees, and VAT for EU stores. No custom development, no spreadsheet formulas running manually every week.
- 3
Enable offline conversion sending with profit values
This is the core of the migration. WootrackApp sends each completed order to Google Ads as an offline conversion, with the true profit value attached. Google imports these conversions and Smart Bidding starts recalibrating. You do not need to change your campaign type – Shopping and Performance Max both support this. What changes is the signal quality Google receives.
- 4
Switch your bid strategy from Target ROAS to Target POAS
Once profit conversions are flowing and you have at least 30-50 profit-based conversions imported, update your bid strategy. Instead of setting a Target ROAS of 400%, you set a Target POAS. Remember: 100% POAS is break-even. If you want €1.50 profit per €1 of ad spend, set 150% POAS. Start conservative – 110-120% – and let Google learn before pushing higher. WootrackApp shows your current POAS per campaign so you know where you actually stand.
- 5
Use A/C/X product labels to reallocate budget
WootrackApp automatically labels every product as A (Winner), C (Borderline), or X (Loser) based on its POAS performance. These labels sync directly to your Shopping and Performance Max campaigns as custom labels. Winners get more budget. Losers get cut or paused. This is where the real margin improvement happens – not just better bidding, but smarter budget distribution across your catalog.
- 6
Monitor the per-product profit dashboard weekly
ROAS optimization is set-and-forget in a bad way – you never see what is actually happening at the product level. Profit-based bidding requires you to watch per-product performance. WootrackApp’s dashboard shows profit per product, POAS by SKU, and trend data so you can see which products are improving and which need attention. The mobile app means you can check this without sitting at a desktop.
Frequently asked questions
Will switching to profit bidding hurt my traffic volume initially?
Yes, often in the short term. When Google recalibrates Smart Bidding around profit values instead of revenue, it pulls back on products that were generating revenue but not profit. Impressions and clicks on those products drop. But traffic to genuinely profitable products holds or increases. Total revenue may dip for 2-4 weeks while the algorithm learns, but actual margin improves. Most stores see net profit increase within 30 days of migration.
How many conversions do I need before switching bid strategy to POAS?
Google recommends at least 30 conversions in a 30-day window before Smart Bidding has enough signal to perform well. For profit-based bidding, we suggest waiting for 50 imported offline conversions with profit values before switching your Target ROAS to a Target POAS. This gives the algorithm enough data to understand your profit distribution across products and customer segments.
What happens to my existing ROAS targets when I migrate?
You do not delete them immediately. Run both signals in parallel for 2-3 weeks – keep your existing ROAS conversion action active while WootrackApp starts sending profit-based offline conversions. Once you have enough profit conversions imported, make the profit conversion your primary optimization target and demote the revenue-based conversion to secondary. This prevents a sudden signal gap that would confuse Smart Bidding.
Can I use profit-based bidding with Performance Max campaigns?
Yes. Performance Max fully supports offline conversions with custom values, which is exactly how WootrackApp sends profit data. The setup is the same as Shopping campaigns. One thing to watch: PMax has less transparency into which product groups are getting budget, so the A/C/X labeling from WootrackApp becomes even more important – it is one of the few levers you have to influence how PMax allocates spend across your catalog.
What if my COGS data in WooCommerce is incomplete or inconsistent?
Start with your best estimates and improve over time. Sending approximate profit values is still dramatically better than sending revenue – even rough profit signals help Google avoid scaling your worst products. WootrackApp flags products with missing COGS data in the dashboard so you can prioritize which SKUs to fix first. Focus on your top 20 ad-spending products first, since those drive the majority of your bidding decisions.
How is WootrackApp different from just manually adjusting bids based on margin?
Manual margin adjustments are static – you set them once and they go stale as costs change. WootrackApp recalculates profit per order dynamically, every time an order comes in, using live data from WooCommerce including current COGS, actual shipping costs charged, and real payment fees. That means your offline conversion values stay accurate as your cost structure changes, without you having to update anything manually.