Skip to main content
WP Bulk Publishing
WP Bulk Publishing
Commerce · Must-have

Offer schema — what it does & how to ship it

Short answer

Offer marks up a specific saleable proposition — price, currency, availability and validThrough. The primitive that powers price chips inside Product, Service and Event.

What it does

Offer carries price, priceCurrency, availability (InStock/OutOfStock/PreOrder), priceValidUntil, url and priceSpecification. Ship one Offer per real price point.

SERP / AI benefit

Price and stock chips in the SERP, Merchant Listings eligibility, and Event ticketing surfaces.

Where to use it

Nested inside every Product, SoftwareApplication, Service, Event, or standalone on offer pages.

JSON-LD example

{
  "@type": "Offer",
  "price": 199,
  "priceCurrency": "USD",
  "availability": "https://schema.org/InStock",
  "priceValidUntil": "2026-12-31",
  "url": "https://wbpomniseo.com/pricing"
}

Copy, edit for your site, and drop into your page head inside a<script type="application/ld+json">block. Validate with Google's Rich Results Test.

In WBP Omni SEO Pro

Wired to every Freemius plan ID with live availability + priceValidUntil.

Ship Offer without touching code

Frequently asked

Do I need priceValidUntil?

Not required, but strongly recommended. Google reduces price-chip prominence when validity is unclear.

Offer vs AggregateOffer?

Offer is one specific price; AggregateOffer summarises many into a range. Use Offer per real tier, AggregateOffer at the product level.

Related schemas

Keep learning