Analytics and Tracking

Currency Parameter

Also called currency code, currency field

The code sent beside an order value telling analytics which money the amount represents, so revenue can be recorded and converted.

Quick facts: Currency Parameter

Category
Analytics and Tracking
Also called
currency code, currency field
Level
Beginner
Affects
Recorded revenue, multi-market reporting, return on ad spend
Where to see it
GA4 DebugView, Google Tag Manager preview, shop platform currency settings
In this article4
  1. What the currency parameter does
  2. Why it matters
  3. Where it goes wrong
  4. How to get it right

What the currency parameter does

A number on its own means nothing. An order value sent to analytics without a currency could be rupees, dollars or pounds, and no reporting tool can guess. The currency parameter is the short code that travels with the value — NPR, AUD, GBP, USD — and it is what turns an amount into money.

Analytics uses it in two ways. It stores the original figure in the currency you declared, and it converts that figure into the property’s own reporting currency using the exchange rate held for the day of the transaction. That is why revenue in a multi-currency shop can shift slightly between the shop’s own records and the analytics report even when every order was tracked correctly.

The parameter belongs on any event carrying a value — product views, basket additions and the purchase event that produces revenue — not only on the sale itself.

Why it matters

Without it, values are commonly discarded rather than assumed. Orders keep appearing in reports, the transaction count looks healthy, and revenue sits empty or wrong. That failure mode is nastier than an obvious break, because everything else on the screen looks fine and nobody investigates until a monthly report has to be explained.

It matters more the moment a business sells across borders. A shop taking rupees at home and dollars abroad, without declaring which is which, produces a revenue total that is neither figure and cannot be reconciled with anything. Anyone selling into Australia, the UK or the Gulf from Nepal meets this problem early.

Where it goes wrong

The most common fault is a hard-coded currency. A developer sets one code when the shop launches, a second market is added later, and every order from that market is recorded in the wrong money at the wrong scale. Nothing errors; the numbers are simply wrong.

Formatting causes the rest. A code sent in lower case, a symbol sent instead of a code, or a value sent with a currency symbol or thousands separator embedded in it will all fail. Sending a currency on the purchase but omitting it from earlier events is another common gap, which leaves basket and product reports without values while the sale looks fine.

How to get it right

Read the currency from the same source your checkout uses when charging the customer, and pass it dynamically on every ecommerce event. Never write the code into a tag as a fixed string, however unlikely a second currency seems today.

Check the code is upper case and the value is a plain number with no symbol, comma or space inside it. Then test properly: if the shop supports more than one currency, place an order in each and confirm the declared code changes with it. Finally, set the analytics property’s reporting currency to the one the business actually thinks in, and tell whoever reads the reports that conversion happens at daily rates, so small differences against the accounts are expected rather than a fault to chase.

Do and do not

Do

  • Read the currency from the same source the checkout charges in
  • Send it on every event that carries a value
  • Test an order in each currency the shop supports

Do not

  • Hard-code a single currency into a tag
  • Send a symbol, lower case code or formatted number
  • Expect converted totals to match the accounts exactly

Questions people ask about this

What happens if I send a value without a currency?

The value is usually rejected rather than assumed, so the order is recorded but the revenue is not. Transaction counts look normal while revenue reports sit empty or badly understated. Because nothing visibly breaks, this often goes unnoticed for weeks, which is why it is worth checking on any new shop before the first report is produced.

How does analytics handle a shop selling in several currencies?

It stores each transaction in the currency you declared on the event and converts it into the property's reporting currency using the exchange rate for that day. That gives you one comparable total across markets. Expect small differences against your accounting system, since the accounts convert at the rate applied when money actually settled.

Can I just set the currency once in my tag manager?

Only if the shop will never sell in another currency, which is a risky assumption. A fixed code keeps working silently after a second market is added, recording foreign orders in the wrong money entirely. Reading the currency dynamically from the same source the checkout uses costs almost nothing and removes the risk permanently.

Related terms

Found this useful?

Share it, or ask an AI to summarise it

Back to the glossary

Knowing the term is the easy part

Applying it to your own site and budget is the work. Book a call and I will tell you what actually applies to you.