Supported structured data attributes and values

Use structured data markup on your product landing pages to help Google retrieve up-to-date information about your products and offers directly from your website. Any structured data markup that is supported by Merchant Center will have corresponding attributes and accepted values, as listed in the Product data specification. Your structured data must be matched to the corresponding values and attributes.
 

Not all attributes are supported by schema.org at this time.

Attributes and schema.org annotations

Attributes are one of the ways that the product data that you submit to Merchant Center is organised. Each attribute contains a single piece of information about an item such as just the item's title or description. Accurately matching the schema.org value to the corresponding Product data specification attributes will lead to fewer errors when validating your feed.

You can find the main list of attributes in the Product data specification

schema.org property

Product data attribute

Description
The following attributes are from the schema.org Product schema.
sku [sku] id [id] SKU string
name [name] title [title] Text
description [description] description [description] Text
image [image] image_link [image_link] A valid image URL 
itemCondition [itemCondition] condition [condition] Valid OfferItemCondition [OfferItemCondition]. The most common schema.org values are 'NewCondition' and 'UsedCondition'. 

gtin8 [gtin8]

gtin12 [gtin12]

gtin13 [gtin13]

gtin14 [gtin14]

isbn [isbn]

gtin [gtin]

Only one of these schema.org properties should be specified.

If you use GTIN values, they must be the correct length and contain the correct check digit.

audience [audience].suggestedGender [suggestedgender] gender [gender] Use the audience property to specify a peopleAudience [peopleAudience] object which itself specifies suggestedGender [suggestedGender]. Valid values are those defined by the gender [gender] attribute:
  • male
  • female
  • unisex
mpn [mpn] mpn [mpn] Text
brand [brand] brand [brand] Text
color [colour] color [colour] Text

The following attributes are from the schema.org Offer schema, which must be nested within a Product using the offers property (see examples below).

price [price]

priceCurrency [priceCurrency] 

price [price]

The price [price] should be only a number without currency symbols, thousands separators or spaces (e.g. '1498.99'). 

The priceCurrency value has to be a 3-letter ISO 4217 format (e.g. 'USD', 'GBP', 'EUR'), and the currency should meet the language and currency requirements for your target country.

Note: price [price] or priceCurrency [priceCurrency] can be provided directly under offers, or via priceSpecification (see examples below). 

availability [availability] availability [availability]

Valid values are from the ItemAvailability [ItemAvailability] type. They're mapped to feed values as follows:

Data spec schema value
in_stock
  • InStock 
  • LimitedAvailability 
  • OnlineOnly
out_of_stock
  • Discontinued
  • InStoreOnly
  • OutOfStock
  • SoldOut
preorder
  • PreOrder 
  • PreSale

 

itemCondition [itemCondition] condition [condition]

Valid values are from the OfferItemCondition type. They're mapped to feed values as follows:

Data spec  schema value
new
  • NewCondition
refurbished
  • RefurbishedCondition
used
  • DamagedCondition
  • UsedCondition

Note:  Specifying price [price], priceCurrency [priceCurrency] and availability [availability] is required for automatic item updates.

Single product (example)

JSON-LD

<script type="application/ld+json">
{
  "@context": "http://schema.org/",
  "@type": "Product",
  "sku": "EXAMPLE-1337-json",
  "gtin14" : "12345678901234",
 
  "image": "http://fake.example.com/test_executive.jpg",
  "name": "Executive test JSON-LD",
  "description": "This is just a boring example",
  "brand": {
    "@type": "Thing",
    "name": "EXAMPLE"
  },
  "color" : "Silver",
  "audience": {
    "@type": "PeopleAudience",
    "suggestedGender": "unisex"
  },
  "offers": {
    "@type": "Offer",
    "priceCurrency": "USD",
    "price": "119.99",
    "itemCondition": "http://schema.org/UsedCondition",
    "availability": "http://schema.org/InStock"
  }
}
</script>

Microdata

<span itemscope itemtype="http://schema.org/Product">
    <meta itemprop="sku" content="EXAMPLE-1337-micro">
    <meta itemprop="gtin14" content="12345678901234">
    <meta itemprop="mpn" content="925873">
   
    <meta itemprop="name" content="Executive test Microdata">
    <meta itemprop="description" content="This is just a boring example">
    <meta itemprop="brand" content="EXAMPLE">
    <meta itemprop="color" content="Silver">
    <span itemprop="audience" itemscope itemtype="http://schema.org/PeopleAudience">
              <meta itemprop="suggestedGender" content="unisex"/>
    </span>
    <span itemprop="offers" itemscope itemtype="http://schema.org/Offer">
        <meta itemprop="priceCurrency" content="USD"/>
        <meta itemprop="price" content="119.99">
        <link itemprop="itemCondition" href="http://schema.org/UsedCondition"/>
        <link itemprop="availability" href="http://schema.org/InStock"/>
    </span>
