Schema Markup
Technical SEO
How-To

The Exact Product Schema Markup That Wins AI Citations in 2026

A practical, copy-paste guide to Product schema markup that gets your products cited by ChatGPT, Perplexity, Gemini, and Google AI Overviews. Includes validated JSON-LD examples.

By AISeen Team··7 min read

Product schema markup has existed since 2011. Most e-commerce developers know it exists. But the version that was sufficient for Google rich results in 2022 is not the version that wins AI citations in 2026.

This guide covers exactly which fields to implement, in what format, with validated JSON-LD examples you can copy and adapt.

Why schema matters more for AI than it did for Google

Google's crawlers are sophisticated enough to extract product information from unstructured page content. They have been doing it for fifteen years and have extensive heuristics for finding prices, reviews, and descriptions even without formal markup.

AI assistants do not have this luxury. Large language models process text. During training, they absorb product information from pages that communicated it clearly and structurally. During inference (when models with live search are used), they extract and summarize content from pages they can retrieve.

In both cases, explicit machine-readable structure wins. A product page with complete JSON-LD schema communicates more information, more reliably, than one without — regardless of how clear the human-readable content is.

The specific fields that matter for AI citation have shifted based on what models are consistently asked to cite. Our testing across 1,247 store audits shows these fields drive the highest improvement in AI mention rates.

The minimum viable Product schema block

`json

{

"@context": "https://schema.org",

"@type": "Product",

"name": "Summit Trailblazer 40L Hiking Pack",

"description": "40-liter technical daypack with aluminum stay frame, 7075 aluminum ice axe loops, and 3L hydration sleeve. 2.8 lbs. Fits torso lengths 16–22 inches with adjustable shoulder harness. Suitable for day hikes, summit approaches, and multi-day with a bivy. Rain cover included.",

"sku": "STB40-GRN-M",

"brand": {

"@type": "Brand",

"name": "Summit Outdoor Gear"

},

"offers": {

"@type": "Offer",

"price": "189.00",

"priceCurrency": "USD",

"availability": "https://schema.org/InStock",

"url": "https://summitoutdoorgear.com/products/trailblazer-40l",

"seller": {

"@type": "Organization",

"name": "Summit Outdoor Gear"

}

},

"aggregateRating": {

"@type": "AggregateRating",

"ratingValue": "4.7",

"reviewCount": "234",

"bestRating": "5",

"worstRating": "1"

}

}

`

This block is functional and validates against the schema.org spec. It will satisfy Google Rich Results requirements. But it is not what wins competitive AI citations. For that, you need the extended fields below.

The extended schema that actually wins AI mentions

The following fields are not required by the schema.org Product spec, but our data shows they significantly increase AI citation rates for competitive queries:

material

For any product where material is a purchasing consideration — apparel, outdoor gear, home goods, wellness, baby products — the material field gives AI assistants a specific, citable attribute.

`json

"material": "420D ripstop nylon body with 210D nylon packcloth lining"

`

Stores that added material to their hiking gear products saw a 23% average increase in AI mention rate for material-specific queries ("best lightweight hiking pack," "durable daypack under 3 lbs").

color

`json

"color": "Forest Green"

`

Simple, but it enables citation for color-specific queries that AI assistants get asked about more frequently than most sellers expect ("gifts for outdoor lovers — green options," "matching hiking gear sets").

audience

Critical for baby, kids, pet, and health products. AI assistants frequently filter recommendations by audience, and the audience field enables that matching.

`json

"audience": {

"@type": "PeopleAudience",

"suggestedAge": {

"@type": "QuantitativeValue",

"minValue": "18",

"maxValue": "65",

"unitText": "years"

}

}

`

Or for baby products:

`json

"audience": {

"@type": "PeopleAudience",

"suggestedAge": {

"@type": "QuantitativeValue",

"minValue": "0",

"maxValue": "2",

"unitText": "years"

}

}

`

additionalProperty for spec tables

This is the single most underused field in product schema, and it is the one with the highest impact on AI citation for feature-specific queries.

`json

"additionalProperty": [

{

"@type": "PropertyValue",

"name": "Weight",

"value": "2.8 lbs"

},

{

"@type": "PropertyValue",

"name": "Volume",

"value": "40 liters"

},

{

"@type": "PropertyValue",

"name": "Frame",

"value": "Aluminum stay with moldable lumbar pad"

},

{

"@type": "PropertyValue",

"name": "Fit",

"value": "Fits torso 16–22 inches"

},

{

"@type": "PropertyValue",

"name": "Certifications",

"value": "OEKO-TEX Standard 100"

}

]

`

When a shopper asks Perplexity "best hiking pack under 3 lbs with a frame," the PropertyValue weight field gives the model an explicit, structured source to cite. Without it, the model is extracting from prose description and may miss it or misattribute it.

review (at least one structured review)

Individual reviews in schema markup do more than contribute to aggregateRating. They give AI models actual text to draw from when generating recommendations.

`json

"review": [

{

"@type": "Review",

"reviewRating": {

"@type": "Rating",

"ratingValue": "5"

},

"author": {

"@type": "Person",

"name": "Mara L."

},

"reviewBody": "Used this on a 4-day trip in the Cascades. The aluminum frame made a noticeable difference on 12-mile days. Hip belt padding is excellent. Rain cover tucked neatly into the bottom pocket."

}

]

`

The reviewBody text becomes training signal and, for browsing models, a quotable source. Reviews that contain specific attributes ("aluminum frame," "hip belt padding," "12-mile days") are far more valuable for AI citation than generic praise.

The complete high-performance schema block

Here is the full integrated block using all the fields above:

`json

{

"@context": "https://schema.org",

"@type": "Product",

"name": "Summit Trailblazer 40L Hiking Pack",

"description": "40-liter technical daypack with aluminum stay frame, 7075 aluminum ice axe loops, and 3L hydration sleeve. 2.8 lbs. Fits torso lengths 16–22 inches with adjustable shoulder harness. Rain cover included. Suitable for day hikes, summit approaches, and multi-day with a bivy.",

"sku": "STB40-GRN-M",

"brand": {

"@type": "Brand",

"name": "Summit Outdoor Gear"

},

"material": "420D ripstop nylon body with 210D nylon packcloth lining",

"color": "Forest Green",

"offers": {

"@type": "Offer",

"price": "189.00",

"priceCurrency": "USD",

"availability": "https://schema.org/InStock",

"url": "https://summitoutdoorgear.com/products/trailblazer-40l",

"seller": { "@type": "Organization", "name": "Summit Outdoor Gear" }

},

"aggregateRating": {

"@type": "AggregateRating",

"ratingValue": "4.7",

"reviewCount": "234",

"bestRating": "5",

"worstRating": "1"

},

"additionalProperty": [

{ "@type": "PropertyValue", "name": "Weight", "value": "2.8 lbs" },

{ "@type": "PropertyValue", "name": "Volume", "value": "40 liters" },

{ "@type": "PropertyValue", "name": "Frame", "value": "Aluminum stay with moldable lumbar pad" },

{ "@type": "PropertyValue", "name": "Fit", "value": "Fits torso 16–22 inches" }

],

"review": [

{

"@type": "Review",

"reviewRating": { "@type": "Rating", "ratingValue": "5" },

"author": { "@type": "Person", "name": "Mara L." },

"reviewBody": "Used this on a 4-day trip in the Cascades. The aluminum frame made a noticeable difference on 12-mile days. Hip belt padding is excellent. Rain cover tucked neatly into the bottom pocket."

}

]

}

`

How to implement this on Shopify

On Shopify, JSON-LD schema goes in your product.liquid template (or product.json in Online Store 2.0 themes) inside a