Shopify Product JSON-LD
Product JSON-LD on Shopify: which fields to check and how to validate
Direct answer. Shopify themes usually emit Product structured data. Shopify’s structured_data Liquid filter converts a product object to schema.org JSON-LD (Product when there are no variants; ProductGroup when there are). On a live product page, check that the JSON-LD includes name, image, description, sku or gtin, brand, and an Offer with price, priceCurrency, and availability as schema.org/Product and Google’s product structured-data documentation describe those properties. Validate with a markup tester on the live URL. This page describes those fields in prose; it does not decide ranking. Not legal advice.
Agentic Catalog by momiji (Shopify App Store · Write a review) audits Product JSON-LD and Open Graph completeness on live product pages, reviews policy, shipping, tax, domain, and product data in one readiness score, and reviews fix guidance so you can rerun scans. This page is the field-by-field reading aid — not a catalog-wide live-page audit by itself, and not a ranking or inclusion promise.
Related: Staff Access Audit Guard — Staff access audit for permission drift after the last review.
Free check first: Product JSON-LD field checker runs in your browser and sends nothing. Paste product JSON-LD and see which merchant-listing fields are present or missing.
Checklist: fields to read in the live Product JSON-LD
- name — the product name schema.org and Google list for Product.
- image — a product image URL (Google documents image as a Product property for rich results).
- description — product description text in the JSON-LD, not only in the visible theme.
- sku and/or gtin (or a GTIN subtype such as gtin13) — identifiers schema.org defines on Product; confirm which your theme actually emits.
- brand — typically a Brand object with a name, as in Shopify’s documented
structured_dataexample. - offers.price, offers.priceCurrency, and offers.availability — Offer properties on schema.org and in Google’s product documentation.
Those names are property names from schema.org and Google’s product structured-data pages. Required versus recommended status can differ between a product snippet and a merchant listing; read the live Google table rather than this checklist. Shopify’s filter example also emits url, offers.url, and offers.@type Offer. Missing fields in a theme default are common when description, vendor/brand, barcode, or a variant price is empty in Admin.
How themes usually output it
Shopify documents the Liquid pattern {{ product | structured_data }} inside an application/ld+json script. Online Store 2.0 themes often include that filter or an equivalent Product JSON-LD snippet. A theme that emits some Product JSON-LD is not proof that every live URL is complete. Apps can add a second Product graph; Google’s documentation treats conflicting or duplicate Product markup as a validation risk. Confirm what the live HTML actually contains.
How to validate
- Open a live product URL, view source, and find
application/ld+jsonblocks whose@typeis Product or ProductGroup. - Confirm the checklist properties above are present and non-empty. For variants, Shopify documents ProductGroup output; look for the offer on the variant the page represents.
- Paste the live URL into Google’s Rich Results Test and, if you want schema.org-level checking, the Schema Markup Validator.
- Re-check after theme, app, or catalog edits. A single preview in the theme editor is not a catalog-wide pass.
Google’s product documentation is the source for which fields a given rich-result type expects. This page does not claim that filling the checklist produces a rich result or AI-shopping inclusion.
What this page is not
- Not a ranking promise, an inclusion guarantee, or legal advice.
- Not a catalog-wide live-page audit. That sibling is JSON-LD and Open Graph completeness.
- Not Open Graph. Completing Product JSON-LD does not complete
og:tags.
Related pages
- Product JSON-LD field checker — paste JSON-LD and see which fields are present
- Audit Product JSON-LD and Open Graph completeness — live-page catalog pass, not one URL
- Shopify Open Graph tags for AI shopping — Open Graph is not Product JSON-LD
- Shopify agentic storefronts — the sales channel, not the markup
- Agentic Catalog by momiji — live App Store listing
- schema.org/Product
- Google product structured data
- Shopify Liquid
structured_data - Shopify apps hub
- Tools
Not legal advice. Confirm schema.org, Google’s product structured-data documentation, and the live theme output before you treat a product page as complete. The app audits live pages; it does not guarantee rich results.