Search
Clear search
Close search
Google apps
Main menu

About microdata for Google Shopping

You can use schema.org microdata on your product landing pages to help Google Shopping retrieve up-to-date information directly from your website. By using microdata with automatic item updates, you can help support a high-quality experience for users who view your ads.

This article describes how microdata works, how to set it up, and how to troubleshoot any issues that come up.

Valid schema.org microdata allows us to read your landing page and enables two shopping features: 

  • Automatic item updates, which reduces the risk of account suspension for price and availability mismatches and prevents temporary item disapproval. 
  • Google Sheets Merchant Center add-on, which uses microdata to help you update many attributes in your feed. For more in-depth information about setting up schema.org microdata on your website, please visit schema.org’s getting started guide.

How microdata works

Microdata is a structured data markup schema that you can add to your existing web page. Google and other web platforms can use this metadata to extract information about your products directly from your website. You can implement microdata on your website by following the markup HTML available at schema.org and ensuring accessibility for Google’s crawler. Learn more about schema.org.

There are two ways that you can use microdata for your data. First, you can use it in the Google Sheets add-on for Merchant Center to automatically update many attributes in your feed. Additionally, you can  use microdata to determine whether the product data you submit to Google Shopping matches exactly what's shown on your website.

Automatic item updates with microdata

If the price and availability information you submit to Google Shopping doesn't match the information available on your website, Google will temporarily disapprove items with mismatching data. In order to prevent these temporary disapprovals, you can choose to enable automatic item updates. If you use this feature, we will update your items on Google Shopping based on the schema.org microdata on your website rather than temporarily disapproving them.

Feed updates with microdata

If you’ve annotated your website with schema.org microdata annotations, the Google Sheets Merchant Center add-on may be able to update values directly from your website’s product landing pages into the feed. Once you have a Google Sheets-powered feed registered in your Merchant Center account, you can install the Google Merchant Center add-on and select the Update from website tab to get started. The add-on will pull data from your website’s landing pages. As before, you can also validate and submit your data directly from the add-on.

Limitations of microdata

If you adapt your website functionality based on a user’s location – for example by giving a range of prices or using IP detection – then automatic item updates will most likely not be effective.

Google’s crawler needs to be able to retrieve accurate information from your website in order to match it to the product data you submit to Google Shopping. Regardless of the user's location or IP address, the product information shown on the landing page has to match what's provided in your product data.

How to set up microdata

This section outlines best practices for implementing schema.org microdata on the product landing pages you submit to Google Shopping.

Schema.org microdata example

<body>
  <div itemscope itemtype="http://schema.org/Product">
    <span itemprop="name">Google Nexus 7</span>
    <meta itemprop="gtin14" content="00886227537143" />
    <meta itemprop="sku" content="abc123" />

    <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
      <meta itemprop="priceCurrency" content="USD" />$
      <span itemprop="price">229.95</span>
      <meta itemprop="itemCondition" itemtype="http://schema.org/OfferItemCondition" content="http://schema.org/NewCondition"/>New
      <meta itemprop="availability" content="http://schema.org/InStock"/>Available online
    </div>
  </div>
</body>

 

Your landing pages should contain a microdata object of type Product (http://schema.org/Product) that describes the product that is sold. This object should contain a nested Offer (http://schema.org/Offer) object in the offers field that describes how this product is sold. You can find more examples on http://schema.org/Offer.

Please note that the price has to be specified with a period as a decimal separator. For example, a landing page in French might use the following microdata to specify the price:

<meta content="29.50" itemprop="price" />
<meta itemprop="price" content="29.50" />29,50
<meta itemprop="pricecurrency" content="EUR" />€

If a sales price is shown on the landing page and this price is what a user would actually pay at that point in time, please ensure that this price is provided in the microdata.

If you show the price in multiple currencies on the landing page you can use multiple objects of type Offer. In such cases you need to use the priceCurrency attribute to specify the currency.

PriceCurrency attribute example
<div itemtype="http://schema.org/Product" itemscope>
  <meta itemprop="name" content="Google Nexus 7">
  <meta itemprop="sku" content="abc123">
  <meta itemprop="gtin14" content="00886227537143" />
  <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
    <meta itemprop="price" content="229.95" />
    <meta itemprop="priceCurrency" content="USD" />
  </div>
  <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
    <meta itemprop="price" content="27800" />
    <meta itemprop="priceCurrency" content="JPY" />
  </div>
</div>

The microdata should be valid, and show no warnings in the Structured Data Testing Tool. The values present in the microdata should match what is presented to the user. The microdata needs to be present in the HTML source code of the landing page. It should not be rewritten with JavaScript.

Note: Some attributes are not supported by schema.org. Visit the supported microdata attributes page to learn more.

Specifying price, priceCurrency, and availability is required for automatic item updates.

For more in-depth information about setting up schema.org micordata on your website, please visit schema.org’s getting started guide. In particular, the section on machine-understandable versions of information has recommendations on disambiguating your microdata. For example, it is recommended that if you’re using enumerations and canonical references to use the link tag with href, and to use the meta tag with content for missing or implicit information.

In order for Google’s crawler to match microdata present on a product landing page to your Shopping product data, one of the two following conditions must be satisfied:

  • There is one and only one offer on the landing page.
  • If there are multiple offers on the whole page, each offer present on the page is annotated with a SKU or a GTIN and the respective offer in your product data on Shopping has the same SKU ('id' attribute) or GTIN ('gtin' attribute). This can be useful if you show multiple variants of the same product (e.g. different sizes or colors) on the same landing page.

If one of these conditions are not met, we will not be able to match the products on your landing pages with the product data you submit to Google Shopping.

If you want to add microdata without making any user-visible changes you can embed the values in the attributes.

Embedded values example
<div itemscope itemtype="http://schema.org/Product">
  <meta itemprop="name" content="Google Nexus 7" />
  <meta itemprop="gtin14" content="00886227537143" />
  <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
    <meta itemprop="price" content="55.00" />
    <meta itemprop="priceCurrency" content="USD" />
    <meta itemprop="availability" content="http://schema.org/InStock" />
    <meta itemprop="itemCondition" content="http://schema.org/NewCondition" />
  </div>
</div>

You can test your microdata implementation with the Structured Data Testing Tool. To learn more about using the tool and debugging any issues interpreting your results in the tool, please visit the Google Search Console Help Center.

Please ensure that the information specified in the microdata matches what is shown to the user. Note that providing incorrect microdata on your product landing pages is also a violation of our webmaster guidelines.

Troubleshoot microdata issues

If we are unable to extract microdata from your website, we will report the issue to you in the Diagnostics section in the Products page of your Merchant Center account. You’ll see these issues listed in your account whether or not you have enabled automatic item updates.

Was this article helpful?
How can we improve it?