Offer Schema – Complete Guide for Product Pricing & Availability

Offer schema markup describes commercial offerings for products and services. It provides search engines with detailed pricing, availability, and purchasing information, enabling rich shopping results and enhanced product displays.

What is Offer Schema?

Offer schema describes commercial offerings, including pricing, availability, shipping details, and purchasing information for products and services. It tells search engines about the commercial aspects of what you're selling or offering.

Why Offer Schema Matters

Offer schema is crucial for e-commerce and service providers because it enables rich shopping results in Google Search, provides clear pricing information, and helps customers understand availability and purchasing options.

The key insight: Offer schema transforms product listings into actionable commercial information that search engines can display prominently and use for shopping-related features.

What Offer Schema Includes

💰Pricing and currency information
đŸ“ĻAvailability and stock status
🚚Shipping and delivery details
â†Šī¸Return and refund policies

SEO Benefits You Get

🛒Enhanced shopping results
đŸ’ĩPrice visibility in search
📊Availability information
📈Higher conversion rates

Ready to validate your Offer schema? Test your pricing and availability markup.

✓Validate Offer Schema→

Offer Schema Implementation

Complete Product Offer Schema Example

Comprehensive Offer schema for a product with shipping and return details:
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "@id": "https://example.com/products/smartphone-x/#product",
  "name": "Smartphone X Pro",
  "description": "Premium smartphone with advanced camera system...",
  "brand": {
    "@type": "Brand",
    "name": "TechCorp"
  },
  "offers": {
    "@type": "Offer",
    "@id": "https://example.com/products/smartphone-x/#offer",
    "price": "899.99",
    "priceCurrency": "USD",
    "priceValidUntil": "2024-12-31",
    "availability": "https://schema.org/InStock",
    "condition": "https://schema.org/NewCondition",
    "seller": {
      "@type": "Organization",
      "@id": "https://example.com/#organization",
      "name": "TechStore"
    },
    "shippingDetails": {
      "@type": "OfferShippingDetails",
      "shippingRate": {
        "@type": "MonetaryAmount",
        "value": "0",
        "currency": "USD"
      },
      "shippingDestination": {
        "@type": "DefinedRegion",
        "addressCountry": "US"
      },
      "deliveryTime": {
        "@type": "ShippingDeliveryTime",
        "handlingTime": {
          "@type": "QuantitativeValue",
          "minValue": 1,
          "maxValue": 2,
          "unitText": "DAY"
        }
      }
    },
    "hasMerchantReturnPolicy": {
      "@type": "MerchantReturnPolicy",
      "applicableCountry": "US",
      "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
      "merchantReturnDays": 30,
      "returnFees": "https://schema.org/FreeReturn"
    }
  }
}
</script>

Service Offer Example

Offer schema for service-based offerings:
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Service",
  "name": "Professional Web Design Services",
  "description": "Custom website design and development for businesses.",
  "provider": {
    "@type": "Organization",
    "name": "WebDesign Pro"
  },
  "offers": {
    "@type": "Offer",
    "price": "2500.00",
    "priceCurrency": "USD",
    "priceValidUntil": "2024-06-30",
    "availability": "https://schema.org/InStock",
    "validFrom": "2024-01-01",
    "priceSpecification": {
      "@type": "UnitPriceSpecification",
      "price": "2500.00",
      "priceCurrency": "USD",
      "referenceQuantity": {
        "@type": "QuantitativeValue",
        "value": "1",
        "unitText": "Basic Website Package"
      }
    }
  }
}
</script>

Required vs Recommended Properties

Required Properties

  • â€ĸprice- Numeric price value
  • â€ĸpriceCurrency- Currency code (ISO 4217)

Recommended Properties

  • â€ĸavailability- Stock status
  • â€ĸpriceValidUntil - Price expiration date
  • â€ĸseller- Seller information
  • â€ĸcondition- Product condition

Offer Schema Best Practices

Content & Accuracy

✅
Current Pricing: Ensure price information is always up-to-date and accurate
✅
Real Availability: Use actual stock status, not optimistic placeholders
✅
Valid Dates: Ensure priceValidUntil dates are realistic and monitored

Advanced Features

