JSON-LD Generator

Practical structured data guide

Product Schema Price Mismatch: find the error before Google does

A Product page can contain syntactically valid JSON-LD and still describe the wrong offer. The most common production failure is a visible price, currency or availability value that no longer matches the `Offer` node after a theme, feed or deployment change.

Generate Product schemaSee a copy-ready example

Quick answer

Treat the rendered product page as the source of truth for what shoppers can see. Compare it with `Offer.price`, `priceCurrency`, `availability` and the offer URL, then revalidate the published URL after the fix.

Why this happens

Ecommerce pages are assembled from several systems: a product database, a theme, a feed, an SEO plugin and sometimes a second JSON-LD block. A price update can reach one system before another. The validator may confirm that the JSON is valid, but validity does not prove that the value is current or that duplicate nodes agree.

A reproducible example

The example below describes one current offer. Replace every value with the product information visible to shoppers. Do not leave sample URLs or prices in production.

Before and after diagnosis

Suppose the page visibly says `$49.00 USD`, while the markup contains `"price": "59.00"`. The fix is not to hide the mismatch. Find which system owns the stale value, update the source, remove conflicting duplicate markup and test the final rendered page.

Copy-ready JSON-LD example

Replace every placeholder with facts that are true and visible on your own page. Do not publish the sample identity, URL or values unchanged.

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Canvas backpack",
  "image": [
    "https://example.com/images/canvas-backpack.jpg"
  ],
  "sku": "CB-100",
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/products/canvas-backpack",
    "priceCurrency": "USD",
    "price": "49.00",
    "availability": "https://schema.org/InStock"
  }
}

What fails

Visible page: $49.00 USD. JSON-LD: $59.00 USD. The markup is valid JSON, but it is not a reliable description of the page.

What works better

Visible page and JSON-LD both state $49.00 USD, use the same product URL and report current availability.

Publishing checklist

  1. Compare the visible name, image, price, currency and stock state.
  2. Check for multiple Product or Offer nodes with conflicting values.
  3. Confirm the offer URL resolves to the same product page.
  4. Only add SKU, GTIN, review and rating properties when accurate.
  5. Run the exact live URL through Validator after deployment.

A reliable workflow

Generate or edit the markup, validate the exact code, compare important properties with the visible page, publish it, then inspect the live URL. For critical pages, save a baseline and monitor for field changes after releases. A valid object can still be inaccurate if its data becomes stale.

Google structured data policies Google Rich Results Test