SEO100
SEO method 28 of 100

Product Structured Data and Merchant Center: A Seller's Setup Guide

Intermediate High impact A few hours Technical SEO

Updated · First published

Short answerProduct structured data lets Google show price, availability and reviews for your products. Add JSON-LD with name, image and an Offer (price and currency) on each product page, and submit a feed to Merchant Center for free listings. Using both gives Google the most data to verify.

Product structured data is JSON-LD code on a product page that tells Google the product’s name, images, price, availability, reviews and delivery terms. Combined with a product feed in Google Merchant Center, it makes your products eligible for price-and-stock rich results, the Shopping tab and other Google surfaces, free of charge.

What is the difference between product snippets and merchant listings?

Google’s Product documentation names two features that use the same Product markup:

Feature For which pages What it adds
Product snippets Product pages where people cannot buy directly (reviews, comparison and editorial pages) Review stars, ratings, pros and cons on editorial reviews
Merchant listings Pages where shoppers can buy from you Price, availability, shipping details, return policy, apparel sizing

Include the properties required for merchant listings and the page is also eligible for product snippets. Google can add to results ratings, shipping costs, availability, return information and price drops. Price drops are calculated by Google and not guaranteed to appear.

Why does this matter for ecommerce SEO?

A result with a price, stock status and stars takes more space and answers a buyer’s question before the click. On top of that, structured data is the way you describe products so Google reads them correctly, instead of guessing from page text. Google’s page on this says you can add structured data to your pages, upload a feed to Merchant Center and opt into free listings, or do both. Using both maximizes eligibility and helps Google understand and verify your data. Some features fill gaps from the other source: a product snippet can take its price from your feed when the page has none.

Google’s May 2026 guide on generative AI features recommends Merchant Center feeds for product data. Structured data does not need special treatment for AI features, but a clean feed and accurate markup are the sources Google can check.

Which properties does Google require?

From Google’s merchant listing documentation:

  • Product: name, image (Google recommends several high-resolution images in 16x9, 4x3 and 1x1 ratios) and offers.
  • Offer: price (greater than zero) and priceCurrency (three-letter ISO 4217 code such as USD or EUR). Merchant listings need a single Offer, not an AggregateOffer, because the merchant must be the seller.
  • Recommended: availability, itemCondition, priceValidUntil, url, brand, sku, mpn, GTIN fields, description, aggregateRating and review.
  • Shipping and returns: Google prefers one global policy under Organization, referenced from the offer, over repeating shippingDetails and hasMerchantReturnPolicy on every product.

A minimal example:

{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "Merino hiking socks",
  "image": ["https://example.com/img/socks-1x1.jpg"],
  "sku": "SOCK-001",
  "brand": { "@type": "Brand", "name": "Fellwind" },
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/merino-hiking-socks/",
    "price": 18.50,
    "priceCurrency": "EUR",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition"
  }
}

How do you set up product markup and Merchant Center, step by step?

  1. Check your page type. Each marked-up page must let shoppers buy one product (or variants of one product). Category and listing pages do not qualify for merchant listings.
  2. Check what your platform already outputs. Shopify, WooCommerce and most themes print Product markup. Test a product URL in the Rich Results Test before adding anything, to avoid duplicates.
  3. Fill the required and recommended properties, including GTIN, brand and availability. Use one URL for each currency offered.
  4. Put the markup in the initial HTML. Google notes that JavaScript-generated Product markup can make crawling less frequent and less reliable (see JavaScript SEO).
  5. Show the same data on the page. Price, availability and ratings in the markup must match what a shopper sees.
  6. Mark sales correctly. Add priceType set to https://schema.org/StrikethroughPrice on the original price only, and set priceValidUntil for the sale period.
  7. Create a Merchant Center account and add your products. New accounts are opted into free listings by default. For existing accounts, open Marketing methods and check the Free listings card. Upload a feed or connect your store through its Google channel app.
  8. Complete the feed attributes. Google’s free listings page requires id, title, link, image link, price, description, availability and shipping, plus condition, brand and GTIN or MPN where they apply. Add return policy information, ideally in Merchant Center. Shipping settings are mandatory in listed countries such as the US, UK, Germany and Japan.
  9. Fix issues. Work through the Needs attention tab on the Products page.

Free listings show products in the Shopping tab, in Google Search results (price, availability, reviews), in Google Images and Lens, on YouTube in some countries and on other Google surfaces.

How do you measure the result?

  • Search Console has Product snippets and Merchant listings reports with valid items, warnings and errors.
  • Merchant Center shows product status and diagnostics, and a performance report for free listings clicks and impressions.
  • In Search Console’s Performance report, filter by search appearance to compare CTR for product results and plain ones.
  • Compare price and stock in markup, feed and page on a sample of products every month. A mismatch is the first thing to fix.

What mistakes should you avoid?

  • Markup that disagrees with the page: a price in JSON-LD different from the visible one, or a product marked in stock when it is sold out.
  • Marking up category pages as if they were one product.
  • Fake or copied reviews and ratings that the page does not show (see customer reviews).
  • Missing GTINs for products that have them.
  • Duplicate markup from a theme and an app, each printing a different price.
  • Leaving shipping and return details out, which stops listings in countries that require them.
  • Heavy images that slow product pages (see image file size).

Where can you learn more?

The free digital marketing module of the Fe/male Switch startup school covers the SEO foundations of an online shop. Next steps on SEO100: read the general structured data rules, then check that your product URLs sit in your XML sitemap.

Earlier versions of this directory listed this as: Product Schema Implementation.

Learn SEO as part of building a startup

Fe/male Switch is a startup school and game where you build a real company step by step. Its free digital marketing module covers SEO, and the free startup tools help with the rest.