Value Mismatch
The conversion value sent by your GTM tag doesn't match the value Google Ads is configured to accept (or expects from the business model). A fixed value of 1 on a purchase tag, a dataLayer variable that resolves empty, or a currency mismatch between site and account all produce wrong values in the report while the conversion count still looks correct. ROAS, tROAS, and any value-based bidding strategy break the moment values are wrong.
Why It Matters
Value mismatches make revenue reports unreliable even when conversion counts look correct. A fixed GTM value can override dynamic purchase revenue, or Google Ads settings can imply a different value strategy than the tag actually sends. This breaks ROAS, value-based bidding, and finance reconciliation.
How To Fix It
Trace the value from the site dataLayer into the GTM tag and then into Google Ads. If the business uses dynamic revenue, the GTM value parameter should reference a transaction value variable and Google Ads should accept transaction-specific values. If fixed values are intentional, document the model and make sure every platform uses the same assumptions.
Example
GTM value parameter: 1
Google Ads purchase value: 129.99
Expected: {{DLV - ecommerce.value}}This account contains a value mismatch between the conversion value sent by GTM and the value Google Ads is configured to receive on one or more enabled conversion actions. Per Google Ads value-based bidding documentation, the value parameter on the Google Ads Conversion Tracking tag must reference a transaction-specific value variable (typically a Data Layer Variable reading the e-commerce purchase value) and be denominated in the account currency for ROAS reporting and tROAS bidding to function. A fixed value of 1, a dataLayer variable that resolves empty, or a currency mismatch produces ROAS figures that diverge from backend revenue while conversion counts appear correct. Fix: trace the value from site dataLayer to GTM tag to Google Ads action, confirm dynamic values use a transaction value variable, verify the account currency matches, and reconcile one sample order between backend and Google Ads before trusting value-based bidding. Source: support.google.com/google-ads/answer/9888879.
Drop this paragraph into your client deliverable. Sources back to the canonical platform documentation linked below.
References
Audit your own files for this check
AdLint runs this check (and 177 others) against your GTM, Google Ads, Meta, TikTok, LinkedIn, Pinterest, Twitter/X, and Snapchat exports. Everything stays in your browser. No uploads, no accounts.
Run a free audit