Are your prices written in a clean number and currency code AI can compare?

Confirms every offer in your structured data uses a plain number and a recognised three-letter currency code.

Scan your site

What this signal tests

We check that every Offer block in your structured data lists the price as a bare number, with no currency symbol or thousand-separator, and the currency in a separate field using the three-letter ISO 4217 code (such as USD, EUR, GBP). This split format is the only one AI shopping agents can reliably parse for comparison and conversion.

Why it matters for your visibility in AI

AI shopping agents compare prices across competitors in real time. To do that, they need a clean number they can convert into a single currency, and an unambiguous currency identifier. A value like $1,299.00 has a thousand-separator and an embedded symbol that can break parsers, and a value like 1299 USD jammed into one field is unreliable too. The split format is the contract. The consequences of getting this wrong are quiet but damaging. The agent does not raise an error; it just skips your product in the comparison and quotes a competitor's. You lose discovery without ever knowing it happened. This is one of the highest-leverage fixes in commerce structured data because the work is small and the recovery is immediate.

Pass criteria at a glance

Criterion Passes when
All Offers have numeric price + ISO 4217 priceCurrency.

How we test it

We extract every Offer block from your Product structured data and validate two fields. The price field must be a bare number (not a string with a currency symbol, not a string with commas, not a range). The priceCurrency field must be exactly three uppercase letters matching the ISO 4217 list. If you use an AggregateOffer (for products with price ranges), we validate lowPrice, highPrice, and priceCurrency in the same way.

Show technical detection method
Offer.price is bare number; priceCurrency matches ISO 4217 (3 uppercase letters); no currency symbols in price.

If your site fails: how to fix it

  1. Audit how your platform formats price values when emitting structured data. The bug is almost always in one helper function that adds a currency symbol or formats with commas.
  2. Change the price field to emit only the raw number with a decimal point (1299.00 not $1,299.00). Move the currency to the priceCurrency field as a three-letter ISO 4217 code.
  3. If you sell in multiple currencies, emit a separate Offer per currency rather than putting both into one field. AI agents will resolve which one to display based on the user's locale.
  4. For products with variable prices (size or configuration options), use AggregateOffer with lowPrice and highPrice instead of trying to encode a range in a single price string.
  5. Validate sample URLs in Google's Rich Results Test. It will flag malformed price or currency values immediately.

Quick facts

MaturityESTABLISHED
Weighthigh
CategoryStructured Data

Primary sources

Related signals

Frequently asked questions

Can I keep the currency symbol on my visible page price?

Yes, absolutely. The structured data and the visible price are independent. Your shoppers should still see $1,299.00 on the page; only the JSON-LD needs the clean number and the ISO code. Most platforms handle this automatically by formatting the same source value differently for display and for structured data.

What is ISO 4217 and where do I find the right code?

ISO 4217 is the international standard for currency codes. The full list is published by the International Organization for Standardization. The codes you will use most often are USD (US dollar), EUR (euro), GBP (pound sterling), JPY (Japanese yen), CAD (Canadian dollar), and AUD (Australian dollar). Always uppercase, always three letters.

Do I emit one Offer per product or one per variant?

One Offer per buyable SKU is ideal. If a product has size variants priced differently, each variant should have its own Offer. If pricing is uniform across variants, a single Offer is fine. The point is that the price an AI agent quotes should match the price the buyer will actually pay for the version they end up purchasing.

Run your own scan

Run a free scan and see how your site grades across all 155 AI-readiness signals.

Scan your site