Google Ads conversion value doesn't match actual revenue: reconcile it step by step.
- “reconcile Google Ads conversion value with Shopify sales”
- “Google Ads original conversion value vs revenue”
- “Google Ads Conv. value vs Conv. value by conv. time”
- “Google Ads conversion value includes tax and shipping”
- “Google Ads ROAS higher than real ROAS”
- “Google Ads conversion value includes refunds”
Baris Asa, tracking consultant, London · Last checked: November 2026
Google Ads conversion value below your store’s revenue is normal: Ads counts only sales that followed its own ads. Above it usually means one of six things: another action (a lead form, a call) counted with a value; settings that raise the reported value on purpose so bidding favours some buyers (value rules, new-customer value); refunds never uploaded; a tag value that includes tax, shipping or the wrong currency; a purchase counted twice; or a fixed value on every order.To check, line up the same action, the same dates and the same definition on both sides, then name every gap that’s left. The steps are below. The tag fault in that list is on record as F-302 : one order, a different value in each platform.
ROAS is conversion value divided by cost, so it carries every gap here. If the conversion count is off too, start with GA4 and Google Ads numbers don’t match. If it’s GA4 against Shopify, see GA4 revenue higher than Shopify.
A two-minute check first
In Google Ads, open Goals, Conversions, Summary. Count the actions set as primary that carry a value. Then open the Goals setting of your biggest campaigns: a campaign with its own conversion goals counts its own set of actions, whatever the account default says. A lead form or a phone call with a value in either place is the first gap to rule out, and the quickest.
How do I compare Google Ads value with revenue fairly?
- One action. Segment by conversion action and read the purchase action only.
- A closed month, read late. The default Conv. value column dates each sale to the ad click, and conversions can be reported up to 90 days after the click, so last week’s figure keeps moving. Conv. value (by conv. time) dates it to the sale, but Google’s column list has no by-conv.-time version of the Original conv. value column in step 3. So reconcile a whole month that closed a few weeks ago: late conversions have landed, and click date against sale date only shifts the days at each end. Google also mentions a 15 to 48 hour reporting delay, especially under attribution models other than last click.
- Before adjustments. Original conversion value is the value Google Ads received before value rules or new-customer (lifecycle goal) adjustments. Conv. value is the figure after them. Add the Original conv. value column. To see the adjustment rule by rule, segment by Conversions, then Value rule adjustment, in the Campaigns view.
- The matching store figure. Same month, same currency as the Ads account, same definition as the tag. On Shopify, net sales are after discounts and sales reversals (returns and other negative adjustments), without tax or shipping. Total sales add tax, shipping, duties and fees back.
Three more differences come with the design. Under data-driven attribution one order’s value is split across the Google Ads clicks that led to it, so a campaign’s value can be fractional while the account total is whole. View-through conversions (after an ad was seen, not clicked) sit outside the Conversions column by default. A sale after the action’s conversion window has closed isn’t counted.
With those lined up, Ads should come in below the store’s whole month. How far below depends on how much of the month came from other channels. To close the last gap, use the orders Ads claimed: if GA4 is linked, list the month’s purchases from Google Ads traffic by Transaction ID and add up the same orders in the shop.
| Step | Change (£) | Running total (£) |
|---|---|---|
| Conv. value, all primary actions | 21,300 | |
| Lead form set as primary, fixed value | −1,200 | 20,100 |
| Value rules and new-customer value (original value instead) | −2,750 | 17,350 |
| Tag sent VAT and shipping, shop reports net | −2,890 | 14,460 |
| Refunds never uploaded | −750 | 13,710 |
| Euro orders at Google’s daily rate | −20 | 13,690 |
| Store net sales, same orders | 13,690 |
Five adjustments take £21,300 to the shop’s own figure for the orders Ads claimed, with nothing unnamed. In this example the store’s whole month, across every channel, is £96,400, so Ads sits below it, as it should. Four steps are settings or design. One is a fault, on record as F-302 : the tag sent the order total with VAT and shipping while the shop reports net.
Why is Google Ads value lower than revenue?
This direction is normal. Google Ads reports only conversions that follow an interaction with its own ads, so sales from email, organic search and direct visits aren’t in it. Buyers who decline consent are modelled back in part when consent mode is set up, so part of the value is an estimate. A buyer who clicks on a phone and buys on a laptop is counted only when Google can link the two. Buyers whose browser blocks the tag are missing. Low by a steady share, week after week, is the design working.
A drop on a date you can name is different. If the purchase action is a GA4 import, check the link first: F-403 .
Why is Google Ads value higher than revenue?
Higher than the store always has a cause. Settings first, then the tag. Quickest to check comes first.
| Cause | Fingerprint | Where to look |
|---|---|---|
| Extra primary action with a value (setting) | Gap the size of leads × value | Goals, Conversions, Summary |
| Value rules, new-customer value (setting) | Conv. value above original value | Value rule adjustment |
| Refunds never uploaded (setting) | Gap the size of refunds | Uploads |
| Tax, shipping or currency in value, F-302 | Off by exactly tax, shipping, ×100 | Tag Assistant, one order |
| Purchase counted twice, F-104 or F-101 | Conversions above orders | Primary actions, tag |
| Same value on every order (setting or tag) | One repeated figure | Action value setting |
Is anything other than the purchase primary, with a value?
The Conv. value column adds up every primary action. Google’s guidance is that non-purchase actions such as add to cart shouldn’t be primary with a value. If they are, the same buyer is valued twice. A lead form or a phone call with a fixed value, set as primary, adds to your “revenue” in the same way.
Are value rules or new-customer value switched on?
Both change the reported figure on purpose. A value rule raises or lowers reported value by audience, location or device, so Smart Bidding leans towards those buyers. Google’s own example, in dollars, doubles conversions from one location, so $5 is reported as $10.
The new customer acquisition goal, when it values new customers more, adds the extra value you set to a new customer’s first purchase (Google suggests a fraction of your average order value). The New customer lifetime value column shows that extra value. Original conv. value (step 3) takes both back out. Both settings make Conv. value a bidding figure.
Are refunds coming off?
Only if someone uploads them. Google Ads keeps a purchase at the value it arrived with. A conversion adjustment takes it off: a retraction removes the conversion, a restatement changes its value.
Two catches. On a purchase action from the Google Ads website tag, the order ID is the only key: if the tag never sent the order number as transaction_id, those past purchases can’t be adjusted, so send it from today. And adjustments only work on website-tag, click-upload and Salesforce actions. Google’s adjustment API accepts only those three types, so a purchase imported from GA4 can’t be retracted or restated, and its refunds stay in Conv. value at full price.
For whoever runs the uploads: wait at least 24 hours after the conversion, upload within 7 days if bidding should see it, 54 days at most. The click ID plus conversion time is a fallback Google doesn’t recommend, and it fails on website-tag purchases that need an order ID.
Does the tag value include tax, shipping or a different currency?
This is F-302 , and it is the first thing I look for in the tag. Each tag builds value from whatever field it reads. One sends the item subtotal, one the order total with VAT and shipping, one the price before discount. The fingerprint is an original per-order value off by exactly the tax, exactly the shipping, or 100 times when the amount went out in pence.
Currency is the other half. Google reports conversion value in the account’s billing currency and converts other currencies at the average daily exchange rate. If the tag sends no currency code, or not a three-letter code like GBP or EUR, Google ignores it and uses the default currency of that conversion action. A euro order sent with no code, into an action set to pounds, is reported as that many pounds.
Is a purchase counted twice?
Then value doubles with the count. Google documents dedup by transaction ID within one conversion action. The Google Ads tag and a GA4 import, both primary for the same purchase, are two actions, so both count even with the same ID: F-104 . Within one action, a repeat that gets through is usually missing the ID: two senders on the thank-you page, one without a transaction_id, which is F-101 .
On Shopify, one known cause is named in Google’s own help: conversion tracking set up before installing the Google & YouTube app can count one purchase twice. Open Tag Assistant on a test order and check that the Google Ads purchase hit comes only from the app. Remove the old tag (theme code, checkout scripts or a custom pixel) and switch off only the duplicated conversion action in Google Ads.
Is every order the same value?
Then it’s a fixed figure. The conversion action is set to use the same value for each conversion, or the tag sends a hard-coded number. Set the action to use different values for each conversion and send the order’s own value. A purchase that arrives with no value is a gap in the event itself: F-301 .
How do I check one order?
Google says transaction IDs aren’t reported in Google Ads, so you can’t look an order up there. Check it as it is sent.
- Google Ads tag. Open Tag Assistant (tagassistant.google.com, Google’s tool that shows what each tag sent), place a test order, and read the value, currency and transaction ID on the Google Ads conversion. In the browser’s network tab the order ID shows as
oid. Set them next to the order in the shop admin. - GA4 import. If the purchase action is imported from GA4, Ads takes GA4’s value. List last month’s Google Ads purchases in GA4 by Transaction ID, with purchase revenue, and look five of them up in the shop. If they agree and Ads is still higher in total, the gap is in the settings.
If the one order’s value differs from the shop’s before any rule, the tag is wrong.
How do I fix it?
Steps 1, 4 and 5 are account settings. Steps 2 and 3 are measurement work on the tag and data layer.
- Primary actions. Agree with whoever runs the account that the purchase is the only primary action with a revenue value, in the account and in campaign goals. The others can sit as secondary and still show under All conv.
- One value definition. Write down what value means (for example, item subtotal after discount, before VAT and shipping) and send that one figure, with its currency code and the order number as
transaction_id, to every tag from one data layer variable. That is the F-302 fix in full. - Refunds. On a website-tag purchase action with
transaction_id, upload adjustments by order ID on a schedule, inside 7 days. On a GA4 import, report refunds as a known, named gap. - Rules on purpose. Keep value rules and new-customer value if bidding should lean on them. Report revenue from original conversion value.
- Record the date. Past conversions keep the value they arrived with. Compare from the first full month after the change.
How do I know it’s fixed?
- A test order shows the same value and currency in Tag Assistant as the shop’s order, on the definition you wrote down.
- For a closed month, original conversion value for the purchase action sits below the store’s whole month, and matches net sales on the orders Ads claimed apart from refunds and the exchange rate.
- The gap splits into parts you can name: other channels, refunds, the exchange rate. Nothing left over is a multiple of tax or shipping.
Common questions
Why is Google Ads conversion value higher than my revenue?
Six reasons, in the order I check them. Settings: a non-purchase action set as primary with a value; value rules or new-customer value; refunds never uploaded. Tag faults: a value that includes tax, shipping or the wrong currency; a purchase counted twice. A fixed value on every order can be either.
Does Google Ads remove refunded orders from conversion value?
No. Someone has to upload adjustments. On a purchase action from the Google Ads website tag, the order ID is the only key, so the tag must send transaction_id. Google’s adjustment API doesn’t accept purchase actions imported from GA4.
What is original conversion value in Google Ads?
The value Google Ads received before value rules or new-customer adjustments. Conv. value is the figure after them. Compare the original value with revenue.
Which Shopify figure should I compare with Google Ads conversion value?
The one that matches what your tag sends. Shopify’s net sales are after discounts and sales reversals, without tax or shipping. Total sales add tax, shipping, duties and fees back.
How big a gap between Google Ads value and revenue is normal?
Google publishes no figure for value. Below the store is normal, because Ads claims only its own sales. A gap you can split into named parts is fine. An original per-order value off by exactly the tax, the shipping or 100 times is a fault.
Sources
Read on 4 November 2026:
- Google Ads Help, understand your conversion tracking data (Conv. value calculated on the time of the click; by conv. time columns; Conversions covers primary actions; fractional credit under data-driven attribution), data discrepancies: factors and troubleshooting (conversions reported up to 90 days after the click; non-purchase actions shouldn’t be primary with values; view-through conversions not in Conversions by default; only conversions after Google Ads interactions) and fix missing data and discrepancies (15 to 48 hour conversion reporting delay, especially for non-last-click models)
- Google Ads Help, about conversion value rules (rules adjust reported value and Smart Bidding; audience, location, device) and view your conversion value rules report (Campaigns, segment, Conversions, Value rule adjustment) and measure your lifecycle goals campaigns (New customer lifetime value column; Original conv. value before value rules or lifecycle goal adjustments)
- Google Ads Help, set up new customer acquisition parameter (a fraction of the average order value added to a new customer’s first purchase)
- Google Ads Help, how to adjust your conversions (retract, restate; at least 24 hours after; up to 7 days for bidding; within 54 days; order ID recommended) and Google Ads API, upload conversion adjustments (only SALESFORCE, UPLOAD_CLICKS and WEBPAGE action types; order ID required for WEBPAGE actions, GCLID and time pair fails there)
- Google Ads Help, set up additional settings (values reported in billing currency; average daily exchange rate; missing or non-ISO currency code falls back to the action’s default currency)
- Google Merchant Center Help, how to avoid duplicated tracking events (Google & YouTube app on Shopify) (conversion tracking set up before installing the app can count one action twice; disable only the duplicated events) and Google Analytics Help, remove duplicate tags after migrating to the Google & YouTube app (where old Google Ads tags sit: custom pixels, checkout scripts, theme code; confirm with a test purchase that tags fire only from the app)
- Google Ads Help, use a transaction ID to minimise duplicate conversions (a second conversion with the same ID on the same action isn’t counted; transaction IDs aren’t reported in Google Ads; Tag Assistant,
oid) - Shopify Help Center, sales report (net sales: gross sales minus discounts and sales reversals; total sales add taxes, duties, shipping and fees)