Skip to content
50% OFF $299 $599
Lock in
§ 3.5 ARTICLE
Published VerifiedEvery 6 weeks Sources5 named Authored bySquareRank Team

Schema · § 3.5 · How-to

Product schema on Squarespace Commerce

Squarespace Commerce auto-emits a basic Product schema block on every product page5 — name, image, description, sku, offers with price and availability. The 2026 install rule for a Commerce store: do not duplicate the auto-emitted block, layer the missing fields on top. The fields Squarespace does not emit and most stores need: brand, gtin or mpn for Merchant Center alignment, aggregateRating and review (only when there are genuine independent reviews), shippingDetails, and hasMerchantReturnPolicy.

Google's canonical Product documentation1 defines two surfaces — Product snippets (for non-purchase pages like editorial reviews) and Merchant listings (for transactional pages where customers can buy). Squarespace product pages are Merchant listings, which means aligning the schema with a Google Merchant Center feed is the highest-leverage layer to add.

What Product schema is

Product is the Schema.org type for a physical or digital good offered for sale. The vocabulary defines two parallel structural patterns: a top-level Product object carrying offers (the Offer sub-object with price and availability), and a top-level ProductGroup with hasVariant for products with size, colour, or style variants. Schema.org's canonical Product properties include name, image, description, brand, sku, gtin (Global Trade Item Number — UPC, EAN, ISBN), mpn (Manufacturer Part Number), aggregateRating, review.

The mental model: Product describes the item itself; Offer describes the transaction. A Squarespace Commerce product page has both — the auto-emitted block declares the Product and embeds an Offer with price and availability. What's missing from the auto-emission is the entity-level richness (brand, gtin, AggregateRating) that lifts Merchant Center eligibility and AI engine attribution.

When to use Product schema

Use Product on every transactional product page on a Squarespace Commerce site. The schema applies to physical goods (a printed art piece, a piece of furniture, a piece of jewellery) and digital goods (a downloadable course, an ebook, a software license). Do not use Product for ongoing services — that's the Service type. Do not use Product on category index pages — those are CollectionPage or ItemList.

A common confusion: a one-off coaching package sold as a fixed-price product on Squarespace Commerce. The customer pays once and receives delivery; the entity is sold as a packaged offering. Schema-wise, this is borderline. If the customer takes possession of a digital good (a course they download), use Product. If the customer receives ongoing service delivery, use Service even if the payment is one-off. The deciding factor is delivery, not pricing.

What Squarespace Commerce already emits

On every Squarespace Commerce product page, Squarespace auto-emits a Product JSON-LD block. The audit (verified 2026-05-18 by view-source on representative Commerce sites): name, image (the product's primary image), description (the product description copy), sku (the variant SKU), offers (an Offer with price, priceCurrency, availability). What Squarespace does not emit: brand, gtin or mpn, aggregateRating (Squarespace's native review system stores reviews but does not surface them as AggregateRating in the auto-emitted schema as of 2026), review (individual review objects), shippingDetails, hasMerchantReturnPolicy, productGroupID for variant products.

The implication: layering on Product schema is mostly an addition exercise, not a replacement exercise. Author a complementary block that adds the missing fields without re-declaring the fields Squarespace already emits. Two blocks with overlapping fields produce duplicate-entity warnings in the Rich Results Test; one block extending the other is clean.

Rich-results status in 2026

Product structured data drives two distinct Google surfaces in 2026: Product snippets (a richer search result card showing price, availability, rating) and Merchant listings (eligibility for Google Shopping surfaces and the Popular Products carousel). Product snippets surface when the page has clean Product schema and the merchant has not opted out. Merchant listings require feed alignment with Google Merchant Center — the structured data on the page must agree with the data in the Merchant Center feed.

The honest framing: the auto-emitted Squarespace Product schema is usually enough to produce a Product snippet on a well-ranked page. Getting into the Popular Products carousel and Shopping surfaces requires the additional fields Squarespace doesn't emit (gtin, brand, shippingDetails) plus a Merchant Center feed aligned with those fields. This is a real-money-on-the-table moment for Squarespace ecommerce owners who treat schema as “already done by the platform.”

Product schema in 2026

2

Google surfaces Product schema feeds: Product snippets (organic search) and Merchant listings (Shopping).

Google Search Central · 2025-12-10
Yes

Squarespace Commerce auto-emits Product schema. View source confirms name, image, description, sku, offers.

Squarespace Help · 2026
Not auto

AggregateRating from Squarespace's native review system is NOT auto-emitted as of 2026. Layer manually if independent reviews exist.

Squarespace Help · 2026

Required and recommended fields

