"Offer" schema
Last updated 17 June 2026 2 min
The Offer schema describes a specific commercial offer to sell something — a price, currency, availability status, and the conditions of purchase. It is typically nested inside another schema type, most commonly Product or Service.
Offer provides the "transactional" half of structured data — how the product or service is being sold.
When to use it
Use Offer whenever a page contains:
- A product with a price
- A service with a quoted rate
- An event ticket
- A course with tuition
- A digital download (e.g., purchasing an e-book)
For a price range or multiple sellers, use AggregateOffer, which wraps a lowPrice / highPrice summary across multiple Offer entries.
Key properties
price– the numeric price (string or number, no currency symbol)priceCurrency– ISO 4217 code (AUD,USD,EUR, etc.)availability– schema.org enumeration URL (InStock,OutOfStock,PreOrder,Discontinued,LimitedAvailability,SoldOut,BackOrder)url– the URL where the offer can be purchasedpriceValidUntil– when the price expires (important for product rich results)validFrom– when the offer becomes validitemCondition–NewCondition,UsedCondition,RefurbishedCondition,DamagedConditionseller– theOrganizationselling it (useful when different from the manufacturer)shippingDetails–OfferShippingDetailsfor merchant listingshasMerchantReturnPolicy–MerchantReturnPolicyfor return information
Note: availability and itemCondition values must be expressed as full schema.org enumeration URLs (e.g., https://schema.org/InStock), not the bare names shown above.
Simple product offer example
{
"@type": "Offer",
"url": "https://example.com.au/products/widget",
"priceCurrency": "AUD",
"price": "129.00",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"priceValidUntil": "2026-12-31"
}
AggregateOffer example
{
"@type": "AggregateOffer",
"priceCurrency": "AUD",
"lowPrice": "89.00",
"highPrice": "149.00",
"offerCount": "12",
"availability": "https://schema.org/InStock"
}
SEO value
- Price, availability, and condition fields are used by Google in rich results
- Required for merchant listing eligibility
- Reinforces commerce-oriented entity understanding for AI crawlers
Best practices
- Keep
availabilityand stock data current; misleading availability is a leading cause of merchant listing penalties - For shipping-eligible products, include
shippingDetailsandhasMerchantReturnPolicyfor richer merchant listings - Match the
priceandpriceCurrencyto what's actually displayed on the page; don't let temporary special pricing clash withOfferschema
Disclaimer: All information contained herein is for informational purposes only. It is not advice or instructional.