Deutsch
Product data, feeds & Shopping

Offer markup

Also known as: Offer schema, price markup

Offer markup is structured data of the schema.org type Offer. Attached to a Product, it states price, currency and availability so that Google can use them in product snippets and merchant listings.

What does Google require for Offer markup?

For merchant listings, Google requires an active price above zero (price, or priceSpecification.price) and a three-letter ISO 4217 currency in priceCurrency. Product snippets are more permissive and allow "price": 0 for products offered free. If priceValidUntil lies in the past, a product snippet may not display.

A sale price needs the original price as a UnitPriceSpecification with priceType set to StrikethroughPrice. The current price gets no priceType. Availability uses one value from a fixed list, such as InStock or OutOfStock, and Google asks for only one. For multiple currencies, Google advises one URL per currency.

Google’s general structured data guidelines require markup to reflect what visitors see on the page.

Example

JSON
{
  "@type": "Product",
  "name": "Hiking backpack Alpin 30 l",
  "offers": {
    "@type": "Offer",
    "price": 89.90,
    "priceCurrency": "EUR",
    "availability": "https://schema.org/InStock"
  }
}

Sources

  1. Merchant listing structured data (Product, Offer) – Google Search Centraldevelopers.google.com
  2. Product snippet structured data – Google Search Centraldevelopers.google.com
  3. Offer – schema.orgschema.org
  4. Offer schema piece – Yoast developer docs (secondary)developer.yoast.com
  5. General structured data guidelines – Google Search Centraldevelopers.google.com

Last updated: