In short
Yes for Google, where Product, Offer and merchant listing structured data feed rich results, help Google match pages to Merchant Center records and let its automatic updates correct price and stock, all of which sit behind the product panels in AI Overviews and AI Mode. For ChatGPT, Perplexity and similar assistants, structured data helps them parse price, availability and identifiers without ambiguity, but none of them has stated it as a ranking signal. Accurate markup that matches the visible page helps; markup that disagrees with the page does harm on every surface.
On Google's AI surfaces, product structured data is doing real work
Google's AI Overviews and AI Mode show products from the Shopping Graph, and Google builds that graph from Merchant Center feeds crossed with what it crawls. Product structured data on the page is how Google confirms that the crawled page and the feed describe the same item at the same price. Google also documents that pages with valid product markup can qualify for merchant listing experiences even without a feed, and that automatic item updates use the page's markup to correct price and availability when a feed lags.
That gives markup three concrete jobs on Google: qualifying for product rich results, keeping the feed and the page in agreement, and supplying attributes such as shipping and return details through OfferShippingDetails and MerchantReturnPolicy that enhanced listings look for.
None of this is a promise of appearing in an AI answer. It is the difference between a product Google can verify and one it has to guess about, and verified products are the ones it is comfortable placing in a panel.
For ChatGPT and Perplexity, markup helps parsing more than ranking
Assistants outside Google retrieve pages and read them as text, and increasingly they accept merchant feeds directly. When a fetcher reads a product page, a JSON-LD block that states the name, price, currency, availability, GTIN and brand is the least ambiguous version of that information on the page. Prices in images, in JavaScript-rendered widgets or in prose with several figures are harder to extract and easier to get wrong.
What markup does not do is earn a position. No assistant vendor has documented structured data as a factor in choosing which stores to cite or which products to show. Their public guidance points at crawlability, clear page content and, where offered, their feed programs.
So the honest weighting is: markup is a cheap way to make sure that when an assistant does read your page, it gets the facts right. It is not a lever for being read more often. Retrievability, third-party mentions and feed participation are.
The markup an ecommerce site needs, in order
Product with Offer on every product page, carrying name, image, description, sku, gtin or mpn where they exist, brand, price, priceCurrency, availability, and a URL that matches the canonical. Where variants share a page, ProductGroup with per-variant Product entries lets Google understand sizes and colors as one family, which mirrors item_group_id in the feed.
OfferShippingDetails and MerchantReturnPolicy, or the equivalent account-level settings in Merchant Center, so shipping cost, delivery time and return window are machine-readable. AggregateRating and Review only where the reviews are genuine and shown on the page.
Organization on the site, with name, logo, contact details and links to profiles, so the store itself is an entity assistants can identify. BreadcrumbList on product and collection pages to expose the category structure. Article on guides. FAQPage is fine on genuine question and answer content, with the caveat that Google restricted its rich result years ago; the markup is still readable, it just earns no visual treatment.
Markup that disagrees with the page does damage
The most common failure is not missing markup but wrong markup. A theme that outputs the first variant's price in JSON-LD while the page shows the selected variant. An availability value stuck at InStock on a sold-out product. A currency hard-coded to USD on a Canadian storefront. An aggregateRating with a count that does not match the visible reviews.
On Google these mismatches produce price and availability disapprovals through automatic item updates, warnings in Search Console, and in the worst case a misrepresentation review. For an assistant reading the page, a conflict between markup and visible text means it either picks one figure at random or drops the product from the answer as unreliable.
The fix is to generate markup from the same data the template renders, test it on real variant pages rather than a demo product, and re-test after theme or app changes. Apps that inject their own Product markup on top of the theme's are a frequent source of duplicate and conflicting blocks.
How to check whether your markup is working
Run a sample of product URLs through Google's Rich Results Test and confirm a Product or ProductGroup result with no errors and with price, availability and identifiers detected. In Search Console, open the Merchant listings and Product snippets reports, watch the valid and invalid counts over time, and read the reasons for any invalid items.
In Merchant Center, review the automatic item updates settings and the diagnostics for price and availability mismatches. Frequent corrections mean the feed and page disagree, and the markup is what Google used to spot it.
For other assistants, fetch a product page with curl and read the JSON-LD as they would; then ask the assistant about that product and see whether it quotes the right price and stock status. When it does, the markup and the page are in agreement. When it does not, fix the source data before adding anything new.
What a complete product record carries
- Identity
- name, brand, sku, gtin or mpn, image, description
- Offer
- price, priceCurrency, availability, url matching the canonical
- Variants
- ProductGroup with a Product per size or color, mirroring item_group_id
- Logistics
- OfferShippingDetails and MerchantReturnPolicy, or account-level settings in Merchant Center
- Reviews
- AggregateRating only where reviews are real and visible on the page
Illustrative checklist. Every value must be generated from the same data the page displays; a single stale field undoes the benefit of the rest.
Related questions
If my products are already in Merchant Center, do I still need schema on the page?
Yes. The feed carries the data, and the page markup is how Google confirms it and how automatic item updates correct it when the two drift. Assistants that do not use your Google feed read the page directly, and the markup is the clearest statement of price and availability they will find there.
Is FAQ schema still worth adding to product pages?
Add it only where the questions and answers are real and visible. Google limits the FAQ rich result to a small set of site types, so it earns no visual change for a store, but the content itself is exactly what assistants look for when a shopper asks about fit, compatibility or returns. The value is in the answers, not the markup.
Does JSON-LD or microdata matter for AI search?
Google recommends JSON-LD and reads both. Assistants that parse structured data handle JSON-LD most reliably because it sits in one block rather than being scattered through the template. If your theme outputs microdata and an app outputs JSON-LD, make sure they do not contradict each other, or remove one.