wprichsnippets
Guide · Schema types · Business and productsCERT No. ST 0006

Product schema and AI shopping answers

Schema type
Product Offer AggregateRating
Checked against
Google Search Central and schema.org documentation, read November 2026
Author
The wprichsnippets.com editors
Published
Updated
Direct answerField 01

Product schema is structured data that describes one product: its name, image, offer, price, availability and ratings. Google splits it into product snippets, for pages where people cannot buy, and merchant listings, for pages where they can. Google asks that these facts match the visible page and your Merchant Center data for its shopping and AI features.

57 wordsUpdated November 8, 2026
FeatureFig. 01
A plain white product box beside a blank swing tag on a red string
Product markup in three layers: the product, its offer and its rating.

01What is product schema?

Product schema is the schema.org Product type and the Offer nested in it, written as JSON-LD on the page for one product. It states what the item is, what it costs, whether it is in stock and how buyers rate it.

Google's introduction to product structured data explains what the markup can do: product information can appear in richer ways in Search, including Google Images and Google Lens, with price, availability, review ratings and shipping information shown in the result. Which of those details appear is Google's call, query by query.

Product schema is the most commercial type in our schema types section, and the one most often generated by a shop plugin rather than written by hand. If you want the general picture first, the handbook home answers how do machines read structured data?

02Product snippets or merchant listings: which one applies?

Google divides product markup into two classes, according to its introduction. Product snippets are for product pages where people cannot buy directly, such as an editorial review. Merchant listings are for pages where customers can buy from you.

Product snippets and merchant listings compared
Product snippetsMerchant listings
Page typeProduct pages without a direct purchase, such as editorial reviewsPages where customers buy from you
Required beyond nameOne of review, aggregateRating or offersimage and offers
Offer typeOffer or AggregateOfferOffer, with you as the seller
PriceAny priceA price greater than zero
Extra optionsPros and cons on editorial reviewsShipping, returns, sizing and variants

The two overlap. Google says that adding the required merchant listing properties generally makes a product page eligible for product snippets too, so a shop only needs to aim for merchant listings.

Both apply to one product per page. The product snippet documentation says product rich results only support pages that focus on a single product or variants of the same product, gives "shoes in our shop" as an example of something that is not a specific product, and recommends marking up product pages rather than category pages. It also asks for a distinct URL per currency when a product is sold in more than one.

03How should you mark up offer, price and availability?

The merchant listing documentation requires a name, an image and an offer. The offer needs a price, or a priceSpecification with one, and a priceCurrency in three-letter ISO 4217 format. Availability is recommended, using schema.org values such as InStock, OutOfStock, BackOrder, PreOrder, LimitedAvailability or Discontinued.

Unlike product snippets, merchant listing experiences require a price greater than zero.

Google Search Central, Merchant listing structured data · developers.google.com · read on

Sale prices have a specific pattern. The active price is the one in price; to show it as a sale, add a second price for the original amount marked with a priceType of StrikethroughPrice, and never mark the active price with a priceType. If both price and priceSpecification state an active price, Google uses price and ignores priceSpecification.

Variants need their own decision. A shirt in four sizes and three colours can be one product page with a selector or several pages. Google's product documentation says both product snippets and merchant listings support product variant markup, which tells Google which items are variations of the same parent, and that variants with distinct URLs count as single-product pages.

itemCondition is worth adding for anything sold used or refurbished, using schema.org values such as NewCondition, UsedCondition or RefurbishedCondition. Whatever the markup says about condition, price or stock must match the page a shopper sees at the same moment.

This is where products and software part ways. A free app can carry an offer with a price of 0, as our guide to SoftwareApplication schema explains, but a merchant listing cannot.

04How do ratings work on product pages?

A product's aggregateRating and review follow the same review snippet guidelines as every other type, set out in our guide to review schema and review snippets. The ratings must come from your own users, be visible on the page and not be copied from other websites.

Pros and cons are narrower. The product snippet documentation says only editorial product review pages are eligible for the pros and cons appearance, not merchant product pages or customer product reviews. A shop's product page can show customer ratings; it cannot mark up its own list of pros and cons for that treatment.

The same documentation notes that the Rich Results Test may warn when you provide offers without review or aggregateRating. The warning is not an error, and the honest response to it is to leave ratings out until you have real ones.

05How does product markup reach AI shopping answers?