🚀
Shipping Details: Include comprehensive shipping information for better user experience
🚀
Return Policies: Add return policy information for customer confidence
🚀
Geographic Targeting: Specify availability by region or country

Common Offer Schema Mistakes

❌ Incorrect Price Formats

Mistake: Using text prices like "$99.99" instead of numeric values, or inconsistent decimal formatting.

Fix: Always use numeric price values (e.g., "99.99") without currency symbols, and specify currency separately.

❌ Outdated Availability

Mistake: Showing products as "InStock" when they're actually out of stock, or not updating availability status.

Fix: Sync availability status with your actual inventory system and update regularly.

❌ Missing Currency Codes

Mistake: Omitting priceCurrency or using invalid currency codes.

Fix: Always include valid ISO 4217 currency codes (USD, EUR, GBP, etc.).

❌ Expired Price Validity

Mistake: Setting priceValidUntil dates in the past or not monitoring expiration dates.

Fix: Set realistic expiration dates and have a system to update or remove expired offers.

Validate Your Offer Schema

Testing Tools & Resources

Official Google Tools

Commerce Testing

  • â€ĸ Test price displays in search results
  • â€ĸ Verify availability status accuracy
  • â€ĸ Check shipping information shows
  • â€ĸ Validate return policy details

Additional JSON-LD Examples

E-commerce Product Offer

Complete Offer schema for an e-commerce product with comprehensive pricing and availability information:
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "@id": "https://example.com/products/wireless-earbuds-pro/#product",
  "name": "Premium Wireless Earbuds Pro",
  "description": "High-end wireless earbuds with active noise cancellation, 30-hour battery life, and premium sound quality. Perfect for music lovers and professionals.",
  "image": [
    "https://example.com/products/earbuds-pro-main.jpg",
    "https://example.com/products/earbuds-pro-side.jpg",
    "https://example.com/products/earbuds-pro-case.jpg"
  ],
  "brand": {
    "@type": "Brand",
    "name": "AudioTech"
  },
  "category": "Electronics > Audio > Earbuds",
  "model": "ATP-WEB-PRO-2024",
  "sku": "ATPWEBPRO2024BLK",
  "gtin14": "00812345678901",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.6",
    "ratingCount": "1247",
    "bestRating": "5",
    "worstRating": "1"
  },
  "review": [
    {
      "@type": "Review",
      "author": {
        "@type": "Person",
        "name": "Tech Reviewer Pro"
      },
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "5",
        "bestRating": "5"
      },
      "reviewBody": "Outstanding sound quality and noise cancellation. The battery life exceeds expectations.",
      "datePublished": "2024-01-15"
    }
  ],
  "offers": {
    "@type": "Offer",
    "@id": "https://example.com/products/wireless-earbuds-pro/#offer",
    "price": "249.99",
    "priceCurrency": "USD",
    "priceValidUntil": "2024-12-31",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition",
    "seller": {
      "@type": "Organization",
      "@id": "https://example.com/#organization",
      "name": "AudioTech Store",
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "4.8",
        "ratingCount": "15420",
        "bestRating": "5",
        "worstRating": "1"
      }
    },
    "shippingDetails": {
      "@type": "OfferShippingDetails",
      "shippingRate": {
        "@type": "MonetaryAmount",
        "value": "0",
        "currency": "USD"
      },
      "shippingDestination": {
        "@type": "DefinedRegion",
        "addressCountry": "US"
      },
      "deliveryTime": {
        "@type": "ShippingDeliveryTime",
        "handlingTime": {
          "@type": "QuantitativeValue",
          "minValue": 1,
          "maxValue": 2,
          "unitText": "DAY"
        },
        "transitTime": {
          "@type": "QuantitativeValue",
          "minValue": 2,
          "maxValue": 5,
          "unitText": "DAY"
        }
      }
    },
    "hasMerchantReturnPolicy": {
      "@type": "MerchantReturnPolicy",
      "applicableCountry": "US",
      "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
      "merchantReturnDays": 30,
      "returnMethod": "https://schema.org/ReturnByMail",
      "returnFees": "https://schema.org/FreeReturn",
      "refundType": "https://schema.org/FullRefund"
    },
    "warranty": {
      "@type": "WarrantyPromise",
      "durationOfWarranty": {
        "@type": "QuantitativeValue",
        "value": "2",
        "unitText": "YEAR"
      },
      "warrantyScope": "https://schema.org/ManufacturerWarranty"
    },
    "additionalProperty": [
      {
        "@type": "PropertyValue",
        "name": "Battery Life",
        "value": "30 hours"
      },
      {
        "@type": "PropertyValue",
        "name": "Connectivity",
        "value": "Bluetooth 5.2"
      },
      {
        "@type": "PropertyValue",
        "name": "Water Resistance",
        "value": "IPX4"
      }
    ]
  },
  "potentialAction": {
    "@type": "BuyAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "https://example.com/products/wireless-earbuds-pro/add-to-cart",
      "inLanguage": "en-US"
    }
  }
}
</script>

