Almost every ecommerce account is judged on ROAS. It is the number on the dashboard, the target in the bidding strategy, the figure that gets reported up the chain. Return on ad spend is simple, intuitive, and easy to agree on. It is also a revenue metric, and revenue is not what keeps a business alive. Profit is.

For a lot of accounts that distinction does not matter much. If every product carries a similar margin, optimizing for revenue and optimizing for profit point in almost exactly the same direction, and ROAS is a perfectly good proxy. But the moment margins vary meaningfully across the catalogue, the two pull apart, and a campaign that looks like a top performer on ROAS can be one of the least profitable things in the account. This article is about why that happens, and what changes when you give Smart Bidding a profit signal instead of a revenue one.

What Smart Bidding actually optimizes for

It helps to be precise about what a target ROAS bidding strategy is doing. You hand Google a revenue target per pound of spend, say 400%, and the algorithm works to hit it across the campaign. To do that it predicts, for every auction, how likely a click is to convert and how much revenue that conversion is likely to be worth. It then bids more aggressively where the predicted revenue per click is high and pulls back where it is low.

The key word is revenue. Smart Bidding optimizes for exactly the value you feed it as the conversion value, and by default that value is the order total. Google has no idea what any product costs you. It cannot see your margins, your shipping costs, your duty, your payment fees, or your return rates. It sees the revenue you reported on the conversion, and it works to maximize that revenue against your target.

So when you set a target ROAS, you are not telling Google to make you money. You are telling it to generate revenue at a particular efficiency. Those are not the same instruction, and the gap between them is exactly the size of your margin variation.

A worked example

Imagine two products that both sell well through Shopping.

Product A is a piece of furniture. It sells for £1,000. After cost of goods, inbound freight, and a bulky-item delivery cost, your gross margin on it is 15%, so £150 of profit per sale.

Product B is a homeware accessory. It sells for £100. It is small, cheap to ship, and sourced at a good price, so your margin is 60%, which is also £60 of profit per sale, on a far smaller order value.

Now suppose both products convert at a similar rate from similar traffic, and both return a 400% ROAS. On the dashboard they look equally good. Smart Bidding, working to a revenue target, sees Product A as ten times more valuable per conversion, because it reports ten times the revenue. So it bids harder for Product A, wins more of its auctions, and pushes budget toward it.

But look at the profit. To make £150 from Product A you spent £250 in media (at 400% ROAS on £1,000). You are buying £150 of profit for £250 of ad spend, and losing money on a contribution basis before a single overhead is counted. Product B, at the same 400% ROAS, costs you £25 in media to make £60 of profit. One of these products is funding the business. The other is quietly draining it. ROAS cannot tell them apart, because ROAS never saw the margin.

This is the trap. Not that ROAS is wrong, but that it answers a question about revenue efficiency when the question you actually care about is whether the spend made money.

What POAS changes

Profit on ad spend, POAS, is the same idea as ROAS with profit substituted for revenue as the value being optimized. Instead of reporting the order total as the conversion value, you report the profit on that order, and you let Smart Bidding optimize against that.

The change is deceptively small in setup and large in effect. Once Google is bidding on profit, the example above inverts. Product B, with £60 of profit on a £100 order, now reports a far healthier value-to-cost ratio than Product A, with £150 of profit on a £1,000 order. Smart Bidding starts shifting budget toward the products that actually contribute, and away from the high-revenue, thin-margin lines that ROAS was flattering. You are no longer fighting the algorithm to protect your margins. The algorithm is doing it for you, because for the first time it can see them.

The effect is largest exactly where ROAS is most misleading: catalogues with a wide spread of margins. If your products all sit in a tight 40% to 50% band, POAS and ROAS will give you nearly identical answers and the effort is hard to justify. If your margins run from 10% to 60%, the difference is the whole game.

Two ways to give Google a profit signal

There are two practical routes to profit-based bidding, and the right one depends on how comfortable you are exposing cost data and how much control you want.

Route one: the cost_of_goods_sold attribute in Merchant Center. Google supports COGS natively. You populate a cost_of_goods_sold value per product, usually through a supplemental feed so the cost data stays separate from your main product data and is easier to maintain. Once Google has cost at the SKU level it can report gross profit alongside revenue, and factor margin into target ROAS optimization. This is the lighter-touch option and it lives entirely inside the Google ecosystem. The trade-off is that you are handing your unit costs to Google, which some businesses are simply not willing to do, and that product-level COGS alone does not capture the costs that sit outside the product: shipping, payment fees, duty on certain routes, returns.