Google's guidance on AI features in Search says there is no special schema.org markup needed to appear in AI Overviews or AI Mode. Among the basics it lists two that matter for shops: making sure structured data matches the visible text on the page, and checking that Merchant Center and Business Profile information is up to date.

In other words, Google points shops to the same product data it uses elsewhere in Search. The product introduction notes that some experiences combine data from on-page markup and Merchant Center feeds when both are available, and that product snippets may use pricing from a feed when the page markup lacks it.

Delivery method matters. The merchant listing guidelines recommend putting Product markup in the initial HTML and warn that markup generated by JavaScript can make Shopping crawls less frequent and less reliable, which is a problem for prices and stock that change often.

Answer engines outside Google that show shopping results have not published, in the documentation read for this guide, how much weight they give on-page Product markup. Server-rendered HTML with the price, stock status and key specifications in plain text is the common ground every crawler can read.

06Feed or on-page markup?

Both, if you can. Google's introduction says that providing structured data on pages and a Merchant Center feed maximizes eligibility for its experiences and helps it understand and check your data. A feed is the faster channel for price and stock changes; on-page markup ties those facts to the page a shopper lands on.

Whichever channel carries a change first, the page must catch up quickly. A price cut that reaches the feed in the morning and the page in the evening leaves the two disagreeing for a day, and the page is what shoppers and crawlers see when they arrive. Generate the visible price, the JSON-LD and the feed row from one source in your shop system.

On WordPress, WooCommerce prints its own product markup, and its gaps are usually brand, global identifiers and review authors. Our guide to WooCommerce product and review schema covers what it outputs and how to fill those gaps without fighting the theme.

07Product JSON-LD example

The example is a merchant listing for a fictional mug, with a sale price, stock status and a rating average from the shop's own customers. All values are examples, including the GTIN.

Example 1 · a merchant listing with a sale priceJSON-LDDisplay only
1{2  "@context": "https://schema.org",3  "@type": "Product",4  "name": "Example Ceramic Mug",5  "image": [6    "https://example.com/images/mug-1x1.jpg",7    "https://example.com/images/mug-4x3.jpg",8    "https://example.com/images/mug-16x9.jpg"9  ],10  "description": "A 350 ml stoneware mug with a matte glaze.",11  "sku": "EX-MUG-350",12  "gtin13": "0012345678905",113  "brand": {14    "@type": "Brand",15    "name": "Example Pottery"16  },17  "offers": {18    "@type": "Offer",19    "url": "https://example.com/shop/example-ceramic-mug/",20    "priceCurrency": "USD",21    "price": 18,222    "priceSpecification": {23      "@type": "UnitPriceSpecification",24      "priceType": "https://schema.org/StrikethroughPrice",325      "price": 24,26      "priceCurrency": "USD"27    },28    "availability": "https://schema.org/InStock",29    "itemCondition": "https://schema.org/NewCondition"30  },31  "aggregateRating": {32    "@type": "AggregateRating",33    "ratingValue": 4.5,34    "ratingCount": 36435  }36}
  1. 1Line 12Numeric form only; Google does not support the URL form for GTINs.
  2. 2Line 21The active price, greater than zero for merchant listings.
  3. 3Line 24The original price, marked so the active price reads as a sale.
  4. 4Line 34Ratings from this shop's customers, shown on the page.

Shipping details and return policies can be added to the offer, and Google's product introduction also recommends describing return policies under your Organization markup. Add them only when the visible page states the same terms.

08Questions

Q1Do I need a Merchant Center feed if I have product markup?

No, on-page markup works on its own. Google's product documentation says that providing both page markup and a Merchant Center feed maximizes eligibility for its experiences and helps it understand and check the data. If prices or stock change often, a feed is worth the extra setup.

Q2Can a category page use Product schema?

Not for product rich results. Google's product snippet documentation says these results only support pages that focus on a single product or variants of one product, and recommends marking up product pages rather than pages that list products or a category. A category page is a list.

Q3Why does the Rich Results Test warn about offers without ratings?

Google's product snippet documentation says the test may report a warning if you provide offers without review or aggregateRating. It is a warning, not an error: the page can still be eligible. Add ratings only when you have genuine ones from your own customers to show on the page.

Q4Should product markup be added with JavaScript?

Google recommends putting Product markup in the initial HTML. Its merchant listing documentation warns that markup generated by JavaScript can make Shopping crawls less frequent and less reliable, which matters for fast-changing details such as price and availability. Server-side output is the safer default.

09Sources

  1. AI features and your websiteGoogle Search Central