The exact price format Google Shopping accepts, and the currency and decimal mistakes that silently disapprove products.
price must be a number, a single space, then a 3-letter ISO
currency code: 24.99 USD. Google is strict about the shape, and
these all fail:
| Value | Why it fails |
|---|---|
| $24.99 | Currency symbol instead of an ISO code |
| 24,99 EUR | Comma decimal separator — must be a dot |
| 1,299.00 USD | Thousands separator not allowed |
| 24.99 | No currency code (only valid if set feed-wide) |
| 0.00 USD | Zero price is rejected |
| 24.99 US | Not a valid ISO 4217 code |
The other half of this error is a price mismatch: the feed says one number and your landing page shows another. Google crawls the page and disapproves on any disagreement — including when the page shows a tax-inclusive price and the feed doesn't.
NNN.NN CUR — dot decimal, no thousands separator,
uppercase ISO currency.GBP price on a feed targeting the US will disapprove.price as the regular price and put
the discount in sale_price. Don't overwrite price.0.00 or re-price it.id,title,price,sale_price,availability,link SKU-4471,Cast Iron Skillet 10in,49.99 USD,39.99 USD,in_stock,https://example.com/p/4471 SKU-4472,Hand-thrown Mug,24.00 USD,,in_stock,https://example.com/p/4472
Merchant Center re-crawls a scheduled feed on its normal cadence, so a fix can sit invisible for up to 24 hours. To force it: Products → Feeds → your feed → Fetch now, then re-check Diagnostics the following day. Items usually flip back to Active within one or two crawls once the attribute validates.
FeedCheck Rescue — $29, one-off. Send your feed file and I run the auto-fixer over it, then send back a corrected file plus a plain-English changelog of every single edit, so you can see exactly what changed before you upload it.
Get FeedCheck Rescue — $29 Or try the free auditor