← All questionsLow ROAS

Why does ROAS in Google Ads reports diverge so sharply from the business's real profit?

A quick primer

The gap between reported ROAS and real profit isn't a glitch. It's a direct consequence of what actually gets passed to Google Ads as "conversion value" by default. Official documentation states plainly that conversion value can reflect either revenue or profit; the advertiser defines which one gets optimized, and by default most setups pass revenue (the full order amount), not what's left after cost of goods, shipping, taxes, and returns.

The officially documented way to close this gap is the cost of goods sold (COGS) attribute in the product feed. Google Ads uses this attribute to calculate margin per product, profit equals revenue minus COGS. Without precise cost data, approximate values work too, for example estimating COGS as 80 percent of the product price. Without this attribute, profit and margin reporting simply isn't available, and ROAS stays a purely revenue-based number.

More broadly, the purpose of conversion values is described this way: they let you learn the total business value advertising generated. The system is designed to reflect whatever definition of value the advertiser passes, rather than forcing one universal definition on everyone.

What to check before you touch anything

  • What is actually being passed as conversion value right now: full order revenue, or an already-adjusted figure (margin, profit).
  • Is the cost_of_goods_sold attribute set up in the product feed. Without it, profit and margin metrics simply won't appear in Google Ads reporting.
  • Does the passed value account for returns, discounts, and shipping cost, or is it the gross order amount with no adjustments.
  • How much does margin vary between product categories. A wide spread means the gap between revenue-based ROAS and real profit will be especially large at the category level.
  • Does the team understand that "high ROAS" and "profitable campaign" aren't synonyms under a revenue-based value model, and that decisions made on ROAS alone can systematically push budget toward the wrong products.

Possible approaches

  • If precise cost data isn't available yet, start with approximate COGS values (a fixed percentage of price by category) to get at least a directional read on profit, rather than waiting for perfect data.
  • If cost data exists and is stable, set up full per-product COGS passing for an accurate margin calculation.
  • If the business wants to optimize for profit rather than revenue, consider moving to margin-based, rather than gross, value in Target ROAS or Maximize conversion value, understanding that historical revenue-based ROAS won't be directly comparable to the new margin-based figures.
  • Don't compare "before" and "after" a switch to margin-based values as if it were the same metric. These are different value systems, and a jump in the ROAS number at the switch doesn't reflect a real change in performance.
  • Regularly reconcile revenue-based ROAS against actual business profit from external data (accounting, CRM), at least at the category level. That way you catch budget drifting toward low-margin products before it's too late.