Chat on WhatsApp

Can I validate my Product JSON-LD if my offers block is dynamic (price changes per customer group)?

Yes, but you need to validate the rendered JSON-LD as Googlebot sees it, not your template source.

The challenge with Magento + dynamic pricing:

  • Customer-group pricing → different prices per group → Googlebot sees the “not-logged-in” price (NOT_LOGGED_IN customer group).
  • B2B segment pricing → segment-aware prices → Googlebot sees the default segment’s price (or no price if segmented away from default).
  • Tier prices / minimum order quantity → Googlebot sees the unit price for qty=1.
  • Configurable products → if you don’t pre-select a default child, Googlebot sees the parent’s placeholder price (often empty, this is the #1 source of “missing price” Search Console errors on Magento configurable PDPs).

How to test:

  1. Open the PDP in an incognito browser (no auth, no segment cookies).
  2. View source, find application/ld+json, copy the rendered JSON-LD (not your template source).
  3. Paste into this validator. If offers.price is empty or "0.00" when stock exists, the price isn’t rendering for anonymous visitors, this is the bug.

Fix path: emit a price + priceSpecification structure that uses the default-segment price, or use priceRange on the parent Configurable with min/max from child SKUs. The validator’s fix-suggestions section gives you a copy-pastable Magento PHP block to do this.

Was this helpful?