This procedure finds a discrepancy for one product variant and verifies the correction. It is not a general product-description guide. A feed is not automatically the source of truth: first establish the approved price and availability in the store's authoritative system.
1. Identify the same offer
Record the SKU or other identifier, variant, URL, market, currency and time. Check whether you compare regular or sale prices, the same size and the same tax treatment. Do not compare a unit price with the price of a complete pack.
Collect the shopper's view, server HTML, rendered content, the relevant Product/Offer object and the current feed record. If JavaScript inserts JSON-LD, record that and check it with Google's tools; absence in source HTML alone does not prove Google can never read it.
2. Complete the comparison sheet
| Layer | ID and variant | Price and currency | Availability | Reading time |
|---|---|---|---|---|
| Shopper view | [value] | [value] | [value] | [time] |
| JSON-LD Offer | [value] | [price; priceCurrency] | [availability] | [time] |
| Feed | [value] | [price; currency] | [availability] | [time] |
| Approved store data | [value] | [value] | [value] | [time] |
Also check checkout for that variant. Merchant Center feed pricing includes currency; do not assume priceCurrency is a separate attribute in every feed. Feed specifications and Schema.org properties are different formats.
3. Check availability mapping
For an ordinary offer, in_stock can map to https://schema.org/InStock and out_of_stock to https://schema.org/OutOfStock. Distinguish preorder and backorder according to Merchant Center documentation. Do not replace them with “in stock” just to remove a warning.
4. Trace the source and update schedule
| Symptom | Check |
|---|---|
| Old price only on the page | Cache, template and rendered values |
| Old price only in JSON-LD | Markup generator, variant object, conflicting Offer |
| Old price only in the feed | Export, field mapping and processing time |
| Differences throughout | Approved source, sale conditions, market and currency |
These are diagnostic hypotheses, not a universal “feed first” rule. Fix the confirmed origin and then its dependent representations. Remove a specific conflicting schema object rather than deleting every additional schema block.
5. Verify the correction
Collect the same offer again. Check consistency across the page, Offer, checkout and processed feed. Use Rich Results Test and Merchant Center diagnostics where applicable. Record the owner and acceptance result.
Valid syntax does not establish a true price. Merchant Center automatic updates do not replace maintenance of your store data. There is no guaranteed propagation time or AI recommendation. Google's requirements apply to its services, not every AI model.