We use cookies for analytics and to serve ads. Accept to enable Google Analytics and AdSense. You can decline to stay opt-out.
Promo/coupon landing pages with offers, returns/terms, FAQs, and breadcrumb context.
Declares the page as a promo or coupon hub.
Defines the promo offer with price/discount context and validity.
Clarifies return policy terms that apply to promo items.
Answers promo eligibility, stacking, exclusions, and timing questions.
Provides navigation context for the promo page.
Ensure every applicable required property is present in your implementation. Nested props reference their parent objects (for example, `offers.priceCurrency`).
Paste as a single script tag. Keep product details, offer data, shipping/returns, and FAQ answers in sync with the page.
[
{
"@context": "https://schema.org",
"@type": "CollectionPage",
"@id": "https://www.example.com/promos/winter-sale#page",
"name": "Winter Sale — Up to 40% Off",
"description": "Winter sale on outerwear with up to 40% off select styles.",
"url": "https://www.example.com/promos/winter-sale",
"mainEntity": {
"@type": "Offer",
"@id": "https://www.example.com/promos/winter-sale#offer"
}
},
{
"@context": "https://schema.org",
"@type": "Offer",
"@id": "https://www.example.com/promos/winter-sale#offer",
"name": "40% off winter outerwear",
"category": "SeasonalSale",
"price": "0.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://www.example.com/promos/winter-sale#shop",
"priceValidUntil": "2026-12-31"
},
{
"@context": "https://schema.org",
"@type": "MerchantReturnPolicy",
"@id": "https://www.example.com/policies/returns#winter-sale",
"name": "Winter sale returns",
"url": "https://www.example.com/policies/returns",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 30,
"returnMethod": "https://schema.org/ReturnByMail",
"returnFees": "https://schema.org/FreeReturn",
"applicableCountry": "US"
},
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Can I stack this with other discounts?",
"acceptedAnswer": {
"@type": "Answer",
"text": "No. This promo cannot be combined with other codes or sitewide promotions."
}
},
{
"@type": "Question",
"name": "Are sale items returnable?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. Winter sale items follow our standard 30-day return policy. Final sale items are labeled on the product page."
}
},
{
"@type": "Question",
"name": "When does the offer expire?",
"acceptedAnswer": {
"@type": "Answer",
"text": "The Winter Sale ends December 31, 2026 at 11:59pm PT or while supplies last."
}
}
]
},
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.example.com" },
{ "@type": "ListItem", "position": 2, "name": "Promos", "item": "https://www.example.com/promos" },
{ "@type": "ListItem", "position": 3, "name": "Winter Sale", "item": "https://www.example.com/promos/winter-sale" }
]
}
]Include one Offer per active promo on the page. Keep each code’s validity and URL aligned to the visible content.
Use a MerchantReturnPolicy that matches the terms shown on the page. For final sale, set returnPolicyCategory accordingly.