Blog · Technical

The schema your product pages need for AI answers.

Product JSON-LD field by field. Which fields matter most for AI citation, which are commonly underpopulated on Shopify, and a complete working example to start from.

eCommerce Insights Team · 2026-04-18 · 11 min read


Product JSON-LD is how you tell a machine what you're selling. It's how Google builds rich results, how Merchant Center validates your feed, and — more quietly — how AI engines ground their product answers. The good news is that the spec is open, stable, and fully documented at schema.org/Product. The bad news is that most Shopify PDPs emit only the minimum Google requires, which is a long way short of what AI engines need. This post walks the Product schema field by field, marks which fields matter most in Q1 2026, and ends with a complete example you can adapt for your theme.

The fields you need

Start with these. Each is either directly required for Google rich-result eligibility or heavily weighted in AI-engine grounding.

  • name — human-readable product name. Should match the PDP title.
  • description — prose description. Strip HTML; keep under ~5,000 characters; include buyer-recognizable language.
  • sku — your stock-keeping unit. The variant SKU if the URL resolves to a variant.
  • gtin13 or gtin14 — Global Trade Item Number. The single most important cross-reference identifier.
  • brand — a Brand object with a name. Not a plain string.
  • image — a full-resolution product image URL. Multiple images in an array preferred.
  • offers — an Offer object with url, priceCurrency, price, availability, and priceValidUntil.

The fields most Shopify PDPs leave empty

These are the additions that separate a complete Product JSON-LD from a minimal one. Most Shopify PDPs eCommerce Insights audits in Q1 2026 skip all of them.

  • additionalProperty — arbitrary key-value pairs. Use for material, pattern, fit, or any category-specific attribute. Maps naturally to Shopify metafields.
  • material — primary material. "Merino wool" beats a vague description.
  • color — variant-level color as the buyer would say it.
  • countryOfOrigin — ISO country code or country name.
  • aggregateRating — overall rating (only if you have real data).
  • review — one or more Review objects with ratings and authors (only if real).
  • audience — intended audience, e.g. adult, men's, women's.
  • hasMerchantReturnPolicy — return-policy object. Google specifically rewards this for Merchant Center listings.

Most Shopify PDPs emit only the minimum Google requires. That's a long way short of what AI engines need to ground an answer about your product.

Why each matters for AI citation

Name, description, and brand are the grounding trio — the engine can identify your product unambiguously. GTIN connects your PDP to Merchant Center, marketplaces, and review sites that reference the same product. Image lets engines include a thumbnail when they have the visual layer. Offers is required for any transactional answer (price, availability). additionalProperty, material, and color give the engine enough detail to characterize the product in the answer beyond a generic mention. aggregateRating and review feed the social-proof dimension of ranking. Each missing field narrows the surface over which your PDP can be cited.

FAQPage schema as an amplifier

Pair Product schema with a FAQPage block on the same PDP. A well-constructed FAQ with four to six buyer-phrased questions lets engines pull your answers directly into their generated responses. The structure-plus-answer pattern is one of the highest-leverage GEO moves eCommerce Insights recommends, and it's cheap — most of the work is writing the questions. Keep visible FAQ and schema FAQ in exact sync; drift between them trips some validators.

A complete Product JSON-LD example

The example below is a full Product JSON-LD block for a hypothetical running shoe. It includes every field discussed above. Adapt field values to your own catalog; most fields should be populated from Shopify metafields (see the companion post on Shopify metafields for AI search).

