Products and offers

Annotations for products allow Bing to identify, extract and display information about products, such as price and availability, which we may use the increase the visual appeal of your search results and include your products in the Bing Shopping experience.

For example, your website may offer the following product for sale:

Contoso Pineapple Press (priced to sell!) Regular price: $129.99Sale price: $109.99. Sale lasts until October 10, 2011.

Available from: Authorized Contoso distributorsAvailability: In stock!

Condition: Brand new

Marking It Up

Products will contain one or more of the following attributes.

 

Item property

Microdata

Microformats

Description

Name

name

fn

Required. The name of the product.

Brand

brand

brand

The product’s brand.

Category

category

category

The category/type of the product.

Description

description

description

A description of the product.

Identifier

identifier

identifier

The identifier of the product. This can be any of the following: ASIN, ISBN, MPN, SKU or UPC.

Offer

offerDetails

Details about the offer. This should include an offer or offer-aggregate object.

Specific to Microdata, the offer and offer-aggregate item properties are supported. Within the offer and offer-aggregate item properties, Bing supports the following optional sub-properties:

The offer item property

  • availability: availability of the product
  • condition: condition of the product
  • currency: currency of the price of the product
  • identifier: the product identifier (refer to the table above)
  • itemoffered: the product being offered for sale
  • offerURL: the offer’s website (also supported in microformats)
  • price: the price of the product (also supported in microformats)
  • priceValidUntil: the date and time until the offer expires
  • seller: the seller of the product

The offer-aggregate item property

  • condition: the condition of the product
  • currency: the currency of the prices of the various offers
  • highPrice: the highest price of all offers available for the product
  • identifier: the product identifier (refer to the table above)
  • itemOffered: the product being offered for sale
  • lowPrice: the lowest price of all offers available for the product
  • offerCount: the number of product offers
  • offerURL: the offer’s website (also supported in microformats)

A Note On GoodRelations Support

The Bing crawlers currently do not support the GoodRelations vocabulary. However, we will add support and documentation for this type of annotation in the future.

Microdata

Example: Markup for the Contoso Pineapple Press.

<div itemscope itemtype="http://data-vocabulary.org/Product">

    <div>

        <strong>

            <span itemprop="brand">Contoso</span>

            <span itemprop="name">Pineapple Press</span> (priced to sell!)

        </strong>

    </div>

    <div itemprop="offerDetails" itemscope itemtype="http://data-vocabulary.org/Offer">

        <div>

            <strong>Regular price:</strong> $129.99

        </div>

        <meta itemprop="currency" content="USD" />

        <div>

            <strong>Sale price:</strong> $<span itemprop="price">109.99</span>. Sale lasts until <time itemprop="priceValidUntil" datetime="2011-10-10">October 10, 2011</time>.

        </div>

        <div>

            <strong>Available from:</strong> <span itemprop="seller">Authorized Contoso distributors</span>

        </div>

        <div>

            <strong>Availability:</strong> <span itemprop="availability" content="in_stock">In stock!</span>

        </div>

        <div>

            <strong>Condition:</strong> <span itemprop="condition" content="new">Brand new</span>

        </div>

    </div>

</div>

Breaking It Down

In this example, the first line defines the item type through the vocabulary (itemtype="http://data-vocabulary.org/Product"). We then use a combination of block and inline elements to define the products brand and name, followed by the offer details through the offerDetails item property declaration (<div itemprop="offerDetails" itemscope itemtype="http://data-vocabulary.org/Offer">). Within the offer block, we define the optional elements currency, price, priceValidUntil (using HTML 5’s new time element and the ISO 8601 standard for dates and times) and availability and condition.

For availability, we use one of 4 machine-readable options: out_of_stock, in_stock, instore_only or preorder. For condition, we select from 3 machine-readable options: new, used or refurbished.

Note the use of the meta element embedded in the body (newly supported in HTML 5) to annotate invisible content, in this example the currency.

Microformats (hProduct)

Example: Markup for the Contoso Pineapple Press.

<div class="hproduct">

    <div>

        <strong>

            <span class="brand">Contoso</span>

            <span class="fn">Pineapple Press</span> (priced to sell!)

        </strong>

    </div>

    <div>

        <strong>Regular price:</strong> $129.99

    </div>

    <div>

        <strong>Sale price:</strong> <span class="price">$109.99</span>. Sale lasts until October 10, 2011.

    </div>

    <div>

        <strong>Available from:</strong> Authorized Contoso distributors

    </div>

    <div>

        <strong>Availability:</strong> In stock!

    </div>

    <div>

        <strong>Condition:</strong> Brand new

    </div>

</div>

Breaking It Down

In this example, the hProduct specification is used to annotate the product information. In the first line, we define the item type (class="hproduct"). Using simple span elements, we define the product’s brand (class="brand"), name (class="fn") and price (class="price").