S SCHEMA.BIZ
Product Extends: Intangible

Offer Schema Markup

Offer is the schema type that represents a commercial offer — it contains the price, currency, availability, and conditions for purchasing a product or service. It's almost always used as a nested object within Product, Event, or Service.

Google Search Features

  • Event Offer appears inside this feature's markup. Upcoming events with dates, venue and tickets.
  • Product snippet Offer appears inside this feature's markup. Price, availability and review stars under a product result.
  • Merchant listing Offer appears inside this feature's markup. Shopping results for pages where a shopper can buy the product. Only pages where a shopper can buy the product. Price must be above 0.
  • Software app Offer appears inside this feature's markup. App details such as rating, price and category.

When to Use Offer

Product pricing Event tickets Service pricing Subscription plans

Properties

Property Type Status Description
price Number or Text required The price as a number without currency symbol.
priceCurrency Text required Three-letter ISO 4217 currency code (e.g., USD, EUR, GBP). Required for merchant listings, recommended for product snippets.
availability ItemAvailability recommended Stock status (use full URL like https://schema.org/InStock). Google recommends it; it isn't required.
url URL recommended URL where the offer can be purchased.
priceValidUntil Date recommended Date after which the price may change.
itemCondition OfferItemCondition optional New, Used, Refurbished, or Damaged.
seller Organization or Person optional The entity selling the item.
validFrom DateTime optional When the offer becomes valid.

JSON-LD Examples

Simple Offer

A basic product offer.

{
  "@type": "Offer",
  "price": "49.99",
  "priceCurrency": "USD",
  "availability": "https://schema.org/InStock",
  "itemCondition": "https://schema.org/NewCondition",
  "url": "https://shop.com/product"
}

Common Mistakes

Including currency symbols in the price field ($49.99) — use plain numbers only.

Using short-form availability ('InStock') instead of the full URL.

Forgetting priceCurrency — price alone is meaningless without currency context.

Complete Guide to Offer Schema Markup

Offer schema is a critical building block of e-commerce structured data. While it's rarely used as a standalone type, it appears inside nearly every Product and Event markup block. Getting the Offer right is essential for displaying prices in Google Search.

The three required fields for a valid Offer are price, priceCurrency, and availability. The price must be a numeric value without currency symbols — use '49.99', not '$49.99'. Currency is specified separately using the ISO 4217 three-letter code.

Availability must use the full schema.org URL (https://schema.org/InStock), not a shortened version. Valid values include InStock, OutOfStock, PreOrder, BackOrder, SoldOut, and LimitedAvailability.

Related Types

Check Your Offer Markup

The generator doesn't have a Offer form yet. Paste your markup into the validator to check its types, properties and values, and what Google needs from it.

Open Validator