Guide · How-to · Updated June 2026

Schema for AI search: the fields that matter

An AI engine that cites a product needs to be confident about what the product is. Structured data is how a PDP tells that story in machine-readable form — and complete Product JSON-LD is the highest-leverage technical fix on most ecommerce stores. This is the field-by-field walkthrough: what engines actually use, the common Shopify blanks, and a complete block to copy.

eCommerce Insights team · 11 min read

Why schema matters more in an answer world

In the blue-link era, schema drove rich results — stars, prices, availability ribbons under the link. In the AI-answer era it drives citation confidence: an engine that can resolve "Founder Parka" to a specific SKU with a specific price, GTIN, and material is more likely to cite and recommend it than one that can only see a marketing headline. The schema.org Product vocabulary has barely changed in years; what changed is which fields engines reach for. eCommerce Insights audits of Shopify PDPs (illustrative, across thousands of stores) show complete Product blocks correlating with higher citation share across ChatGPT, Perplexity, and Google AI Overviews — correlation, not proven cause, but the direction is consistent. Structured data is also the first input to both the citation score and the agent-readability score.

The fields AI engines use most (roughly by impact)

  • name and description. The name should carry brand, model, and key variant attribute: "Ravenback Founder Parka — Men's, Slate" beats "Founder Parka." The description is two to four citable factual sentences — material, use case, sizing, one differentiator. No adjectives doing spec work.
  • The four identifiers: sku, gtin13, mpn, brand. These let the engine resolve the product as a distinct entity. Shopify's variant SKU fills sku; gtin13 is the UPC/EAN; brand is a nested Brand object. Filling all four is the strongest single legitimacy signal an engine reads.
  • offers. Required: price (string), priceCurrency (ISO code), availability (a schema.org URL such as https://schema.org/InStock). Strongly recommended: an honest priceValidUntil — missing on roughly 80 percent of audited Shopify PDPs (illustrative).
  • image. An array of at least three full-size URLs: plain-background primary, lifestyle, detail. Engines use these for grounding and for shopping-surface tiles.
  • additionalProperty. The most underused field on Shopify. An array of PropertyValue objects for material, color, size, weight, country of origin. An engine answering "what is this jacket made of" cites a PDP that exposes material as data far more readily than one burying it in a paragraph. Shopify metafields map naturally here.
  • aggregateRating and review. Strong signals when real — twenty or more reviews is a sensible floor. Never out of sync with the visible widget.
  • category. Google Product Taxonomy strings work well. Shopify themes usually leave it blank because Shopify and Google categories do not map automatically.
Fill the identifiers once. An engine that can resolve your SKU is an engine that can cite it with confidence.

A complete working example

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Ravenback Founder Parka — Men's, Slate",
  "description": "Waterproof 3-layer shell parka with 650-fill recycled down,
    built for Pacific Northwest winters. Slate, sizes S–XXL, 1.4 kg.
    Lifetime repair program included.",
  "sku": "RB-FP-SLATE-M",
  "gtin13": "0860009123457",
  "mpn": "FP-2026-SL",
  "brand": { "@type": "Brand", "name": "Ravenback Supply Co." },
  "image": [
    "https://cdn.example.com/founder-parka-front.jpg",
    "https://cdn.example.com/founder-parka-field.jpg",
    "https://cdn.example.com/founder-parka-seam-detail.jpg"
  ],
  "category": "Apparel & Accessories > Clothing > Outerwear > Coats & Jackets",
  "additionalProperty": [
    { "@type": "PropertyValue", "name": "material", "value": "3L recycled nylon, 650-fill down" },
    { "@type": "PropertyValue", "name": "color", "value": "Slate" },
    { "@type": "PropertyValue", "name": "weight", "value": "1.4 kg" },
    { "@type": "PropertyValue", "name": "countryOfOrigin", "value": "Vietnam" }
  ],
  "offers": {
    "@type": "Offer",
    "url": "https://ravenback.example/products/founder-parka",
    "price": "420.00",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "priceValidUntil": "2026-09-30",
    "itemCondition": "https://schema.org/NewCondition"
  },
  "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.7", "reviewCount": "212" }
}

Values are illustrative; the structure is the point. The free product schema generator builds a block like this from any PDP URL.

The common Shopify blanks

FieldWhy it goes missingObserved gap*
gtin13Not entered in admin, or theme never emits it70%+
priceValidUntilNo theme default; apps skip it~80%
additionalPropertyMetafields exist but never reach the JSON-LDmost stores
mpn / category / weightNo automatic mapping from Shopify fieldscommon

*Illustrative shares from eCommerce Insights Shopify audits, mid-2026.

Filling these is a day of theme work, or a few hours with a schema app — and one warning: one clean block beats two conflicting ones. Stores running theme schema plus an app emitting a second Product block send engines contradictory data; pick one source of truth.

Variants and the offers array

Where one PDP hosts multiple variants, enumerate them in an offers array (or AggregateOffer) so an agent can see that the medium is in stock when the small is not, with per-variant sku and price. Variant-level accuracy matters more as draft-cart agents arrive — it is a core check in the ACO readiness checklist and a prerequisite for the per-SKU eligibility gating in protocols like UCP.

Validate, then keep validating

Check the block with the Schema.org validator or Google's Rich Results Test, confirm everything marked up is visible on the page (mismatches draw validator warnings and, in some observations, reduced trust), and re-audit monthly — Shopify theme updates break schema emission silently. The free AEO grader includes the schema check alongside citability and crawler access, and the full per-SKU view lives in PDP optimization. For where schema fits in the larger measurement picture, start with the product AI visibility pillar.

Questions practitioners ask

Does schema still matter when the surface is an AI answer?

More, not less. In the blue-link era schema drove rich results; in the answer era it drives citation confidence. An engine that can resolve a product to a specific SKU with a price, GTIN, and material is far more likely to cite it than one reading a marketing headline. Complete Product blocks correlate with higher citation share in audits across ChatGPT, Perplexity, and Google AI Overviews.

Which Product schema fields do AI engines use most?

Roughly in impact order: name and description (written citably), the four identifiers (sku, gtin13, mpn, brand), the offers block (price, priceCurrency, availability, priceValidUntil), the image array, additionalProperty for material/color/size, aggregateRating where real, and category. The identifiers and offer are where most Shopify stores fall short.

What schema fields are usually missing on Shopify PDPs?

The consistent blanks across audited stores: gtin13 (missing on roughly 70 percent or more, illustrative), mpn, priceValidUntil (missing on roughly 80 percent, illustrative), additionalProperty entirely, category, and weight on physical goods. Filling them is a day of theme work or a few hours with a schema app.

Can I fake aggregateRating to boost citations?

Do not. A review count out of sync with the visible review widget is a credibility drop, and as of mid-2026 mismatches trigger engine skepticism on both Google and ChatGPT. Add aggregateRating only when real review data exists — twenty or more reviews is a sensible floor — and keep the markup synchronized with what the page shows.

Generate, don't hand-write

Build a complete Product block from any PDP.

The free generator drafts the JSON-LD with identifiers, offers, and attributes — ready to validate and ship.