Google Ads

Google Ads conversion value is wrong on Shopify

A wrong conversion value almost never comes from a single obvious bug — it's usually one of a handful of definitional mismatches: what counts as "value" in the first place, which currency it's reported in, whether duplicate conversions are doubling it, or whether a GA4 import and the native tag disagree about how to calculate the same order. Each produces a different-shaped error, which is the fastest way to tell them apart.

What "value" actually means in the tag

The conversion value Google Ads reports comes from whatever number the implementation decides to pass as the purchase event's value parameter at the moment it fires. There's no single Shopify-mandated definition of that number — it can be cart subtotal, order total including tax and shipping, or total minus a discount code, depending entirely on how the theme, the Google & YouTube app, or a manual GTM setup populates it. The value is only "wrong" relative to whatever you expected it to represent — which is exactly why it's worth confirming what your own setup actually sends before assuming a bug.

One order, two different reported values

Illustrative example — a single $95 order, where the native Google tag sends the full checkout total and a GA4-imported conversion action sends subtotal only:

Cart subtotal$95.00
Discount code (–10%)–$9.50
Sales tax+$7.20
Shipping+$6.80
Total charged at checkout$99.50
Value sent by native Google tag (checkout total)$99.50
Value sent via GA4 import (subtotal after discount only)$85.50

Neither number is necessarily wrong on its own — both are internally consistent with how each path defines value. The problem is having both live as conversion actions simultaneously, reporting two different revenue figures for the identical order and leaving whichever one you're looking at unrepresentative of the other.

Currency mismatches

If the store sells in a currency different from the Google Ads account's billing currency, and the conversion action isn't explicitly configured to declare the currency it's receiving, Google Ads can treat the incoming number as face value in the wrong currency rather than converting it — which either multiplies or divides every reported figure by whatever the exchange rate happens to be. Multi-currency Shopify stores are especially exposed here, since the value passed can come from either the shop's default currency or the customer's presentment currency depending on how the event is built, and those aren't always the same number.

Attribix sends order value from Shopify to Google Ads using a single, consistent definition per order and shows it next to what Google Ads actually recorded, so a subtotal-vs-total or currency mismatch is visible as a specific per-order gap instead of a mysterious dip in reported revenue. See how it connects on the Google Ads conversion tracking for Shopify page.

Duplicate conversions inflate aggregate value even when per-order value is correct

A subtly different failure mode: each individual order's value is calculated correctly, but the order is counted twice because two conversion actions or two tag implementations both fired for it. The per-order figure looks right when you spot-check one order; the total looks wrong because it's doubled across every order that hit the same duplication. Worth checking count and value together rather than value alone — see duplicate Google Ads conversions on Shopify for the mechanics behind that specific pattern.

Transaction ID matters for value too, not just counting

Transaction ID's main job is deduplication, but it also controls whether a later correction reaches the original conversion. A refund or cancellation reported back to Google Ads as a conversion adjustment references the transaction ID to find which recorded conversion to reduce. If the ID on the adjustment doesn't match the ID on the original event — a common gap when refunds are handled through a different system or app than the original purchase tracking — the value never gets corrected, and the original, pre-refund figure stays in Google Ads' reporting indefinitely.

Common questions

Should conversion value include tax and shipping?
There's no single correct answer enforced by Google Ads — it depends on what your implementation sends. What matters is consistency: if the native tag and any imported GA4 value are built from different definitions of the order total, they'll disagree even though both are technically working.
Why does Performance Max care more about this than Search?
PMax's automated bidding optimizes directly against whatever conversion value it receives. Manually managed Search campaigns are steered by more than value alone, so a value error has a smaller direct effect on bidding decisions there than it does in a value-based PMax campaign.
Can currency issues affect stores that only sell in one currency?
Less commonly, but it's still worth checking the conversion action's currency setting against the store's actual transaction currency directly rather than assuming they match — a mismatch here silently multiplies or divides every reported value by the conversion rate difference.

When the value gap needs account-level tracing

Comparing definitions and settings covers most of this. When the gap persists after checking them, or spans multiple conversion actions and imports, that's worth a closer look from someone in the account.