Creating “Product” Schema Markup

Schema Markup

Have you ever wondered how certain Google search results for products stand out with detailed information like pricing, ratings, reviews, and images, setting them apart from standard listings? These enhanced results are called Product rich results, achieved through implementing Product Schema Markup (aka Product structured data).

In this article, we dive into what Product Schema Markup is, its benefits, and how you can achieve greater visibility and engagement on search by leveraging it on your product web pages.

Expanding on its multiple benefits, adding Product Schema Markup can help your eCommerce website in two ways:

1. Product Schema Markup enhances how your store and products appear on the search engine results page (SERP).

These enhancements, formerly called rich snippets and now known as rich results, can include star ratings, reviews, price, availability, and much more!

You’re probably familiar with star ratings and reviews, as they really stand out in search results as they do in the following example for Ariat. In addition to ratings and reviews, Product rich results can also highlight shipping and return information.

An example of a Product rich result for an Ariat product containing a description, 4.7-star rating, 72 reviews, price, and delivery and return information.

2. Product Schema Markup provides context for the content on your web pages so search engines can better understand and match your products with a user’s search intent.

Schema Markup has benefits that extend beyond achieving rich results for your products and services in search. Through Schema Markup, you can define objects on your web pages as distinct entities with their own properties and relationships to other entities. Once defined, you can connect these entities to a search engine’s knowledge graph, which streamlines your content to be matched with a relevant search query.

For example, if your eCommerce store sells vegan snacks and alternatives, your structured data markup informs Google that these snacks are products for sale and that it’s not, for example, a blog post about the best vegan alternatives to snack on.

Distinguishing Between Product Snippets and Merchant Listings

According to Google, there are two classes of Product rich results: Product snippets and merchant listing experiences.

Merchant listings serve as an extension of the product snippet item, providing more comprehensive search results that consistently feature a price. A carousel may showcase these listings alongside similar products from various sellers or within a knowledge panel in the SERP.

A side by side image comparing the appearance of a Product Snippet vs. a Merchant Listing in search.

While Product rich results do not appear in the shopping tab, merchant listings do. Notably, they manifest differently within the shopping tab. Incorporating merchant listings allows you to customize your approach as you enhance your target product with additional properties. This is a process that requires the integration of Product markup.

Merchant listings come with a broader set of recommended properties compared to product snippets. These expanded features allow you to segment results based on factors such as seller, brand, pattern, size, and more.

The properties required and recommended for merchant listings are more exhaustive, providing a more detailed and nuanced representation. For example, product snippets don’t require an image, but merchant listings require one.

The effectiveness of merchant listing experiences hinges on specific product data, such as price and availability. It’s important to note that only pages that directly support the product purchases are eligible for merchant listing experiences; pages containing links to other sites selling the product do not meet the criteria.

For reference, see the following example of another Ariat product that achieved an enhanced merchant listing. Notably, it has price listed, a large and clear image of the product, delivery information, ratings, and shipping information.

An example of a merchant listing achieved by Ariat, showing a large image of a Western Boot, 4.8 star rating, delivery dates, trusted store confirmation, price, and more.

Product Result Reporting

Each type of rich result—product snippet and merchant listing—comes with distinct enhancements and reporting, each adhering to its own set of requirements and recommendations.

As per an announcement from Google Search Central, they conveyed through a tweet that, “In January 2024, [GSC] will stop reporting the Product results search appearance, both in the Performance report and the API”.

This decision to deprecate Product results aligns logically with the prior split into merchant listings and product snippets. Given that Product results essentially represent a combination of the two, the decision to deprecate it is a move towards more detailed and nuanced reporting for each.

Required and Recommended Properties for Product Structured Data

Google maintains documentation that explains what is required for “Product” structured data.

We’ve captured the most common required and recommended fields below. It is important to keep in mind, however, that the requirements and recommendations may differ between Product Snippets and Merchant Listing eligibility.

For an exhaustive list of requirements and recommendations for both Merchant Listings and Product Snippets, visit the Product Information section in their Structured Data Documentation for Product.

You can see in the example below that you can toggle between the specific properties for “Product Snippets” and “Merchant Listings” exclusively.

A screenshot from Google's Product Structured Data required properties documentation, showing that you can toggle between Product Snippets and Merchant Listings to see their unique required properties.

You must populate the required properties in order for your content to be eligible for display as a rich result in search. Recommended properties add more information to your structured data, which can provide a better user experience.

Looking for additional guidance implementing Product structured data? Read our article “6 Common Product Rich Result Mistakes You Might be Making” for more tips.


Schema Property Priority Mapping Notes
image Required ImageObject or URL:  A picture clearly showing the projecty. Must be in .jpg, .png, or. gif format.
name Required Text: The name of the product.
Either review or aggregateRating or offers Required Review, Aggregate Rating, or Offer: Once you include a review or aggregateRating or offers,  the other two properties become recommended in the Rich Results Test.
brand Recommended Brand or Organization: The brand of the product.
description Recommended Text: The product description.
gtin8 | gtin13 | gtin14 | mpn | isbn Recommended Text: Include all applicable global identifiers as described in
sku Recommended Text: The merchant-specific identifier for the product.

It’s important to note that Product Structured Data requires only one of the following properties:

  • Review
  • aggregateRating
  • Offers

Once you fulfill one of these requirements, the remaining properties will become recommended rather than required. That being said, it is always best to markup all three properties as they can provide more information in the rich result.

💡 TIP! Add Review, aggregateRating, and Offers properties to provide more information in the rich results.

We created the following visual to help conceptualize the structure of Product Schema Markup. With Product as the starting point, the required properties are used to connect to information in the form of text, URLs, or other data items containing their own properties.

Product Schema Markup Visual


The required and recommended properties for the Review, AggregateRating, and Offer data items are as follows:


Schema Property Priority Mapping Notes
author Required Person/Organization: The author of the review. The reviewer’s name must be a valid name.
reviewRating Required Rating: The rating given in this review.
reviewRating, ratingValue Required Number/Text: a numerical quality rating for the item, either a number, fraction, or percentage.
datePublished Recommended The date that the review was published, in ISO 8601 date format.
reviewRating, bestRating** Recommended Number: the highest value allowed in this rating system.
reviewRating, worstRating** Recommended Number: The lowest value allowed in this rating system.


Schema Property Priority Mapping Notes
ratingCount* Required Number: Specifies the number of people who provided a review with or without an accompanying rating.
reviewCount* Required Number: Specifies the number of people who provided a review with or without an accompanying rating.
ratingValue Required Number/Text: a numerical quality rating for the item, either a number, fraction, or percentage.
bestRating** Recommended Number: the highest value allowed in this rating system.
worstRating** Recommended Number: The lowest value allowed in this rating system.

*Note: You must have at least one of ratingCount or reviewCount.
**Note: only required if the rating system is not a 5-point scale (1 = worst rating, 5 = best rating)


Schema Property Priority Mapping Notes
availability Required ItemAvailability: The possible product availability options. This should be expressed using the URL of an ItemAvailability enumeration from, for example or
price Required Number: The offer price of a product. Utilize a period to indicate a decimal point, and ensure no ambiguous symbols are used, such as “$”.
priceCurrency Required Text: The currency used to describe the product price, in three-letter ISO 4217 format (e.g. USD for US Dollars).
priceValidUntil Recommended Text: Date: The date (in ISO 8601 date format) after which the price will no longer be available.

💡 TIP! While itemReviewed is required for standalone Review and AggregateRating data items, these should not be used when embedded within the Product template.

FYI: For the most current guidelines on required and recommended fields, reference the Google Developers Reference Guide.

How to Create Product Structured Data

There are two types of pages where you would typically create Product structured data:

  1. A product page listing a single product and
  2. A shopping aggregate page listing a single product with information from other sellers offering that product.

Learn more in Google’s Product structured data documentation.

To help you get started, we have compiled the fundamental steps for creating Product Structured Data:

Step 1: Add Required Properties for Product Structured Data

Add the required properties for Product structured data markup using our reference above. We recommend our own tools, the Schema App Editor and Schema App Highlighter, but there are many different options out there.

You should add all of the recommended and required properties, but also ensure you are connecting the entities on your site. For example, if the brand of your product on your website is also your organization, you want to make sure that the “brand” property connects back to your organization’s entity.

