Skip to content
MySolute
Menu

Google Shopping price format: how to write price and sale_price

Google expects price as a number with a decimal point, a space and the ISO 4217 currency code – for example 19.99 EUR. Values like “19,99 €”, “€19.99” or a price without currency are reported as errors. The price must match your landing page and, outside the US and Canada, include VAT.

Upload your feed or shop export – the validator checks every price and writes a corrected file.

Open the feed validator

The rules for price

  • Format: number + space + currency code, e.g. 19.99 EUR (text and CSV feeds) – no currency symbols.
  • Decimal point, at most two decimals; Google rounds extra digits.
  • Currency as a 3-letter ISO 4217 code (EUR, USD, GBP, CHF …), the same currency the landing and checkout page show.
  • The amount must match the price on the landing page and in the checkout.
  • Tax: in the US and Canada (USD, CAD) without sales tax; in Germany, Austria, the UK and most other countries including VAT/GST.

What the validator says about typical values

The same checks the feed validator runs on your file, for common ways prices end up in exports (missing currency filled with EUR, as set in the tool):

Value in the feedResultCorrected file
19.99 EUROKunchanged
19,99 €price not in Google’s format19.99 EUR
19.99price without currency19.99 EUR
€19.99price not in Google’s format19.99 EUR
EUR 19.99price not in Google’s format19.99 EUR
1.299,00 EURprice not in Google’s format1299.00 EUR
19.99EURprice not in Google’s formatfix by hand
0.00 EURPrice is 0fix by hand

sale_price: the reduced price

For a sale, keep the regular price in price and put the reduced price in sale_price – in the same format and the same currency. A sale price that is not lower than price is an error; the optional sale_price_effective_date limits the sale to a period.

Fixing a whole feed

Most price errors come from shop exports and spreadsheets: comma decimals, currency symbols, or no currency at all (Shopify and WooCommerce exports never contain one). The feed validator checks every row and its corrected CSV rewrites recognisable prices into Google's format. Values it cannot read safely – like a currency code glued to the number – are listed for a manual fix.

Worked examples: price 19.99 EUR, sale_price 24.99 EUR

A product where regular and sale price were swapped during an import.

Result
Sale price not lower than price
price
19.99 EUR
sale_price
24.99 EUR
Fix
price 24.99 EUR, sale_price 19.99 EUR

The validator catches swapped prices before Google disapproves the product – check sale prices especially before Black Friday.

Common mistakes and how to fix them

Comma decimals and currency symbols

Why it matters: “19,99 €” is how prices look in a German shop, but not Google's format.

Fix: Write 19.99 EUR – or let the corrected CSV of the validator convert it.

Net prices in a European feed

Why it matters: Outside the US and Canada Google expects the price customers pay, including VAT; a net price does not match the landing page.

Fix: Export gross prices, or add the VAT before you upload.

Feed price differs from the shop

Why it matters: After a price change the feed is often a day old – Google then reports a price mismatch.

Fix: Fetch the feed more often or update prices in the feed together with the shop.

Frequently asked questions

Can I write 19.99 € instead of 19.99 EUR?

No – Google wants the ISO currency code, not the symbol. The validator reports symbols as a format error and its corrected CSV converts them.

How do I write prices over 1,000?

Write them without a thousands separator, e.g. 1299.00 EUR. Mixed separators like 1.299,00 are a common source of wrong prices.

Do prices for Germany include VAT?

Yes. For Germany, Austria, the UK and most other countries Google requires prices including VAT – the same price customers see. Only the US and Canada are submitted without tax.

Is a price of 0 allowed?

Only in a few special cases defined by Google (for example subscriptions for physical goods). For normal products a price of 0 is an error.

Check your whole shop in 2 minutes – free

One product, a few numbers, no sign-up: see what really stays per order and what to do next.

Start the free shop check

Sources

Fees, rates and rules change. We check the official sources listed here regularly – the date shows our last check.