hello@datascale.de+49 89 921 35 623tracked cookie-free · /openDEEN

Search services, integrations and blog posts.

DatascaleResourcesChecksCurrency

Check · C04 · Product & price data

Currency in shop tracking: one code, every source

GA4 drops revenue without a currency, and mixed currencies make totals unusable. The check tests the currency in JSON-LD, dataLayer and DOM.

What gets tested

On every sampled product page, the check collects the currency statements of all sources: priceCurrency from the Product JSON-LD, currency from the view_item event and the currency sign on the visible price. Different codes across sources or pages yield "to review", as does a tracked event with a price but no currency. If no source states one at all, it stays a note.

Why it matters

Revenue without a currency is not an amount to a machine, just a number. GA4 drops such values, Google Shopping rejects offers without priceCurrency, and a USD leftover from a copied theme silently converts euro revenue into dollar reports. The damage stays invisible until someone compares totals.

Common causes

  • The theme comes from a US marketplace and carries USD as the JSON-LD default.
  • The dataLayer push fills price, but nobody wired the currency field.
  • Multi-currency shops render the display currency but track the shop base currency.
  • The JSON-LD states the symbol (€) instead of the ISO code (EUR).

The fix

Emit the currency as an ISO code from a single backend source into both outputs: Offer.priceCurrency in the JSON-LD and currency in the e-commerce event. With multi-currency, consistently track the currency the customer pays. Then verify one product page per currency in DebugView and the Rich Results Test.

Check it yourself first

The Tracking Check tests this point along with all the others, in seconds.

Start the Tracking Check →
What does the "currency" finding mean?

Either the price sources on the sampled product pages state different currencies, or a view_item event carries a price without a currency field. Both make the revenue values in GA4 unreliable.

What does GA4 do with events without currency?

GA4 ignores revenue values from events whose items carry a price but no currency. The event itself counts, the value does not. Reports then show conversions without revenue, and the gap only surfaces when someone reconciles against the shop backend.

My site sells in euros only. Do I still need the field?

Yes. Neither GA4 nor Google Shopping guesses the currency from context; without an explicit ISO code (EUR) the values count as incomplete. The field costs one line in the template and prevents silent data loss.

The fix, delivered

Wired up in days, not sprints.

Findings from the Tracking Check go into a ranked sequence with effort estimates in the Audit Sprint, every module with an acceptance criterion.