Free AI visibility report

Check if your company is visible in AI

See for free whether ChatGPT, Gemini and Google AI mention your company in their answers.

Check your visibility for free →

Product price and availability differ across HTML, JSON-LD and feeds: finding the source of discrepancies

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.

Related guides and sources

Sources

Check if sees your brand

Enter your website to receive a free AI Visibility Report