The Schema App Highlighter is a product of the brand, Schema App. Therefore, we can nest the Schema App Organization markup under the brand property to reflect the connection between the Schema App Highlighter and Schema App.

  "@context": "",
  "@type": "Product",
  "@id": "",
  "name": "Schema App Highlighter",
  "brand": {
    "@type": "Organization",
    "@id": "",
    "name": "Schema App",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": 4.7,
    "reviewCount": 63, 

Step 2: Review your Product Structured Data to ensure it follows Google’s Structured Data Guidelines

Google’s Product structured data feature guide has specific technical guidelines as well as content guidelines.

Your structured data and website content have to adhere to all these structured data guidelines to be eligible for a Product rich result. Read our article to learn How to Optimize Your Content to Achieve Google’s Rich Results.

Step 3: Deploy your Product Structured Data to the Relevant Pages

Once you’ve finished authoring your markup and ensuring your content aligns with Google’s guidelines, it’s time to deploy your markup.

Google recommends using JSON-LD, which is also our favourite format for deployment!

Step 4: Validate your pages to make sure the Structured Data is working

To test that your Product structured data is working properly, you should use:

  1. The Schema Markup Validator (SMV)
  2. Google’s Rich Results Testing Tool

Using the Schema Markup Validator

The Schema Markup Validator (SMV) was modelled after and has officially replaced Google’s Structured Data Testing Tool (SDTT). Many SEOs still prefer the SDTT, as the SMV only validates your syntax and does not show your eligibility for rich results.

Schema Markup Validator Screenshot

Using the Rich Results Testing Tool

Google’s Rich Results Testing Tool helps you to see which rich results can be generated by the structured data it contains.

Rich Result Test

If you’ve done everything correctly, you should start achieving Product rich results for your pages. However, it is important to note that eligibility for a rich result doesn’t guarantee that the rich result will be awarded to your page.

Google’s goal is to present users with the most relevant search results. If they do not deem a rich result to be relevant to the searcher’s query, they will likely present your page as a regular search result.

Step 5: Manage your Structured Data on an Ongoing Basis

As mentioned earlier, adding structured data to your site not only allows you to be eligible for rich results, it also enhances the search engine’s understanding of your content. This enables search engines to provide users with more relevant and accurate search results.

Therefore, it is imperative for you to continue managing your structured data on an ongoing basis even after you’ve achieved a rich result. To maintain your rich result eligibility, you’ll need to ensure the content on your page matches the structured data.

As we shift towards AI search, maintaining your structured data can also help you control how AI search engines interpret your brand and content. Thereby futureproofing your organization’s web visibility and contributing to the development of the semantic web.

Having a dynamic Schema Markup solution like the Schema App Highlighter can help you update your markup whenever the content on your page changes. Get in touch with our team to learn more.

Scaling Your Product Schema Markup

At Schema App, we don’t just focus on achieving Product rich results – we’re dedicated to unlocking the full semantic potential of your content.

By applying Schema Markup to your product pages, you not only make them eligible for rich results, but you also provide clarity and contextual understanding to search engines through your content markup. This approach lets you take charge of how your brand appears in search, improving visibility and enhancing relevance in search results.

Through the powerful combination of our Schema Markup expertise and advanced semantic technology, we empower your digital team to be more agile and effective in their SEO strategy and preparation for the future of AI-driven search.

We’ve helped eCommerce brands such as Avid Technology and Keen Footwear become leaders in the online shopping industry by showcasing their unique value in search with structured data.

If you’re struggling to find a scalable solution to enhance your Product rich results and drive performance, Schema App is here to help. Get in touch with us today.

Frequently Asked Questions about Product Schema Markup

What is Product Structured Data?

Product Structured Data, also known as Product Schema Markup, is code you can add to the backend of your website so that search engines can provide additional information about your products in search through enhanced features like product rich results.

Schema Markup is a standardized vocabulary that uses the properties and types defined at, a resource for SEOs created by Google, Microsoft, Yandex, and Yahoo back in 2011.

How do you Create Product Structured Data?

  1. Add all of the required Product properties to your individual product pages. Google recommends using JSON-LD, as do we!
  2. Validate your structured data markup using Google’s Rich Results Testing Tool.
  3. Deploy your structured data markup, and use the Schema Markup Validator to analyze your syntax for any errors.
  4. Request that Google recrawls your newly marked-up web page using Google Search Console.

How do you Fix Product Structured Data Errors?

Product structured data seems complex because of three common errors that appear for this type of structured data: “offers”, “reviews”, and “aggregate rating” showing up as ‘either “offers”, “review”, or “aggregateRating” should be specified’. To fix this error, you’ll need to use these three schemas in your Product markup. Product structured data requires including either “offers”, “reviews”, or “aggregateRating” in your Schema Markup.

Once one of these has been fulfilled, the remaining properties will become recommended rather than required. It is always best to markup all three properties as they can provide more information in the rich result. Learn more about how to tell if your Schema Markup is working in our guide.

Set up a call with our technical experts today.


Martha van Berkel is the co-founder and CEO of Schema App, an end-to-end Semantic Schema Markup solution provider based in Ontario, Canada. She focuses on helping SEO teams globally understand the value of Schema Markup and how they can leverage Schema Markup to grow search performance and develop a reusable content knowledge graph that drives innovation. Before starting Schema App, Martha was a Senior Manager responsible for online support tools at Cisco. She is a Mom of two energetic kids, loves to row, and drinks bulletproof coffee.