For a Merchant listing, Google requires (per the canonical documentation) name, image, and either offers OR review OR aggregateRating. Recommended for Merchant Center alignment: brand, gtin, mpn, sku, productID, shippingDetails (an OfferShippingDetails object with deliveryTime and shippingRate), hasMerchantReturnPolicy. The fields most worth adding because Squarespace doesn't auto-emit them: brand, gtin/mpn, aggregateRating (when valid), shippingDetails, hasMerchantReturnPolicy.

  • name — the product name. Auto-emitted by Squarespace.
  • image — primary product image. Auto-emitted.
  • description — recommended. Auto-emitted.
  • brand — recommended. NOT auto-emitted. Add manually as a Brand object.
  • sku — recommended. Auto-emitted from Squarespace's variant SKU.
  • gtin / mpn — recommended. NOT auto-emitted. Add manually for Merchant Center eligibility.
  • offers — required (or review/aggregateRating). Auto-emitted with price, priceCurrency, availability.
  • aggregateRating — required if no offers (or recommended alongside). NOT auto-emitted. Add manually only when independent reviews exist.
  • review — recommended. Individual reviews as Review objects.
  • shippingDetails — recommended for Merchant Center. NOT auto-emitted.
  • hasMerchantReturnPolicy — recommended for Merchant Center. NOT auto-emitted.

Copy-paste JSON-LD example — the complementary block

The block below is the complementary Product schema for a handmade ceramic vase sold on a Squarespace Commerce store. It does not duplicate Squarespace's auto-emitted fields (name, image, description, sku, offers) — it adds the fields Squarespace does not emit (brand, gtin, aggregateRating, shippingDetails). Replace product name, brand, gtin, and rating with your real values.

JSON-LD Complementary Product block for a Squarespace Commerce ceramic vase — layers on auto-emission
 <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Product", "@id": "https://yourstore.com/shop/coastal-vase-no-3#product", "name": "Coastal Vase No. 3", "brand": { "@type": "Brand", "name": "Hollis Coastal Ceramics" }, "gtin": "5012345678900", "mpn": "HCC-COASTAL-V3", "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.8", "reviewCount": "47" }, "offers": { "@type": "Offer", "url": "https://yourstore.com/shop/coastal-vase-no-3", "priceCurrency": "USD", "price": "185", "availability": "https://schema.org/InStock", "shippingDetails": { "@type": "OfferShippingDetails", "shippingRate": { "@type": "MonetaryAmount", "value": "12", "currency": "USD" }, "shippingDestination": { "@type": "DefinedRegion", "addressCountry": "US" } } } } </script> 

Where to paste it on Squarespace

Product schema goes per-page in the product page's Code Injection. Open the product in the Squarespace editor, Page Settings > Advanced > Page Header Code Injection, paste the complementary script block, save. View source on the live product page after saving: the auto-emitted Product block and your complementary block should both appear, with no overlapping fields. If you see duplicate top-level Product objects with the same name, audit and fix the overlap.

An alternative pattern for large catalogs: a template-level Code Injection that dynamically composes the complementary block per product using Squarespace's product page variables. This is template-developer territory and outside the scope of a copy-paste reference; the manual per-page install is what most Squarespace Commerce owners can ship in an afternoon.

Validation steps

Run the live product page URL through Google's Rich Results Test. The expected output: two Product entities detected (the auto-emitted one and yours), neither in conflict, both valid. The Rich Results Test will likely report rich-result eligibility for Product snippets. For Merchant Center eligibility, the second check is uploading a Merchant Center feed and confirming the feed data agrees with the schema data — that check happens in the Merchant Center console, not in the Rich Results Test.

A common validation gotcha: the Rich Results Test reports “Product is missing field gtin” even though Merchant Center treats gtin as optional for some product categories (handmade goods, vintage items). The warning is informational, not an error — the markup is still valid. Add gtin only when you have a real GTIN; do not fabricate one to silence the warning.

Common gotchas on Squarespace

Four gotchas catch most Squarespace Product schema work. First: duplicating the auto-emitted block instead of complementing it — two top-level Product objects with overlapping fields trigger validator warnings. Second: adding AggregateRating from Squarespace's native review system without realising it counts as self-serving and won't trigger stars. Third: forgetting to bump the auto-emitted price by re-saving the product after a price change (occasionally the schema cache lags). Fourth: omitting brand on a single-brand store — even when the brand is obvious to humans, the schema needs the explicit brand object for Merchant Center alignment.

A fifth gotcha for variant products: Squarespace's auto-emission produces one Product block representing the default variant, not a ProductGroup with hasVariant. If you sell a product in five sizes or three colours, the auto-emitted block treats them as a single product, which under-represents the catalog to Merchant Center. The fix is a complementary ProductGroup block that declares the variants explicitly. The full variant pattern is in Google's canonical documentation1.

Product references Brand (an Organization subtype) and contains Offer (the pricing sub-object). When you have independent third-party reviews, Review and AggregateRating layer in. BreadcrumbList belongs on every product page. For variant products, ProductGroup is the parent type. The Organization that owns the catalog should also have its own site-wide schema block.