</span>

Products variants

Certain products may contain multiple variants, such as colour or price. To show the variants, you need to add additional structured data to show that there are multiple products on one page.

Example

JSON-LD

<script type="application/ld+json">
  [
   {
        "@context": "http://schema.org/",
          "@type": "Product",
          "sku": "EXAMPLE-1337-json-silver",
          "gtin14" : "12345678901234",
         
          "image": "http://fake.example.com/test_executive.jpg",
          "name": "Example Test",
          "description": "This is just a boring example",
          "brand": {
            "@type": "Thing",
            "name": "EXAMPLE"
          },
          "color" : "Silver",
          "offers": {
            "@type": "Offer",
            "priceCurrency": "USD",
            "price": "119.99",
            "itemCondition": "http://schema.org/UsedCondition",
            "availability": "http://schema.org/InStock"
          }
     },
    {
        "@context": "http://schema.org/",
          "@type": "Product",
          "sku": "EXAMPLE-1337-json-gold",
          "gtin14" : "12345678901234",
         
          "image": "http://fake.example.com/test_executive.jpg",
         
          "description": "This is just a boring example",
          "brand": {
            "@type": "Thing",
            "name": "EXAMPLE"
          },
          "color" : "Gold",
          "offers": {
            "@type": "Offer",
            "priceCurrency": "USD",
            "price": "3119.99",
            "itemCondition": "http://schema.org/UsedCondition",
            "availability": "http://schema.org/InStock"
          }
    }
  ]
</script>

Microdata 

<span itemscope itemtype="http://schema.org/Product">
    <meta itemprop="sku" content="acme-1337-micro-silver">
    <meta itemprop="gtin14" content="12345678901234">
    <meta itemprop="mpn" content="925873">
    <meta itemprop="image" content="http://fake.example.com/test_executive.jpg"/>
    <meta itemprop="name" content="Example Test">
    <meta itemprop="description" content="This is just a boring example">
    <meta itemprop="brand" content="EXAMPLE">
    <meta itemprop="color" content="Silver">

 

    <span itemprop="offers" itemscope itemtype="http://schema.org/Offer">
        <meta itemprop="priceCurrency" content="USD"/>
        <meta itemprop="price" content="119.99">
        <link itemprop="itemCondition" href="http://schema.org/UsedCondition"/>
        <link itemprop="availability" href="http://schema.org/InStock"/>
    </span>
</span>
<span itemscope itemtype="http://schema.org/Product">
    <meta itemprop="sku" content="acme-1337-micro-gold">
    <meta itemprop="gtin14" content="12345678901235">
    <meta itemprop="mpn" content="925873">
    <meta itemprop="image" content="http://fake.example.com/test_executive.jpg"/>
    <meta itemprop="name" content="Example Test">
    <meta itemprop="description" content="This is just a boring example">
    <meta itemprop="brand" content="EXAMPLE">
    <meta itemprop="color" content="Gold">

    <span itemprop="offers" itemscope itemtype="http://schema.org/Offer">
        <meta itemprop="priceCurrency" content="USD"/>
        <meta itemprop="price" content="3119.99">
        <link itemprop="itemCondition" href="http://schema.org/UsedCondition"/>
        <link itemprop="availability" href="http://schema.org/InStock"/>
    </span>
</span>

PriceSpecification

With structured data markups, it's possible to represent price information in two different ways. In the above examples, price [price] and priceCurrency [priceCurrency] are represented directly under the offers level. Alternatively, provide additional data with the priceSpecification [priceSpecification] attribute to represent your price information.

Example

JSON-LD

  "offers": {
    "@type": "Offer",
    "priceSpecification": {
        "@type":  "PriceSpecification",
        "priceCurrency": "USD",
        "price": "119.99"
    }

Microdata

   <span itemprop="offers" itemscope itemtype="http://schema.org/Offer">
      <span itemprop="priceSpecification" itemscope   
            itemtype="http://schema.org/PriceSpecification">
        <meta itemprop="priceCurrency" content="USD"/>
        <meta itemprop="price" content="119.99">
      </span>    
    </span>

Test your markup

Test your Schema.org implementation with the Structured Data Testing Tool. Visit the Google Search Console Help Centre to learn more about using the tool, debugging any issues, and interpreting your results in the tool.

Requirements for structured data markup

  • Structured data markup must be present in the HTML returned from the web server.  The structured data markup can't be generated with Javascript once the page has loaded.
  • Your landing page cannot change based on information about the user, such as if you adapt prices based on a user's IP address or browser type. 
  • Structured data must match the values that are shown to the user. Providing incorrect data on your product landing pages is a violation of our webmaster guidelines
Was this helpful?
How can we improve it?

Need more help?

Sign in for additional support options to quickly solve your issue