If there is one single technical change that will most improve your product catalog's visibility in AI shopping systems, it is adding complete, accurate JSON-LD Product schema to every product detail page.
Yet in our assessments across hundreds of ecommerce sites, we find that fewer than 40% implement it correctly, and nearly 60% of those that do have missing critical fields that significantly reduce its effectiveness.
This guide covers exactly what JSON-LD is, why AI systems depend on it, what a complete implementation looks like, and the most common mistakes to avoid.
Why AI Systems Depend on Structured Data
When a human visits your product page, their brain parses the visual layout intuitively. They see the product name in large type, the price in a coloured box, the image on the left, and "In Stock" in green. They understand this without being told.
AI systems cannot do this reliably. HTML pages mix product data with navigation, promotional banners, footer links, cookie notices, and tracking scripts. Extracting reliable product attributes from unstructured HTML requires complex, error-prone parsing.
JSON-LD solves this. Instead of asking AI systems to guess from your HTML, you explicitly tell them:
"This is a Product. Its name is X. It costs £149. It is in stock. It is manufactured by brand Y."
This data is embedded in a <script type="application/ld+json"> tag that AI crawlers read first, separately from the visible page content.
The Anatomy of a Complete Product Schema
Here is what a complete, production-ready Product schema looks like:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Professional Cordless Drill 18V",
"description": "Heavy-duty 18V cordless drill with brushless motor, 2-speed gearbox, and 13mm keyless chuck. Includes 2x 4.0Ah batteries and fast charger.",
"image": [
"https://example.com/products/drill-front.jpg",
"https://example.com/products/drill-side.jpg"
],
"sku": "PRD-18V-001",
"mpn": "CD18BL-2",
"brand": {
"@type": "Brand",
"name": "PowerTools Pro"
},
"manufacturer": {
"@type": "Organization",
"name": "PowerTools Pro Ltd"
},
"offers": {
"@type": "Offer",
"url": "https://example.com/products/professional-cordless-drill-18v",
"priceCurrency": "GBP",
"price": "149.99",
"priceValidUntil": "2027-01-01",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"seller": {
"@type": "Organization",
"name": "Example Store"
}
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "238"
}
}
Every field here serves a purpose. Let us walk through the most important ones.
Critical Fields AI Systems Use
name and description
These are used by AI systems to understand what the product is. A vague name like "Drill 18V" performs worse than "Professional Cordless Drill 18V — Brushless Motor with 2-Speed Gearbox." Your description should be factual and rich: include the primary use case, key specifications, and what differentiates this product.
offers.availability
This is critical for AI shopping recommendations. AI systems will not recommend products that appear to be out of stock. Use the full Schema.org URI:
https://schema.org/InStockhttps://schema.org/OutOfStockhttps://schema.org/PreOrderhttps://schema.org/LimitedAvailability
Common mistake: Setting availability to InStock in schema when the product is actually sold out on the page. AI systems cross-reference this and penalise inconsistent data.
image
Provide multiple image URLs as an array. AI systems use images to validate that the schema matches the product. Always use absolute HTTPS URLs. Relative paths (/images/product.jpg) will fail validation.
brand and manufacturer
These fields help AI systems match your products to brand-level queries. If a user asks "Show me cordless drills by [Brand]", the brand field is what connects your product to that query.
sku and mpn
The SKU (Stock Keeping Unit) and MPN (Manufacturer Part Number) are used by AI shopping systems to deduplicate products across multiple retailers. If your product appears on Amazon, your own store, and a distributor, the MPN allows AI systems to understand these are the same product — and surface the best price or most trusted source.
aggregateRating
While not required, aggregate rating is highly influential. AI shopping systems use ratings as a quality signal when recommending between similar products. Even a rating of 4.1/5 from 12 reviews is significantly better than no rating.
Common Mistakes That Kill Effectiveness
1. Missing priceValidUntil
Without this field, Google (and AI systems following Google's guidelines) may treat the price as stale. Set it at least 12 months ahead and update it regularly.
2. Static schema not matching live page
If your schema says the price is £149 but the page shows £129 (sale price), AI systems detect this inconsistency and may distrust your entire schema block. Always generate schema dynamically from your product database, never hardcode it.
3. Schema only on the homepage
This is surprisingly common. The Product schema belongs on every individual product detail page — not on the homepage, category pages, or blog. Placing a generic Product schema on your homepage does nothing.
4. Using Microdata instead of JSON-LD
Microdata (attributes like itemprop="name" mixed into your HTML) is technically supported but significantly harder to maintain, more prone to errors, and less preferred by AI crawlers. JSON-LD in a <script> tag is the current standard and is what all major AI platforms recommend.
5. Incomplete offers block
The offers block must include at minimum: price, priceCurrency, availability, and url. Missing any of these renders the schema ineligible for Rich Results and reduces AI shopping indexation.
Testing and Validating Your Implementation
Before deploying, test every product page with:
- Google Rich Results Test — confirms your schema is syntactically valid and eligible for Rich Results
- Schema.org Validator — broader validation against the full Schema.org specification
- Google Search Console — after deployment, the Enhancements section shows how many product pages have valid schema at scale
For large catalogs, prioritise testing your 10–20 highest-traffic product pages first, then systematically roll out to the full catalog.
Beyond Product Schema: What to Add Next
Once Product schema is solid, the next highest-impact additions are:
BreadcrumbListschema — helps AI systems understand product hierarchy and category contextFAQPageschema — on PDPs with FAQ sections, this enables FAQ Rich Results and provides natural language context AI systems value highlyReviewschema — individual reviews give AI systems more signal than aggregate ratings alone
If you want to assess the current state of your schema implementation across your full catalog, our free assessment crawls your live product pages and scores your structured data completeness as part of the 6-pillar report.