Wootrack Growth Blog

ROAS vs POAS Google Ads: Why Profit Hides Behind Good Numbers

TL;DR

A 4x ROAS target feels safe until you run the actual margin math — COGS, outbound shipping, discount codes, and payment processing fees routinely erase 60–80% of gross revenue, flipping a ‘winning’ campaign into a loss. POAS (Profit on Ad Spend) replaces revenue as the optimization signal with actual gross profit, so Google’s bidding algorithm chases dollars you keep, not dollars that pass through. WootrackApp feeds cost-inclusive profit values directly into Google Ads conversion tracking, making the switch operational rather than theoretical.

4xROAS target that looks healthy on paper — but can still produce negative net margin once real costs are applied
~62%Typical share of ecommerce revenue consumed by COGS, shipping, discounts, and payment fees combined
–8%Actual net margin on a 4x ROAS campaign in the worked example below after all variable costs are subtracted
1.6xPOAS threshold that equals break-even in the same example — the number ROAS reporting never shows you

Why High ROAS Loses Money: The Numbers Nobody Shows You

Imagine an ecommerce brand selling a mid-range fitness product at €100 average order value. Their Google Ads account reports a tidy 4x ROAS — €400,000 in attributed revenue against €100,000 in ad spend. The agency celebrates. The founder approves the next month’s budget. And yet the bank balance barely moves.

Here is what the ROAS number deliberately ignores. The product costs €38 to source and package (COGS). Outbound shipping averages €9 per order. A sitewide 10% discount code — promoted in the very ads driving that ROAS — shaves another €10 off each transaction. Stripe and PayPal fees land at roughly 2.5%, or €2.50 per order. Add those up: €59.50 in variable costs per €100 of revenue, leaving €40.50 in gross profit before a single euro of ad spend is counted.

Now apply the ad spend. At 4x ROAS, the brand spent €25 to generate each €100 order. Subtract that from the €40.50 gross profit and you have €15.50 — which sounds fine until you remember that fixed overheads (warehouse, staff, software) haven’t touched this number yet. For many lean ecommerce operations, those fixed costs consume €18–€22 per order equivalent, pushing net margin to –€3 to –€6.50 per order. A 4x ROAS. A losing business.

This is not a fringe scenario. It is the default outcome when revenue-based metrics drive bidding decisions on products with thin or variable margins. The metric is not lying exactly — it is just answering a question nobody should be asking.

The Discount and Shipping Double Trap

Discounts and shipping costs are particularly insidious because they are often campaign-specific. A Performance Max campaign might be serving discount-code-hungry deal seekers whose effective margin is 15 points lower than the brand average. ROAS rolls all of that into one blended number. You cannot see which campaign is profitable and which is quietly subsidizing bad traffic — because revenue looks the same regardless of the margin behind it.

Shipping cost variation compounds the problem. A bulky product shipped to a remote postcode might cost three times the average shipping rate. ROAS does not know or care. POAS does, because it works from the actual profit value attached to each conversion event, not a blended revenue proxy.

Profit on Ad Spend vs Return on Ad Spend: Redefining the KPI

POAS is calculated as gross profit divided by ad spend. In the example above, gross profit per order is €40.50 and ad spend per order is €25, giving a POAS of 1.62x. That number is the true break-even signal — anything above 1.62x generates contribution margin; anything below destroys it. ROAS gave you 4x and told you nothing about this threshold.

Switching the optimization signal from conversion value (revenue) to profit value means Google’s Smart Bidding algorithm learns to maximize the thing that actually matters. Campaigns, ad groups, and product listings that generate high-revenue but low-margin orders get naturally deprioritized. High-margin SKUs — even if their revenue looks modest — receive more aggressive bids. The portfolio rebalances toward profit without manual intervention.

The practical implication for ecommerce founders is significant: you stop setting a ROAS target and start setting a minimum POAS target. In the example, a target POAS of 2.0x means every euro of ad spend must return at least €2 of gross profit. That is a constraint the business can actually bank.

Google Ads Profitability Metrics: What to Track Instead

Beyond POAS itself, the migration to profit-first reporting surfaces several secondary metrics worth monitoring: contribution margin per campaign (gross profit minus ad spend), profit-weighted conversion rate (conversions weighted by margin tier, not order count), and POAS by product category. These numbers are invisible inside a standard Google Ads account because the platform only knows what you tell it about conversion value. Feed it revenue and it optimizes revenue. Feed it profit and it optimizes profit. The algorithm is indifferent — the input is everything.

Same campaign, same spend, two completely different stories: ROAS vs POAS on a €100 AOV product

Metric / Scenario ROAS Reporting POAS Reporting
Optimization signal sent to Google €100 revenue per conversion €40.50 gross profit per conversion
Reported performance number 4.0x ROAS 1.62x POAS
Break-even threshold visible? No — ROAS doesn’t encode costs Yes — break-even is 1.62x POAS
Discount-code orders treated differently? No — same €100 revenue recorded Yes — lower profit value passed per discounted order
Algorithm bidding toward More revenue, any margin More gross profit, cost-aware
Net margin outcome (fixed costs excluded) –8% per order Positive once POAS target > 1.62x is enforced
Actionable budget decision Unclear — ROAS looks fine Clear — scale campaigns above target POAS

