makesOffer
makesOffer · Optional
Appears in
What is it?
makesOffer links an organization directly to the products or services it sells, using schema.org's Offer type. It makes commercial intent and specific offerings machine-readable at the organization level, not just on individual product or service pages.
Where individual product pages use offers to describe pricing and availability, makesOffer on an Organization anchors those offers to the legal entity that provides them. This creates a navigable link in the schema graph from company to product to price.
Why this matters for AEO
AI answer engines answer buying intent queries by connecting organizations to what they sell. When a user asks "what does Squarespace offer?" or "which cloud providers have serverless plans?", the AI builds its answer from structured data that links organizations to named offers with pricing and availability signals.
makesOffer is the property that creates this link at the organization level. An Organization that uses makesOffer with a structured Offer node, including name, price, and eligibleRegion, gives AI systems a factual basis for responding to commercial queries without requiring the AI to scrape and infer from product pages.
For e-commerce brands, SaaS companies, and service businesses, makesOffer is one of the highest-value schema properties for AI visibility because it directly addresses queries that precede purchase decisions.
What the specs say
Schema.org:makesOffer expects an Offer value. A pointer to products or services offered by the organization or person. [Source: https://schema.org/makesOffer]
Google: Not mentioned in Google's structured data documentation for Organization. Google's rich result types for individual products use offers on the Product type, not makesOffer on Organization. [Source: https://developers.google.com/search/docs/appearance/structured-data/organization]
How to find your value
Each Offer node should include:
@type—"Offer"name— Product or service namedescription— Brief plain-language descriptionprice— Numeric price (omit for variable pricing)priceCurrency— ISO 4217 currency code (e.g.,"USD")availability—schema:InStock,schema:OnlineOnly, etc.url— Direct URL to the offer pageeligibleRegion— Where the offer is available
For variable-price services, omit price and use priceSpecification or a descriptive description instead.
Format and code
Simple product offer
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Figma",
"makesOffer": {
"@type": "Offer",
"name": "Figma Professional Plan",
"description": "Unlimited Figma files, version history, and advanced prototyping for professional designers.",
"price": "15.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://www.figma.com/pricing/"
}
}
Multiple offers (SaaS pricing tiers)
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Notion",
"makesOffer": [
{
"@type": "Offer",
"name": "Notion Free",
"description": "Collaborative workspace for individuals, free forever.",
"price": "0",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://www.notion.so/pricing"
},
{
"@type": "Offer",
"name": "Notion Plus",
"description": "Unlimited blocks for individuals and small teams.",
"price": "10.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://www.notion.so/pricing"
},
{
"@type": "Offer",
"name": "Notion Business",
"description": "Advanced features for teams with SAML SSO and advanced analytics.",
"price": "15.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://www.notion.so/pricing"
}
]
}
Service offer with eligibleRegion
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "DoorDash",
"makesOffer": {
"@type": "Offer",
"name": "DashPass Subscription",
"description": "Unlimited free delivery on eligible orders from thousands of restaurants.",
"price": "9.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"eligibleRegion": {
"@type": "Country",
"name": "United States"
},
"url": "https://www.doordash.com/dashpass"
}
}
Service without fixed price
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "McKinsey & Company",
"makesOffer": {
"@type": "Offer",
"name": "Strategy Consulting",
"description": "Management consulting services for Fortune 500 companies and governments.",
"availability": "https://schema.org/InStock",
"url": "https://www.mckinsey.com/capabilities"
}
}
Webflow implementation
Static pages
Add makesOffer to the Organization JSON-LD block in your homepage or about page's custom code section. For businesses with a small, stable product set, hardcode each Offer node. List the most important offers rather than every SKU.
CMS template pages
For e-commerce or SaaS sites where products are managed through Webflow CMS, create a Products or Pricing collection. On the organization page, use a custom code embed that dynamically builds the makesOffer array from CMS collection items. This approach keeps the structured data synchronized with your CMS content.
In Schema HQ
makesOffer publishes in the Organization schema editor. Add individual Offer nodes with name, description, pricing, and URL fields. Schema HQ serializes these into valid JSON-LD and publishes to your Webflow site's custom code.
Real examples
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Cloudflare",
"url": "https://www.cloudflare.com",
"makesOffer": [
{
"@type": "Offer",
"name": "Cloudflare Free Plan",
"description": "Basic DDoS protection, CDN, and DNS management at no cost.",
"price": "0",
"priceCurrency": "USD",
"url": "https://www.cloudflare.com/plans/"
},
{
"@type": "Offer",
"name": "Cloudflare Pro",
"description": "Enhanced performance and security features for professional websites.",
"price": "20.00",
"priceCurrency": "USD",
"url": "https://www.cloudflare.com/plans/"
}
]
}
Related fields
- seeks
- hasShippingService
- acceptedPaymentMethod
- areaServed
- hasMemberProgram
- hasPOS — point of sale where offers are available
FAQ
What is the difference between makesOffer on an Organization and offers on a Product?
offers on a Product describes pricing and availability for that specific product. makesOffer on an Organization connects the company to the offers it provides, without requiring a separate Product node. Both can coexist in a complete schema graph, with makesOffer serving as the organization-level entry point and offers providing product-level detail.
Should price be included for service businesses with custom pricing?
No. For services with variable or negotiated pricing, omit the price and priceCurrency fields. Include a name, description, and URL instead. Adding a price of "0" for contact-for-pricing services is misleading and invalid.
How many offers should appear in makesOffer?
There is no limit. Focus on the offers most relevant to search and AI queries: primary product tiers, flagship services, or introductory plans. Listing every product variant adds noise. A well-structured list of three to eight key offers is more useful than an exhaustive catalog.