Product schema in 2026: what it takes to earn shopping results
Google and AI shopping agents read your product markup before they read your page. Here is which schema properties matter and where reviews trip sites up.
Shopping search changed fast. Google's AI Mode and Shopping Graph, plus AI agents in ChatGPT and Perplexity that can browse and even buy, now read your product pages as structured data first and rendered HTML second. If your product schema is missing, incomplete, or out of sync with what shoppers actually see, you can be invisible before a person or an agent ever looks at the page.
Why product schema matters more now
Product rich results (price, availability, star rating) used to be a nice-to-have that lifted click-through rate. Now they feed the systems that decide which products even appear in a shopping carousel, an AI Overview comparison table, or an agent's shortlist. An agent comparing five retailers for the same item works faster and more reliably off clean schema than off scraped page text, so a page without it is more likely to get skipped than misread.
The properties that actually earn rich results
Google's documentation lists dozens of optional Product properties, but a small set does most of the work. Get these right before touching anything else:
- name, image, and description that match what's on the page, not a shortened or promotional version
- sku and, where the product has one, a global identifier like gtin or mpn plus brand
- offers with price, priceCurrency, availability, and a url that resolves to the exact page
- aggregateRating and individual review entries, only when real reviews exist
Variant products (size, color) need their own offers or their own product entries. Lumping variants under one price and one availability value is a common cause of rich results getting dropped after a spot check finds a mismatch.
Review schema and the self-serving rule
Google's structured data policy is specific here: review markup must reflect genuine opinions from people or organizations independent of the seller. Marking up your own marketing copy, a manufacturer's description, or a testimonial you wrote as a review violates the policy, and Google has suppressed review rich results site-wide for pages that do this. If you don't have real third-party reviews yet, leave the review and aggregateRating properties out rather than approximate them.
Keep the feed and the schema in sync
If you also run a Merchant Center feed for Shopping ads or free listings, treat it and your on-page schema as one source of truth, not two. A price or availability change that updates the feed but not the schema (or the reverse) creates a mismatch that can suspend listings or make Google trust your structured data less across the board. Generate both from the same product database wherever you can, rather than maintaining them by hand in parallel.
Common mistakes that block rich results
- Availability left as InStock after a product sells out, caught by the next crawl and penalized for accuracy
- Placeholder or example values (a $0.00 price, a lorem ipsum description) shipped to production and never overwritten
- Duplicate or conflicting schema blocks on the same page from a theme, a plugin, and a manual edit all adding markup
- No unique identifier per variant, so Google can't tell a small blue shirt from a large red one
An agent comparing products off your schema never sees the version of your page that only humans get right.
How much this affects AI shopping agents specifically is still an open question. Behavior varies by vendor and changes often, and none of them publish a clear ranking method the way Google documents its rich results eligibility. Treat agent visibility as a reason to keep schema clean, not as a metric you can measure precisely yet.
Where to start
- Run your top 20 product pages through Google's Rich Results Test and fix every error before adding new properties
- Confirm price and availability in your schema match the live page and the Merchant Center feed
- Remove any review or rating markup you can't attribute to an independent source
- Set an automated check that flags schema and feed values falling out of sync
Product schema is no longer just a rich-snippet tactic. It's the data layer that both search engines and shopping agents read first, so accuracy there matters as much as the copy on the page itself.