Case study: Google Ads, ROAS to POAS

+93.78% net profit, month-on-month, by dropping ROAS as the north star.

An emerging ecommerce retailer selling to a young, environmentally conscious audience in Europe had a healthy ROAS during peak season and still wasn't making money. Here's what happened once I moved the account from optimizing revenue to optimizing profit.

+93.78%
net profit, month-on-month
4
phases to go from ROAS to POAS
ad spend increased, and profit grew faster

The problem

Revenue was climbing, and ROAS during peak season looked genuinely good on paper. Profitability wasn't following. That gap is what pulled me into the account.

ROAS only tells you revenue against ad spend. It says nothing about what happens to that revenue afterward: the cost of the product itself, the shipping fee attached to the order, the fee the payment processor takes. Once you factor those in, a campaign with a great ROAS can be barely breaking even, or losing money outright, and the top-line number will never tell you that.

In this account, that blind spot showed up as four connected issues: strong revenue paired with thin net profit, ad spend rising while efficiency quietly declined, a reliance on ROAS that hid the real profitability picture from everyone looking at the dashboard, and generic, one-size-fits-all customer communications that weren't helping retention or lifetime value either.

The fix: move the bidding target from ROAS to POAS

ROAS answers "how much revenue did this ad spend generate." POAS (Profit on Ad Spend) answers the question that actually matters: how much profit did this ad spend generate, once you subtract cost of goods sold, shipping fees, and payment-method fees from revenue first.

That's not a reporting tweak. Once Google's bidding algorithm optimizes toward POAS instead of ROAS, it starts pushing budget toward the products that are actually profitable, not just the products that sell the most units.

How I rolled it out

Analysis and data setup

Product cost entered in the ERP, the ERP-to-CMS integration adjusted so that cost travels with every product, payment-method fees mapped per method, courier costs mapped per shipment type.

Profitmetrics integration

Profitmetrics connected to Shopify, the platform configured against the cost data collected in phase one, and Profitmetrics tracking wired into Google Ads.

Google Ads setup

Gross Profit set as the conversion action, with POAS added as a custom metric so it's visible everywhere ROAS used to be.

Continuous optimization

Weekly POAS monitoring with fast, agile adjustments, backed by a dedicated POAS dashboard so profit, not revenue, stays the number everyone looks at first.

The two things that actually slowed the rollout down: getting the cost data properly integrated in the first place, and getting the marketing team to stop treating revenue as the scoreboard. The second one takes longer than the technical setup.

Results

Net profit was up 93.78% month-on-month. Ad spend actually went up too, but profit grew faster than spend, because Google's algorithm, now bidding against POAS instead of ROAS, naturally redirected budget toward the products with better margin. As that shift takes hold, the drag that product cost puts on revenue keeps shrinking, because you're no longer spending as hard to sell the products that barely pay for themselves.

The gains were not flat across the year: they were sharpest during peak sales and promotional periods, exactly when volume is highest and it's easiest to bleed margin without noticing.

"The impact of product cost on revenue shrinks once you optimize for POAS instead of ROAS: the algorithm starts protecting margin on its own."

What I'd tell anyone considering this switch

  • POAS gives you a genuinely more actionable read on performance than ROAS: it's the difference between "did this sell" and "did this make money."
  • None of it works without clean cost-data segmentation by product, shipping method, and payment method. That data work is the real prerequisite, not the bidding switch itself.
  • The biggest payoff shows up during peak season: the moment when volume is highest and protecting margin matters most.
Same approach on your Ads account

If your ROAS looks fine but profit isn't moving, POAS is usually the missing layer.