Migration Path: From ROAS Reporting to POAS Optimization

  1. 1
    Audit your real variable cost structure

    Pull COGS per SKU, average outbound shipping by product and region, your blended discount rate over the last 90 days, and your payment processor fee percentage. Do not use category averages — SKU-level accuracy is what makes POAS meaningful. A spreadsheet with these four columns per product is sufficient to start.

  2. 2
    Calculate gross profit per order in your data layer

    For each completed transaction, compute: revenue minus COGS minus shipping minus discount amount minus payment fees. This is your profit value. It should be calculated server-side or in your order management system at the moment of purchase, where all four variables are known with certainty.

  3. 3
    Pass profit value as the Google Ads conversion value

    Replace the revenue figure in your Google Ads conversion tag or API call with the gross profit value calculated in step 2. WootrackApp automates this by connecting to your WooCommerce order data, applying your cost rules, and sending the correct profit value to Google’s Conversion API — no custom development required.

  4. 4
    Set a target POAS instead of a target ROAS

    Calculate your break-even POAS: it equals 1 divided by your gross margin percentage. If gross margin is 40.5%, break-even POAS is 2.47x. Set your Target ROAS bid strategy value to this profit-based threshold (since Google still calls the field ‘ROAS’, enter the POAS target expressed as a multiplier of the profit value you are now passing).

  5. 5
    Allow a 4–6 week learning period before evaluating

    Smart Bidding needs sufficient conversion data at the new profit values to recalibrate. During this window, monitor POAS weekly rather than daily. Expect some short-term ROAS fluctuation as the algorithm deprioritizes high-revenue, low-margin traffic — this is the system working correctly, not a problem to fix.

  6. 6
    Segment reporting by campaign and product category

    Once the learning period closes, compare POAS by campaign. Campaigns running below break-even POAS should have budgets reduced or bid strategies tightened. Campaigns running well above target POAS have headroom for budget increases. This is the portfolio rebalancing that was impossible under revenue-only reporting.

Don't set your POAS target before calculating break-even A common mistake is picking a round POAS number like 2x or 3x without first establishing what break-even looks like for your specific cost structure. If your gross margin is 35%, break-even POAS is 2.86x — setting a 2x target means you are still losing money on every incremental order the algorithm generates.

True Profit Google Ads Campaigns: Pre-Launch Readiness Check

  • COGS documented at SKU level, not blended category average
  • Shipping cost rules set by product weight/dimension and destination zone
  • Discount codes mapped to their margin impact in the order data
  • Payment processor fee percentage confirmed (including currency conversion surcharges if selling cross-border)
  • Profit value calculation tested against 20+ historical orders before going live
  • Google Ads conversion action updated to receive profit value, not revenue
  • Break-even POAS calculated and documented as the minimum bid strategy threshold
  • Reporting dashboard updated to surface POAS alongside (not instead of) ROAS for stakeholder communication
  • Learning period calendar blocked — no major bid strategy changes for 4–6 weeks post-migration

Frequently asked questions

Will switching to POAS cause my Google Ads traffic to drop significantly?

Expect a temporary reduction in impression share and conversion volume as Smart Bidding recalibrates toward higher-margin traffic. This is intentional — the algorithm is filtering out orders that looked good on revenue but were unprofitable. Within 4–6 weeks, volume typically stabilizes at a lower level but with meaningfully better contribution margin per order. The goal is profitable growth, not maximum volume.

Can I use POAS optimization if I have fewer than 30 conversions per month?

Smart Bidding requires sufficient conversion data to function reliably — Google’s general guidance is 30–50 conversions per month per campaign. Below that threshold, consider consolidating campaigns to pool conversion data before switching to a target-based bid strategy. You can still calculate and track POAS manually as a reporting metric while using manual CPC or Maximize Conversions bidding.

What if my COGS changes frequently due to supplier pricing or currency fluctuations?

POAS accuracy depends on cost data being current. WootrackApp allows you to update cost rules at the product or category level without re-engineering your tracking setup. For businesses with highly volatile COGS, a monthly cost audit and rule update is sufficient to keep profit values within an acceptable margin of error — typically ±5% is tolerable for bidding purposes.

How is POAS different from just optimizing for a lower target ROAS?

Lowering your ROAS target reduces spend efficiency but does not change what the algorithm is optimizing toward — it still chases revenue. Two products with identical revenue but 20-point margin differences look identical to a ROAS-based system. POAS changes the optimization signal itself: the algorithm now sees different values for those two products and bids accordingly. It is a fundamentally different input, not just a tighter constraint on the same input.

Does WootrackApp work with Google's Conversion API or only the tag-based pixel?

WootrackApp uses server-side tracking via Google’s Conversion API (GCLID-based), which means profit values are sent directly from your server to Google without relying on browser pixels. This improves data accuracy, reduces the impact of ad blockers and iOS privacy changes, and ensures the profit value is calculated from confirmed order data rather than a frontend estimate.

Should I stop reporting ROAS entirely once I switch to POAS?

No — ROAS remains useful for stakeholder communication and benchmarking against industry norms. The practical approach is to report both: ROAS for external context and POAS as the internal decision-making metric. Over time, as your team and agency become fluent in POAS, ROAS reporting naturally becomes a secondary reference rather than the primary performance signal.

Leave a Reply

Your email address will not be published. Required fields are marked *