Service-Based Offer

Offer schema for a service-based business with appointment booking:
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Service",
  "@id": "https://example.com/services/house-cleaning/#service",
  "name": "Professional House Cleaning Service",
  "description": "Comprehensive residential cleaning service including deep cleaning, regular maintenance, and specialized cleaning for homes and apartments.",
  "serviceType": "Home Cleaning",
  "areaServed": {
    "@type": "City",
    "name": "San Francisco"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "ratingCount": "892",
    "bestRating": "5",
    "worstRating": "1"
  },
  "offers": {
    "@type": "Offer",
    "@id": "https://example.com/services/house-cleaning/#offer",
    "price": "150.00",
    "priceCurrency": "USD",
    "priceValidUntil": "2024-12-31",
    "availability": "https://schema.org/InStock",
    "description": "Standard 3-bedroom, 2-bathroom house cleaning service",
    "seller": {
      "@type": "Organization",
      "@id": "https://example.com/#organization",
      "name": "Sparkle Clean Services",
      "telephone": "+1-555-0123",
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "4.8",
        "ratingCount": "2156",
        "bestRating": "5",
        "worstRating": "1"
      }
    },
    "priceSpecification": {
      "@type": "PriceSpecification",
      "price": "150-350",
      "priceCurrency": "USD",
      "valueAddedTaxIncluded": false,
      "description": "Price range depends on home size and cleaning requirements"
    },
    "eligibleQuantity": {
      "@type": "QuantitativeValue",
      "value": "1",
      "unitText": "service"
    },
    "additionalProperty": [
      {
        "@type": "PropertyValue",
        "name": "Service Duration",
        "value": "2-4 hours"
      },
      {
        "@type": "PropertyValue",
        "name": "Cancellation Policy",
        "value": "24-hour notice required"
      },
      {
        "@type": "PropertyValue",
        "name": "Supplies Included",
        "value": "All cleaning supplies and equipment provided"
      },
      {
        "@type": "PropertyValue",
        "name": "Insurance",
        "value": "Fully insured service"
      }
    ]
  },
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "Cleaning Services",
    "itemListElement": [
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Deep Cleaning",
          "description": "Intensive cleaning of all surfaces and hard-to-reach areas"
        },
        "price": "200.00",
        "priceCurrency": "USD"
      },
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Regular Cleaning",
          "description": "Weekly or bi-weekly maintenance cleaning"
        },
        "price": "120.00",
        "priceCurrency": "USD"
      },
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Move-in/Move-out Cleaning",
          "description": "Specialized cleaning for property transitions"
        },
        "price": "250.00",
        "priceCurrency": "USD"
      }
    ]
  },
  "potentialAction": {
    "@type": "ReserveAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "https://example.com/book-cleaning?service={service}",
      "inLanguage": "en-US"
    },
    "result": {
      "@type": "Reservation",
      "name": "Cleaning Service Appointment"
    }
  },
  "provider": {
    "@type": "Organization",
    "@id": "https://example.com/#organization",
    "name": "Sparkle Clean Services",
    "foundingDate": "2010-03-15",
    "slogan": "Making homes sparkle, one clean at a time"
  }
}
</script>

SEO & Rich Results Notes

SEO Benefits

Offer schema enhances product and service visibility in e-commerce and business searches:

  • â€ĸ Rich product displays with pricing and availability information
  • â€ĸ Enhanced visibility in shopping and commercial searches
  • â€ĸ Better targeting for product and service purchase intent
  • â€ĸ Improved integration with shopping platforms and aggregators
  • â€ĸ Enhanced conversion tracking and purchase funnel optimization

