Skip to main content

Currencies: ISO 4217 codes

Every currency in ECMS9 has three separate fields. Mixing them up is the single most common cause of the Google Search Console warning "Invalid ISO 4217 currency code (in "offers")" and of rejected price feeds.

FieldWhat it isExample (hryvnia)
TitleHuman name, shown only in the admin panelHryvnia
ISO CodeThree Latin capital letters from the ISO 4217 standard. Machines read it: Google, marketplaces, payment gateways, analyticsUAH
Character (symbol)What shoppers see next to the price on the storefrontгрн, ₴

The storefront never shows the ISO code to shoppers, and machines never read the symbol. So the code must be exactly the standard one, and the symbol can be whatever your customers are used to.

Where to set​

Admin → Shop → Currencies, open the currency and check the field ISO Code. Save, then clear the site cache (Admin → Clear cache) so cached product pages and feeds pick up the new value.

Common correct codes:

CurrencyCode
Ukrainian hryvniaUAH
US dollarUSD
EuroEUR
Polish zlotyPLN
British poundGBP

The full list is published by ISO: https://www.iso.org/iso-4217-currency-codes.html

Wrong values we see most often​

  • грн, грн., гривня — this is the symbol, not the code. Put грн into Character and UAH into ISO Code.
  • uah, Uah — lowercase. Google accepts only capital letters.
  • ₴, $, € — symbols again.
  • A code with spaces or a trailing dot.

Who reads the ISO code​

The code of the default (main) currency goes into everything a machine consumes:

  • Product structured data (Product → offers → priceCurrency and shippingDetails → shippingRate → currency in JSON-LD). Google Search Console reports a wrong value as a warning on every product page; with a correct code the rich result shows the price.
  • Price feeds of the Price export module: Rozetka, Prom.ua, Hotline, Google Merchant (there the currency is a feed setting, UAH by default), Privat, Nadavi and the rest. Marketplaces reject a feed with a non-ISO currency or import it without prices.
  • Analytics events (GA4 purchase, add_to_cart and others): the currency field of the event is the ISO code; GA4 drops revenue with an unknown currency.
  • Payment gateways (Privat24 and others) that take the currency code from the shop settings.

How to check yourself​

  1. Open any product page on the storefront, view the page source and find "priceCurrency". It must read "priceCurrency":"UAH" (or your currency's code).
  2. Paste the product URL into Google's Rich Results Test (https://search.google.com/test/rich-results) — the Product item must have no currency warning.
  3. In Google Search Console → Enhancements → Products, after the fix press Validate fix. Google re-crawls the affected pages over the next days and closes the warning.
Data, not the engine

The system takes the code verbatim from the currency record — it does not correct or validate it. If the warning appears, the fix is always in Shop → Currencies, not in the theme or a module.

See also: Google Analytics 4 events.