<script type="application/ld+json">
{ "@context": "https://schema.org", "@type": "Product", "name": "Trailrunner Pro 7", "description": "Lightweight trail-running shoe built for rocky terrain. Rockered midsole, aggressive lug pattern, 245 g per shoe in size M9.", "sku": "TR-PRO-7-M9-CLAY", "gtin13": "0810123456789", "brand": { "@type": "Brand", "name": "Northbound Running" }, "image": [ "https://cdn.example.com/tr-pro-7-clay-1.jpg", "https://cdn.example.com/tr-pro-7-clay-2.jpg", "https://cdn.example.com/tr-pro-7-clay-3.jpg" ], "material": "Recycled engineered mesh upper, TPU overlays", "color": "Clay", "audience": { "@type": "PeopleAudience", "suggestedGender": "unisex" }, "countryOfOrigin": "Vietnam", "additionalProperty": [ { "@type": "PropertyValue", "name": "Stack height", "value": "28 mm heel / 22 mm forefoot" }, { "@type": "PropertyValue", "name": "Lug depth", "value": "4 mm" }, { "@type": "PropertyValue", "name": "Weight", "value": "245 g (size M9)" } ], "offers": { "@type": "Offer", "url": "https://northbound.example.com/products/trailrunner-pro-7", "priceCurrency": "USD", "price": "175.00", "priceValidUntil": "2026-12-31", "availability": "https://schema.org/InStock", "itemCondition": "https://schema.org/NewCondition", "hasMerchantReturnPolicy": { "@type": "MerchantReturnPolicy", "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow", "merchantReturnDays": 30, "returnMethod": "https://schema.org/ReturnByMail", "returnFees": "https://schema.org/FreeReturn" } }, "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.6", "reviewCount": "847" }
}
</script>

Validation and cadence

Run every PDP JSON-LD through Google's Rich Results Test and the schema.org Validator. The first tells you whether Google will treat the markup as valid for rich results; the second catches schema-level errors that tooling-specific validators miss. Re-validate whenever you change the theme's Liquid templates. On an ongoing basis, validation drift is typically caused by a price update edge case or a missing image — quick to fix if you catch it before it spreads.

Key takeaways

  • The Product JSON-LD fields that matter most for AI citation are name, description, sku, gtin, brand, image, and offers — plus additionalProperty, material, color, and (if real) aggregateRating.
  • Most Shopify PDPs emit only the Google-minimum set, leaving additionalProperty and material blank. Those are the highest-return fills.
  • Pair Product schema with FAQPage on the same PDP. It's one of the cheapest-and-highest-leverage GEO moves available.
  • Only include aggregateRating when you have real data. Fabricated rating schema is penalized and increasingly cross-checked.
  • Validate on change, and wire JSON-LD to Shopify metafields so updates happen automatically when admin is edited.

Ask AI about Product JSON-LD for AI search

Have your favorite AI engine summarize this for your specific use case.

Frequently asked questions

Which Product JSON-LD fields matter most for AI search?
Name, SKU, GTIN, brand, description, image, and offers (with price, priceCurrency, and availability) are the core. Adding additionalProperty for material and pattern, plus aggregateRating and review when you have real data, substantially improves grounding. Those extra fields are the difference between a citeable PDP and one that engines skip.
Do I need FAQPage schema on a product page?
Yes. FAQPage schema on a PDP is one of the highest-leverage additions you can make. It lets engines lift your buyer-phrased Q&A blocks directly into answers, and it rewards the answer-coverage content you're writing for human buyers. Keep FAQ content honest — don't add questions nobody asks — and keep the schema in sync with the visible block.
Should I include aggregateRating if I don't have many reviews?
Only if the data is real. Google penalizes fabricated rating schema, and AI engines are starting to cross-check. If you have 50 real reviews, include them. If you have 3, consider skipping the schema until the sample is meaningful. Missing aggregateRating is better than misleading aggregateRating.
How often should I update Product JSON-LD?
Continuously. Price and availability should reflect the live state of your catalog. SKU, GTIN, and brand should be stable across the product's lifetime. Material, pattern, and descriptive fields should update when products change. For Shopify, wiring JSON-LD to metafields means most updates happen automatically when the admin is edited.

Audit every PDP's schema automatically.

eCommerce Insights validates Product JSON-LD across your full Shopify catalog and flags exactly which fields are missing on which SKUs.