ProductGroup Schema Validation API

ProductGroup schema markup enables product variant rich results in Google Shopping — allowing you to represent a product with multiple variants (different sizes, colors, or configurations) as a single structured entity. A ProductGroup links to individual Product variants via hasVariant and specifies which attributes vary via variesBy.

Required Properties

PropertyTypeDescription
namerich result
stringThe name of the product group.
hasVariantrich result
Product arrayThe individual product variants. Each variant is a Product.
variesByrich result
stringThe property that differs between variants (e.g. 'size', 'color').

Recommended Properties

Missing recommended properties generate warnings. They won't block validation, but rich result-tagged properties are needed for full Google rich result eligibility.

PropertyTypeDescription
description
stringA description of the product group.
image
URL or ImageObjectA representative image for the product group.
brand
OrganizationThe brand of the product.
sku
stringA base SKU for the product group.
url
URLThe canonical URL of the product group page.

Rich Result Eligibility

Rich result type: Product variants rich result in Google Shopping

Requirements: Required: name, hasVariant (array of Product schemas), and variesBy (the property that differs between variants, e.g. 'size', 'color').

Example valid ProductGroup JSON-LD

{
  "@context": "https://schema.org",
  "@type": "ProductGroup",
  "name": "Ergonomic Office Chair",
  "description": "Adjustable office chair available in three colors.",
  "url": "https://example.com/products/ergonomic-chair",
  "variesBy": "color",
  "hasVariant": [
    {
      "@type": "Product",
      "name": "Ergonomic Office Chair — Black",
      "color": "Black",
      "sku": "CHAIR-BLK",
      "offers": {
        "@type": "Offer",
        "price": "299",
        "priceCurrency": "USD",
        "availability": "https://schema.org/InStock"
      }
    },
    {
      "@type": "Product",
      "name": "Ergonomic Office Chair — Gray",
      "color": "Gray",
      "sku": "CHAIR-GRY",
      "offers": {
        "@type": "Offer",
        "price": "299",
        "priceCurrency": "USD",
        "availability": "https://schema.org/InStock"
      }
    }
  ]
}

Validate via API

Validate this schema against Google's requirements in one API call:

curl "https://schemacheck.dev/api/v1/validate" \
  -H "x-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonld":{"@context":"https://schema.org","@type":"ProductGroup","name":"Ergonomic Office Chair","description":"Adjustable office chair available in three colors.","url":"https://example.com/products/ergonomic-chair","variesBy":"color","hasVariant":[{"@type":"Product","name":"Ergonomic Office Chair — Black","color":"Black","sku":"CHAIR-BLK","offers":{"@type":"Offer","price":"299","priceCurrency":"USD","availability":"https://schema.org/InStock"}},{"@type":"Product","name":"Ergonomic Office Chair — Gray","color":"Gray","sku":"CHAIR-GRY","offers":{"@type":"Offer","price":"299","priceCurrency":"USD","availability":"https://schema.org/InStock"}}]}}'

Official Documentation

Google Structured Data: ProductGroup

Validate your ProductGroup schema now

100 free validations/month. No credit card required.