Rich Results Eligibility

Offer schema enables enhanced commercial displays:

  • â€ĸ Product rich snippets with pricing and availability
  • â€ĸ Shopping search result enhancements
  • â€ĸ Price comparison and shopping cart features
  • â€ĸ Service booking and appointment integration
  • â€ĸ Shipping and return policy displays

Reference: Google's Search Central recommends Offer markup for enhanced product and commercial search appearance.

Important Warnings

  • Price Accuracy: All pricing information must be current and accurate. Misleading prices can result in user dissatisfaction and regulatory penalties.
  • Availability Truthfulness: Stock status and availability must reflect actual conditions. False availability claims harm user trust and search result quality.
  • Policy Compliance: Return policies, warranties, and terms must match actual business practices. Inconsistent policies can result in legal disputes.
  • Regular Updates: Keep pricing, availability, and offer terms current. Stale offer information reduces search result effectiveness and user satisfaction.

Official Documentation

Frequently Asked Questions

What is Offer schema used for?

Offer schema describes commercial offerings, pricing, and availability for products or services. It provides detailed information about pricing, availability, seller details, and purchase conditions to help search engines display enhanced product and service listings.

How do I add Offer schema to my product pages?

Add JSON-LD structured data with required properties like price and priceCurrency. Include optional properties like availability, seller, and validThrough for enhanced product offer displays.

What are the required properties for Offer schema?

The only required property is price. However, for rich results eligibility, you'll typically need priceCurrency, availability, and seller information.

Does Offer schema enable rich results?

Yes! Offer schema enables rich product displays in Google Search with pricing, availability, and seller information. It enhances product listings and can show price comparison features.

How do I specify availability in Offer schema?

Use availability with Schema.org vocabulary values like "InStock", "OutOfStock", "PreOrder", or "Discontinued". This helps manage inventory expectations and purchase timing.

Can Offer schema include shipping information?

Yes, use shippingDetails with OfferShippingDetails schema to include shipping rates, regions, and delivery timeframes. This provides complete purchase information.

What's the difference between Offer and AggregateOffer schemas?

Offer describes pricing from a single seller, while AggregateOffer summarizes pricing across multiple sellers. Use Offer for individual retailer pricing, AggregateOffer for marketplace summaries.

How do I add seller information to Offer schema?

Use seller property with Organization schema to include retailer name, contact information, and reputation details. This builds buyer confidence and seller credibility.

Can Offer schema include return policies?

Yes, use hasMerchantReturnPolicy with MerchantReturnPolicy schema to include return timeframes, conditions, and refund policies. This manages buyer expectations.

How do I handle price ranges in Offer schema?

For variable pricing, use priceSpecification with PriceSpecification schema. Include minimum and maximum prices, or use different Offer objects for different price tiers.

Does Offer schema help with e-commerce SEO?

Yes, Offer schema significantly enhances e-commerce visibility. It helps products appear in shopping searches and provides rich product information in search results.

How do I add warranty information?

Use warranty with WarrantyPromise schema to include warranty duration, scope, and coverage details. This enhances product value perception.

How often should I update Offer schema?

Update immediately when prices change, availability updates, or offer terms change. Keep pricing and availability information current for accurate search results.

Related Schema Types

Related: Product, AggregateOffer, Organization, Review, Service, MerchantReturnPolicy

Frequently Asked Questions

What is Offer schema used for?

Offer schema provides structured data for offer content. It helps search engines understand content details and enables rich results in search listings.

What are the key properties for Offer schema?

Essential properties vary by schema type but commonly include name, description, url, and image. For rich results, specific properties like author, datePublished, or offers may be required.

How does Offer schema affect SEO?

Offer schema enables rich results in Google Search, increases click-through rates with enhanced listings, improves content visibility, and provides structured data that helps search engines better understand and display your content.

When should I use Offer schema?

Use Offer schema when your content matches the schema type definition. It provides semantic meaning to your data and enables enhanced search features.

What are the benefits of Offer structured data?

Benefits include enhanced search appearances, improved click-through rates, better content understanding by search engines, and eligibility for rich result features like carousels, panels, or enhanced listings.