The 9 Essential eCommerce Structured Data Types

In this article, I’ll show you the vital structured data types you’ll need for eCommerce SEO (with sample code in JSON).

Let’s dive in!

The 9 Schema Types Your Store Needs (with Code Examples)

1. The Foundational eCommerce Schema: Product, Offer, and Reviews

Every product page on your store website should have the correct structured data (i.e., Schema markup), clarifying the following:

  • The product name
  • Description
  • Image
  • Availability
  • Pricing (and currency)

In addition to the Product Schema, you can also use the offer, rating, and review Schema codes to point the search bots toward reviews, SKUs, and the details of your offer. 

I think of these three as a package deal, as you can weave different properties together to get code similar to the one below:

<script type="application/ld+json">
{
  "@context": "https://Schema.org/",
  "@type": "Product",
  "name": "Product Name",
  "image": "https://www.example.com/product-image.jpg",
  "description": "Product Description",
  "sku": "Product SKU",
  "brand": {
    "@type": "Brand",
    "name": "Brand Name"
  },
  "offers": {
    "@type": "Offer",
    "price": "Product Price",
    "priceCurrency": "USD",
    "availability": "http://Schema.org/InStock",
    "seller": {
      "@type": "Organization",
      "name": "Seller Name"
    }
  },
  "review": {
    "@type": "Review",
    "reviewRating": {
      "@type": "Rating",
      "ratingValue": "4.5"
    },
    "author": {
      "@type": "Person",
      "name": "Reviewer Name"
    },
    "datePublished": "Review Date",
    "description": "Review Description"
  }
}
</script>

2. Shipping Information Schema for eCommerce SEO

If you’re advertising to a global audience, include shipping information with the OfferShippingDetails Schema

“Nest” it under the general Product Schema or provide it separately, depending on your structured data setup, to provide more information on:

  • The shipping destination
  • The shipping rate
  • Your shipping policy page
  • Delivery time
  • Shipping exclusions


Your code should look something like this:

{
  "@context": "https://Schema.org",
  "@type": "OfferShippingDetails",
  "shippingDestination": {
    "@type": "DefinedRegion",
    "name": "NL"
  },
  "shippingRate": {
    "@type": "MonetaryAmount",
    "currency": "USD",
    "value": "05.00"
  },
  "doesNotShip": false,
  "shippingPolicy": "https://example.com/shipping-policy",
  "deliveryTime": {
    "@type": "ShippingDeliveryTime",
    "minDeliveryDays": "3",
    "maxDeliveryDays": "7"
  }
}
</script>

3. Add Payment Method Structured Data

Every searcher has their payment preference, whether cash on delivery, PayPal, or just the specific credit cards your payment provider supports. It can be a huge friction point for conversions, so address it with the PaymentMethod structured data.

Pro tip: If you offer payment in installments or cash on delivery, highlight it!

{
  "@context": "https://Schema.org",
  "@type": "Offer",
  "acceptedPaymentMethod": [
    {
      "@type": "PaymentMethod",
      "name": "Credit Card"
    },
    {
      "@type": "PaymentMethod",
      "name": "PayPal"
    },
    {
      "@type": "PaymentMethod",
      "name": "Apple Pay"
    }
  ]
}
</script>


4. State Your Warranty Policy with eCommerce Structured Data

If you sell consumer electronics or any other product type that comes with a warranty, make that clear to the searchers and search engines with the WarrantyPromise Schema

This isn’t your garden-variety structured data, which gives you a chance to stand out in the SERPs.

To be added to the main Product schema, along with any additional properties you may want to add:

"warranty": {
      "@type": "WarrantyPromise",
      "durationOfWarranty" : {
        "@type" : "QuantitativeValue",
        "value": "6",
        "unitCode": "MON"
      },
      "warrantyScope": {
        "@type" : "WarrantyScope",
        "description": "Product listed on this page has 6 months of warranty."
      }


5. Breadcrumb Schema

Although your website should follow an intuitive hierarchy, breadcrumb navigation strengthens it. 

With breadcrumbs, search bots (and searchers) can easily understand your eCommerce categorization, so give the BreadcrumbList data a whirl!

{
  "@context": "https://Schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [{
    "@type": "ListItem",
    "position": 1,
    "name": "Home",
    "item": "https://www.example.com"
  },{
    "@type": "ListItem",
    "position": 2,
    "name": "Category",
    "item": "https://www.example.com/category"
  },{
    "@type": "ListItem",
    "position": 3,
    "name": "Product",
    "item": "https://www.example.com/category/product"
  }]
}


6. Local Business? Use the Right Structured Data

If you have a physical location in addition to your eCommerce store, use the LocalBusiness structured data. With it, you’ll notify Google of your work hours, address, and other vital information.

Plus, make sure you create a Google Business profile

{
  "@context": "http://Schema.org",
  "@type": "LocalBusiness",
  "name": "Example Business",
  "url": "https://www.example.com",
  "telephone": "(123) 456-7890",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main Street",
    "addressLocality": "Anytown",
    "addressRegion": "CA",
    "postalCode": "12345",
    "addressCountry": "US"
  },
  "openingHoursSpecification": {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "Monday",
      "Tuesday",
      "Wednesday",
      "Thursday",
      "Friday"
    ],
    "opens": "08:00",
    "closes": "18:00"
  },
  "sameAs": [
    "https://www.facebook.com/example",
    "https://twitter.com/example",
    "https://www.linkedin.com/company/example"
  ]
}


7. Video Schema

If you create videos related to your products, tag them properly with the VideoObject Schema:

