← All questionstROAS Campaigns

How do I check that value-based bidding is actually using real data and not a default value?

What to check before you touch anything

  • Pull up the "Conv. value / cost" and "Value / conv." columns broken out by Conversion Action — if the average conversion value looks suspiciously identical (say, exactly the same number) across many transactions of clearly different size/composition, that's a clear sign a fixed default value is being used, not the real transaction amount.
  • Check the conversion action's own settings in Google Ads (Goals → Conversions → the specific action → Value) — it will explicitly say whether "Use different values for each conversion" (dynamic value) or "Use the same value for each conversion" (a static, default figure) is selected.
  • Check the actual tag code on your site (via a tag debugger or by viewing the source of the order confirmation page) — is the value parameter being passed as a variable holding the real order total (e.g., value: {{transaction_total}}), or is a static number hardcoded in?
  • Does the conversion value in Google Ads reports match the real order amount in your CRM/e-commerce platform on a handful of specific examples? This is the most direct check available, more reliable than any indirect review of settings.
  • If GA4 is your conversion source, check that the value (and currency) parameter is actually being passed in the purchase event on the GA4 side, rather than being hardcoded statically in GA4 itself or missing entirely.

Possible approaches

  • If you find a static (default) value being used instead of a dynamic one, fix this at the technical level first (tag/data layer) before relying on tROAS/Maximize Conversion Value as a meaningful strategy — without real value data, the strategy is optimizing toward noise.
  • Google explicitly recommends setting up dynamic (transaction-specific) value passing as the more accurate approach, especially for e-commerce with orders of varying size — a static value is considered a stopgap for cases where dynamic passing isn't yet technically feasible.
  • If dynamic passing is already set up but you have doubts about its accuracy, manually cross-check 5–10 specific orders end to end (from click to the final amount shown in the Google Ads report), rather than relying only on the interface settings, which may not reflect the tag's actual behavior.
  • If value is being passed correctly but doesn't include part of the real cost (discounts, shipping, taxes), explicitly agree with the business on which value methodology is being used (full order total, total minus shipping, net margin) and confirm that's actually what's being passed, rather than a mix of approaches at different stages of the funnel.
  • For accounts where value comes from multiple sources (native tag + GA4 import + offline conversions), it's worth periodically checking that no forgotten static default value is still lingering somewhere, left over from initial setup "just in case" and never updated since.