Cookies & analytics

    We use cookies for analytics and to serve ads. Accept to enable Google Analytics and AdSense. You can decline to stay opt-out.

    SwiftSchema Logo

    SwiftSchema

    Intuitive Schema Generation at Your Fingertips

    AboutLearnContact
      Stack

      Coupon Code Detail Stack

      Individual coupon code pages with WebPage + Offer context, FAQs, and breadcrumb navigation.

      Open generatorValidate in Rich Results Test

      When to use this stack

      • Coupon detail pages with code, terms, and validity
      • Brand promo pages with a single offer
      • Pages where FAQs clarify exclusions and redemption

      What's included

      • Declares the coupon detail page and its description.

      • Defines the coupon offer, validity, and destination URL.

      • Frequently Asked Questions
        Open generator

        Answers questions about redemption, exclusions, and stacking.

      • Breadcrumb
        Open generator

        Provides navigation context to the coupon page.

      Required properties (stack union)

      Ensure every applicable required property is present in your implementation. Nested props reference their parent objects (for example, `offers.priceCurrency`).

      availability
      description
      itemListElement[].name
      mainEntity[].@type=Question
      mainEntity[].acceptedAnswer.text
      name
      price
      priceCurrency
      priceValidUntil
      url

      Recommended properties (stack union)

      category
      dateModified
      description
      eligibleRegion
      inLanguage
      itemListElement[].item
      mainEntity[].acceptedAnswer.text
      mainEntity[].author.name
      mainEntity[].name

      Combined JSON-LD

      Paste as a single script tag. Keep product details, offer data, shipping/returns, and FAQ answers in sync with the page.

      Validate
      [
        {
          "@context": "https://schema.org",
          "@type": "WebPage",
          "@id": "https://www.example.com/coupons/summer10#page",
          "name": "SUMMER10 Coupon Code",
          "description": "Get 10% off summer essentials with code SUMMER10.",
          "url": "https://www.example.com/coupons/summer10",
          "inLanguage": "en",
          "dateModified": "2025-06-01"
        },
        {
          "@context": "https://schema.org",
          "@type": "Offer",
          "@id": "https://www.example.com/coupons/summer10#offer",
          "name": "SUMMER10 — 10% Off",
          "price": "10.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock",
          "url": "https://www.example.com/shop#apply-summer10",
          "priceValidUntil": "2025-08-31",
          "category": "CouponCode",
          "description": "10% off select summer items. Exclusions apply."
        },
        {
          "@context": "https://schema.org",
          "@type": "FAQPage",
          "mainEntity": [
            {
              "@type": "Question",
              "name": "Where do I apply the code?",
              "acceptedAnswer": {
                "@type": "Answer",
                "text": "Enter SUMMER10 at checkout in the promo code field."
              }
            },
            {
              "@type": "Question",
              "name": "Can I stack this code?",
              "acceptedAnswer": {
                "@type": "Answer",
                "text": "No. This code cannot be combined with other offers."
              }
            },
            {
              "@type": "Question",
              "name": "Which items are excluded?",
              "acceptedAnswer": {
                "@type": "Answer",
                "text": "Final sale and gift cards are excluded. See the terms section for details."
              }
            }
          ]
        },
        {
          "@context": "https://schema.org",
          "@type": "BreadcrumbList",
          "itemListElement": [
            { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.example.com" },
            { "@type": "ListItem", "position": 2, "name": "Coupons", "item": "https://www.example.com/coupons" },
            { "@type": "ListItem", "position": 3, "name": "SUMMER10", "item": "https://www.example.com/coupons/summer10" }
          ]
        }
      ]

      Implementation steps

      1. Start from your live product detail page content; ensure titles, prices, and availability match the page.
      2. Embed one JSON-LD script in the head or just before the closing body tag using the combined example as a template.
      3. Fill shipping details for each region you serve and keep them aligned with on-page shipping tables.
      4. Attach your canonical MerchantReturnPolicy URL and keep the policy text in sync with Merchant Center.
      5. Add 3–6 FAQs that address purchase blockers (shipping, returns, compatibility) and keep answers consistent with visible content.
      6. Validate in the Rich Results Test and revalidate after price/availability/policy changes.

      Common errors and fixes

      FAQs

      Should I include the code itself?

      Yes. Display the code in visible content and ensure the Offer name matches the code.

      What if the discount is a dollar amount?

      Set price to the dollar value and note the discount type in the description.

      References