Product Structured Data
Merchant Listing Schema Markup
Merchant Listing structured data is for pages where customers can purchase products directly from you. It tells Google you are the seller — unlocking Shopping panel appearances, Popular Products, price drop alerts, and the ability to show shipping and returns details in search results.
Generate Merchant Listing Schema FreeSelling products with variants? Add ProductGroup schema for colour swatches in Shopping.
Merchant Listing in Google Shopping
Popular products
👟
£29.99
Free delivery
Shopping panel
Free shipping label
Price drop alerts
Returns info
What Merchant Listing schema unlocks
Google Shopping panel
Eligible for the Popular Products panel and Shopping knowledge panel alongside other sellers.
Price drop alerts
Google can notify users when your price drops — driving return traffic without ad spend. Requires a single Offer, not AggregateOffer.
Shipping in results
Free shipping information can appear directly in Shopping cards and search snippets — a strong conversion signal.
Return policy visibility
hasMerchantReturnPolicy can show return window, method, and fees in Shopping results — builds buyer confidence.
Required and recommended properties
Merchant Listing has stricter requirements than Product Snippet — price and currency are required at the offer level.
| Property | Status | Notes |
|---|---|---|
| name | Required | Product name. |
| offers.price | Required | Numeric price. Use 0 for free products. |
| offers.priceCurrency | Required | Three-letter ISO 4217 code (e.g. GBP, USD, EUR). |
| offers.availability | Recommended | Use schema.org URIs: InStock, OutOfStock, PreOrder, BackOrder, etc. |
| image | Recommended | Product image. Must be crawlable and indexable. |
| gtin13 / gtin12 | Recommended | EAN or UPC barcode. Strong Shopping eligibility signal. Use MPN + brand as fallback. |
| sku | Recommended | Your internal product identifier. |
| brand | Recommended | Brand as a nested Brand object. |
| offers.shippingDetails | Recommended | OfferShippingDetails with shippingRate, destination, transit time. |
| hasMerchantReturnPolicy | Recommended | MerchantReturnPolicy with returnPolicyCategory, returnMethod, returnFees. |
| aggregateRating | Optional | Enables star ratings in search. Requires ratingValue and reviewCount. |
| offers.itemCondition | Optional | NewCondition, RefurbishedCondition, UsedCondition. |
| offers.priceValidUntil | Optional | ISO 8601 date. Snippet may not display if this date has passed. |
Frequently asked questions
Merchant Listing schema is for pages where customers can directly purchase the product from you. It is restricted to merchant and retailer pages — review sites and editorial pages cannot qualify for Merchant Listing features.
Product name, an Offer with price and priceCurrency, and availability. Google also strongly recommends product identifiers (GTIN or SKU) and image for full Shopping eligibility.
Product Snippet can be used by any page describing a product and focuses on reviews and ratings. Merchant Listing is only for merchant pages and focuses on offer details — price, availability, shipping, and returns. A merchant page can qualify for both.
Shipping details do not directly affect organic rankings, but they can appear in Shopping results and snippets, improving click-through rate. Free shipping information is particularly effective at increasing Shopping conversions.
GTIN is not strictly required, but products without one may have limited Shopping eligibility. Google uses GTINs to match your product to its Shopping knowledge graph. If your product has a barcode (EAN or UPC), include it. Use MPN and brand as a fallback if no GTIN exists.
Also in this series
Generate valid Merchant Listing schema
Add pricing, shipping, returns, and identifiers — get clean JSON-LD in seconds. No account needed.