{
  "@context": "https://Schema.org/",
  "@type": "VideoObject",
  "name": "Product Demo Video",
  "description": "A detailed demonstration of our new product",
  "thumbnailUrl": "https://example.com/thumbnail.jpg",
  "uploadDate": "2023-04-05T14:30:00Z",
  "duration": "PT1M30S",
  "contentUrl": "https://example.com/video.mp4",
  "embedUrl": "https://www.youtube.com/watch?v=abc123",
  "interactionCount": {
    "@type": "InteractionCounter",
    "userInteractionCount": "12345"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Example Company",
    "logo": {
      "@type": "ImageObject",
      "url": "https://example.com/logo.png",
      "width": 600,
      "height": 60
    }
  }
}


8. Return Policy Schema for eCommerce SEO

Specify how you handle returns to remove friction from the conversion process with the MerchantReturnPolicy Schema type. 

You’ll also be able to define specific policies, including returns for damaged items, fees per country, and more.

 {
  "@context": "https://Schema.org/",
  "@type": "MerchantReturnPolicy",
  "name": "Example Return Policy",
  "returnPolicyCategory": "https://Schema.org/RefundType",
  "returnPolicyCountry": "US",
  "returnPolicyRegion": "CA",
  "customerRemorseReturnWindow": {
    "@type": "QuantitativeValue",
    "value": 30,
    "unitText": "days"
  },
  "returnShippingFees": {
    "@type": "MonetaryAmount",
    "value": "5.00",
    "currency": "USD"
  },
  "returnPolicyURL": "https://example.com/return-policy",
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "Example Offer Catalog",
    "itemListElement": [{
        "@type": "Offer",
        "name": "Example Offer 1",
        "priceSpecification": {
          "@type": "PriceSpecification",
          "price": "50.00",
          "priceCurrency": "USD"
        }
      },
      {
        "@type": "Offer",
        "name": "Example Offer 2",
        "priceSpecification": {
          "@type": "PriceSpecification",
          "price": "100.00",
          "priceCurrency": "USD"
        }
      }
    ]
  }
}


9. Schema for Energy Efficiency Ratings

If you’re offering home electronics, you’ll want to emphasize their energy efficiency. And you can bet there’s a Schema type for that - EnergyConsumptionDetails!

{
  "@context": "https://Schema.org/",
  "@type": "EnergyConsumptionDetails",
  "name": "Example Energy Consumption Details",
  "description": "This is an example of energy consumption details.",
  "energyEfficiencyScaleMax": "A+++",
  "energyEfficiencyScaleMin": "D",
  "hasEnergyConsumptionDetails": [
    {
      "@type": "EnergyConsumptionDetails",
      "name": "Example Energy Consumption Details for Refrigerator",
      "description": "This is an example of energy consumption details for a refrigerator.",
      "energyEfficiencyClass": "A++",
      "annualEnergyConsumption": {
        "@type": "QuantitativeValue",
        "value": 200,
        "unitText": "kWh/yr"
      },
      "powerConsumption": {
        "@type": "QuantitativeValue",
        "value": 100,
        "unitText": "W"
      }
    },
    {
      "@type": "EnergyConsumptionDetails",
      "name": "Example Energy Consumption Details for Washing Machine",
      "description": "This is an example of energy consumption details for a washing machine.",
      "energyEfficiencyClass": "A+++",
      "annualEnergyConsumption": {
        "@type": "QuantitativeValue",
        "value": 150,
        "unitText": "kWh/yr"
      },
      "powerConsumption": {
        "@type": "QuantitativeValue",
        "value": 2000,
        "unitText": "W"
      }
    }
  ]
}

10. Does FAQ Schema Still Work?

Unfortunately, FAQ Schema is no longer supported for websites that aren't either high-authority health or government websites. The change happened in 2023, but don't worry: it could be good for your CTR since people will have to click through to learn more.

This doesn't mean you shouldn't still have an FAQ section on your website for user experience purposes. 

How to Think about Structured Data as an eCommerce Business Owner

I came across a fantastic webinar from Martha van Berkel of the Schema App a while back. In it, she explains that you shouldn’t think of Schema as just separate pieces of code you add to meet Google’s requirements.

Instead, think of Schema and structured data as the skeleton of your online presence. In addition to tagging your product pages, start adding structured data to other parts of your website, including blog posts, job posts, contact pages, and more.

Or, as van Berkel explains: “Your Schema connects to tell a story.”

schema markup strategy for seo

Similarly, Google’s Lizzi Sassman explained that adding one type of structured data within another (as in our Product Schema - with product, offer, and review information) is encouraged. 

Nesting your structured data helps Google understand what your page and your website are really about. Again, you’re building a data skeleton that will allow Google to understand how everything plays together and how authoritative you are within your industry

How to Implement Structured Data

If you use an eCommerce platform like Shopify or WooCommerce, structured data is likely already supported, whether natively or through plugins. 

Similarly, plugins like Yoast automatically generate suitable Schema types for WordPress.

However, I still recommend checking to ensure you’ve added all the relevant Schema types. If something hasn’t been added, there are almost always fields for your custom code where you can add the missing structured data.  

Then, double-check with SiteGuru’s free structured data tool. 

Give More Structure to Your Data (and Make Searchbots’ Jobs Easier)

I know that Schema sounds highly technical, but it doesn’t have to be. Simply think of it as Google’s tagging system and use the checkers, plugins, and tools to help you cover all the bases. 

Just make sure you use the structured data types that Google supports. However, even if your target Schema type doesn’t generate a rich-feature snippet, you can still use it. As the search expands and changes, Google is bound to add more features. 

Prepare ahead to stay ahead!