StriveFormats
Google Merchant CenterPricingAuto-fixable

Invalid sale price

sale_price isn't a valid price, or isn't lower than price.

What is this issue?

sale_price isn't a valid price, or isn't lower than price.

Affected field:sale_price

What it looks like in your file

In your file
idpricesale_price
2MUG-0115.00 USD18.00 USD
After the fix
idpricesale_price
2MUG-0118.00 USD15.00 USD

This issue is fixed automatically. Upload your CSV to fix it now.

Fix now

Why Google Merchant Center rejects this

Google shows a sale only when sale_price is valid and below the regular price; otherwise it's ignored.

Valid values / expected format

  1. ✓A number, a space, then the ISO 4217 currency code: 19.99 USD
  2. ✓Use a period (.) as the decimal separator, not a comma
  3. ✓No thousand separators: write 1000.00 USD, not 1,000.00 USD
  4. ✓The currency must match the country you sell in
  5. ✓Greater than 0

Fix in StriveFormats

StriveFormats rewrites prices like 19,99 EUR or €19.99 as 19.99 EUR. A price with only a $ sign, or no currency at all, is flagged instead of guessed, because $ is used by several currencies.

Auto-fixable: this issue is corrected automatically when you click Fix Issues.

Fix in Excel

  1. 1In Excel, click the column letter for the sale_price column to select it.
  2. 2Right-click the column, choose 'Format Cells', select 'Text', and click OK, so Excel doesn't turn the prices back into numbers.
  3. 3If every price is in the same currency, add the code with a helper column: =A2&" USD" (replace A2 with your price cell and USD with your currency), copy it down, then paste it back over the column with Paste Special > Values.
  4. 4Press Ctrl+H and replace any currency symbol, such as $ or €, with nothing before you add the code.
  5. 5Check that every value looks like 19.99 USD: a number, a space and the code.
  6. 6Save as Text (Tab delimited) (*.txt).

Fix in Google Sheets

  1. 1In Google Sheets, click the column letter for the sale_price column.
  2. 2Go to Format > Number > Plain text, so Sheets keeps the price and the code together as text.
  3. 3If every price is in the same currency, add the code with a helper column: =A2&" USD" (replace A2 with your price cell and USD with your currency), copy it down, then paste it back with Edit > Paste special > Values only.
  4. 4Press Ctrl+H and replace any currency symbol, such as $ or €, with nothing before you add the code.
  5. 5Check that every value looks like 19.99 USD: a number, a space and the code.
  6. 6Go to File > Download > Tab Separated Values (.tsv), then rename the file to end in .txt.

Prevent it next time

  1. ✓Write prices as text with the code, like 19.99 USD, rather than formatting the cell as Currency.
  2. ✓Keep one currency per file, matching the country the feed targets.
  3. ✓Use a period (.) as the decimal separator regardless of your computer's regional settings.
  4. ✓Put the regular price in price and any discount in sale_price, never the other way round.
  5. ✓Run every file through StriveFormats before uploading it to Merchant Center.

How StriveFormats detects this

StriveFormats reads each sale_price value as a number followed by a currency code. A missing code, a comma decimal, a price of 0, or a sale price that isn't lower than the regular price is flagged on its row.

►Technical detail
Google's product data specification asks for the price as a number with a period for decimals, followed by the ISO 4217 currency code, for example 15.00 USD. The code tells Google which currency you mean; a $ sign alone could be US, Canadian or Australian dollars. Google compares the price with your landing page, so the value in the feed must match what shoppers see when they click through. sale_price follows the same format and is only shown when it is lower than price.