Route two: calculate profit server-side and pass it as the conversion value. Here you keep your cost structure to yourself. When an order completes, your own systems compute the true contribution, revenue minus cost of goods, minus shipping, minus duty, minus fees, minus an allowance for returns, and you send that figure as the conversion value on the purchase event. Google never sees a single unit cost. It only sees a number called profit, and it optimizes on it. This is more work to build and maintain, and it depends on clean, reliable conversion tracking, but it gives you full control over what counts as profit and keeps your margins private. For accounts where cost confidentiality matters, or where the real margin picture is more complicated than a single COGS field can express, this is usually the better route.

Both approaches work. The decision is about data sensitivity and how faithfully you need to model your true costs, not about which one Google prefers.

The prerequisites nobody mentions

Profit-based bidding is not a setting you switch on and walk away from. A few things have to be true first, and they are the parts that get skipped.

You need margin data you actually trust. The entire strategy rests on the profit number being right. If your cost data is stale, incomplete, or averaged across categories that do not really share a cost profile, you will be optimizing toward a fiction. Garbage profit in, confidently wrong bidding out. Getting the cost data accurate and keeping it current is the unglamorous foundation the whole thing stands on.

You need enough conversion volume. Smart Bidding learns from data. When you change the value it is optimizing toward, it effectively re-learns the account. Thin-volume campaigns can struggle to find a new equilibrium, and the noise in a small sample can swamp the signal. Profit bidding rewards accounts with enough conversions for the algorithm to model reliably.

You need to decide how to treat profit that goes negative. Some orders, after a return, a discount, or an expensive delivery, genuinely lose money. If you pass a negative conversion value, Smart Bidding behaviour gets unpredictable, so the common and sensible approach is to floor profit at zero rather than feed the auction negative numbers. It is a small modelling decision with real consequences, and it needs to be made deliberately.

You need to keep reporting honest. This is the subtle one. The day you switch the conversion value from revenue to profit, your reported conversion value in the account drops, because profit is a fraction of revenue. Anyone reading the account cold will think performance collapsed. ROAS as a headline number stops being comparable to its own history. You either keep a separate revenue conversion action for reporting continuity, or you make sure everyone looking at the account understands that the number changed meaning, not direction. Skip this and you will spend your first review defending a problem that does not exist.

How to actually make the switch

The mistake is to flip profit on as the primary bid signal overnight and hope. A more controlled path looks like this.

Start by setting profit up as a secondary, observe-only conversion action while revenue stays primary. That lets you watch the profit data flow in, sanity-check it against your own accounts, and confirm the numbers are believable before a single bid depends on them. This is also where you catch the boring failures: a feed that is not matching SKUs, a cost field that is blank for half the catalogue, a currency mismatch.

Only once the profit signal is verified and stable do you promote it to the primary value Smart Bidding optimizes toward. Expect a learning period. The algorithm is re-modelling the account against a new objective, and the first couple of weeks can look bumpy as budget reallocates from the revenue-heavy lines to the genuinely profitable ones. Hold your nerve through the transition, watch contribution rather than revenue, and resist the urge to judge it on the ROAS chart you just made obsolete.

And keep the cost data alive. Margins move. Suppliers change prices, shipping costs drift, a product gets discounted. A profit-bidding setup is only ever as good as the cost data behind it, which makes maintenance part of the strategy rather than an afterthought.

The takeaway

ROAS became the default because it is easy, shared, and usually close enough. For a single-margin catalogue it still is. But "close enough" quietly breaks the moment your products stop sharing a margin, and on most real catalogues they do not. At that point ROAS is optimizing toward revenue while you are trying to run a profitable business, and the algorithm, doing exactly what you asked, spends your budget where the revenue is rather than where the money is.

Profit-based bidding closes that gap. It is not exotic, it is supported directly by Google, and the hardest part is not the technical setup but the discipline around it: trustworthy cost data, a staged rollout, honest reporting, and the patience to let the algorithm re-learn. Get those right and you stop bidding for turnover and start bidding for the thing that actually matters. The accounts that make this shift tend to find that their best campaign and their most profitable campaign were never quite the same thing.