What is Merchant Listing Structured Data? #
It’s a type of structured data markup you add to product pages where customers can purchase items directly. It provides Google with detailed product and offer info to enable rich search experiences like product carousels, shopping ads, and detailed merchant listings.
Key Features of Merchant Listing Markup #
- Supports detailed product info like sizing, colors, shipping, and return policies.
- Supports multiple offers and variants per product.
- Helps Google show rich product results with price, availability, seller info, shipping costs, and more.
Required & Recommended Properties #
Required Properties (minimum) #
| Property | Type | Description |
| @type | Text | Must be “Product” |
| name | Text | Product name |
| image | URL (array) | At least one product image URL |
| description | Text | Short product description |
| sku or mpn | Text | Stock Keeping Unit or Manufacturer Part Number |
| brand | Brand or Organization | Brand or manufacturer of the product |
| offers | Offer or AggregateOffer | Offer details including price, currency, availability |
Important offers properties for Merchant Listing #
| Property | Type | Description |
| price | Number | Price of the product offer |
| priceCurrency | Text | ISO 4217 currency code (e.g., USD, INR) |
| availability | URL/Text | Stock status (InStock, OutOfStock, PreOrder, etc.) |
| itemCondition | URL/Text | Condition of the item (New, Used, Refurbished) |
| url | URL | Link to the product page |
| seller | Organization | The seller or merchant offering the product |
| shippingDetails | ShippingDeliveryTime | Shipping costs and delivery details (optional) |
| returnPolicy | MerchantReturnPolicy | Return policy info (optional but recommended) |
Additional Recommended Properties #
- color, size, weight, gtin (Global Trade Item Number), material — useful for apparel and complex products.
- isVariantOf — to connect variants of the same product (colors, sizes, etc.).
- shippingDetails — specify shipping cost, free shipping eligibility, delivery time.
- merchantReturnPolicy — return/refund policies to build buyer trust.
Example Merchant Listing JSON-LD #
{
“@context”: “https://schema.org/”,
“@type”: “Product”,
“name”: “Men’s Running Shoes”,
“image”: [
“https://example.com/photos/1×1/shoe.jpg”
],
“description”: “Lightweight running shoes for men with breathable mesh fabric.”,
“sku”: “SHOE1234”,
“mpn”: “56789”,
“brand”: {
“@type”: “Brand”,
“name”: “FastTrack”
},
“offers”: {
“@type”: “Offer”,
“url”: “https://example.com/mens-running-shoes”,
“priceCurrency”: “USD”,
“price”: “59.99”,
“availability”: “https://schema.org/InStock”,
“itemCondition”: “https://schema.org/NewCondition”,
“seller”: {
“@type”: “Organization”,
“name”: “Example Store”
},
“shippingDetails”: {
“@type”: “OfferShippingDetails”,
“shippingRate”: {
“@type”: “MonetaryAmount”,
“value”: “5.00”,
“currency”: “USD”
},
“deliveryTime”: {
“@type”: “ShippingDeliveryTime”,
“handlingTime”: {
“@type”: “QuantitativeValue”,
“minValue”: 1,
“maxValue”: 2,
“unitCode”: “d”
},
“transitTime”: {
“@type”: “QuantitativeValue”,
“minValue”: 3,
“maxValue”: 5,
“unitCode”: “d”
}
}
}
}
}
Best Practices & Notes #
- Use distinct URLs for each product variant or currency.
- Place the structured data directly in your product page HTML (avoid dynamically generating via JavaScript when possible).
- Keep your price, availability, and condition updated to reflect real-time stock and pricing.
- Use Google Merchant Center to upload your product feeds for better coverage alongside your markup.
- Add merchant return policies and loyalty program info using nested Organization markup to boost trust.
Monitoring & Troubleshooting #
- Use Google Search Console Merchant Listings report to track errors and warnings specific to merchant listing markup.
- Validate your structured data regularly using Rich Results Test.
- Remember, Google doesn’t guarantee showing your markup as rich results, but following guidelines improves chances.