Structured Data for E-commerce: Not for AI Citations, but Against Misreading
Structured data for online stores, from purpose through implementation. Controlled experiments have not shown that adding JSON-LD increases AI citations, and Google states no special markup is needed for generative AI. This guide covers the three reasons to implement it anyway, which schemas to prioritize, and five common implementation faults. Of nine major brands we audited, only one had product data structured.
Key takeaways
- Structured data is not a tool for increasing AI citations. Controlled experiments show no significant effect, and Google states that no special markup is needed for generative AI
- There are still three reasons to implement it: rich results, consistency with your product feed, and preventing misreading
- Of the nine major brands we audited, only one had Product and Offer structured on its product pages
Implement structured data to prevent misreading
Articles telling you to add structured data "so AI can read your pages" are multiplying, and the causal claim does not hold. The reasons to implement lie elsewhere.
There are three: rich results in search, verifying consistency with your product feed, and delivering price, stock and review counts as definite values rather than inferences. That third one is the anti-misreading case, and it is where the AI connection actually lives.
Start with why the AI-citation argument fails.
What "schema doesn't work for AI" actually means
Summarized loosely, this gets misread, so here are the conditions.
In a controlled experiment Ahrefs published in June 2026, 1,885 pages that gained JSON-LD were compared against a control group of 4,000 that did not. No significant increase in AI citations was observed. The test ran on pages that were already frequently cited — conditions favorable to detecting an effect.
Google's position points the same way. Its guidance for AI features on Search states directly that there is no special schema.org markup to add for generative AI search.
There's no special schema.org markup to add for generative AI search.
What is unsupported is the specific claim that adding JSON-LD increases AI citations. Structured data remains effective for rich results in search, and Google recommends Merchant Center feeds for product information. Do not confuse the purposes.
Our overview of LLMO covers the field, and our 22-item checklist sorts tactics by how well evidenced they are.
Three reasons to implement it anyway
First, rich results. Whether price, availability and review stars appear in search results has a direct effect on click-through rate. This has not changed, and it remains the primary reason.
Second, consistency with your product feed. Google recommends Merchant Center feeds over structured data for product information. That does not make schema redundant — it makes schema the material for verifying that your feed and your site agree. A feed carrying tax-inclusive prices against a site showing tax-exclusive ones is a discrepancy you can detect mechanically from the schema. Feed design is covered in our product feed guide.
Third, preventing misreading. Is the price 189,800 yen or 189,800 yen including tax? Is stock "low" or a specific number? Handed only body text, AI fills the gaps by inference. Delivering definite values through schema removes that room. The volume of citations may not change, but the accuracy of what gets said about you does.
In our study putting 100 question patterns about returns and warranties to five AI services, 60.0% of answers matched the official information. Most of the incorrect ones filled in conditions the official pages never stated. The third reason addresses exactly this class of error.
How far Japan's major retailers have got
In our audit of nine major electronics retail brands, Product and Offer microdata was confirmable on product pages for only one of the nine.
In the provisional distribution, six brands were stuck before the comprehension stage — the largest group. Their official pages were readable, but the structured data that would make product attributes, price, stock, delivery and returns machine-readable was limited.
Read that correctly. It is not "the majors skip it, so it is unnecessary" but "even the majors have left it open". Narrow your category and there is still ground where preparing now creates a difference.
Which schemas to prioritize
You do not need all of them. Here is the order.
| Schema | Purpose | Minimum properties | Priority | Common trap |
|---|---|---|---|---|
| Product | Identify the product itself | name, image, description, sku | Required | A name that differs from the page title leaves no way to judge which is correct |
| Offer | Deliver price, stock and terms as definite values | price, priceCurrency, availability, url | Required | A sale price swapped in HTML only, leaving JSON-LD at list price |
| AggregateRating | Deliver average rating and review count | ratingValue, reviewCount | Recommended | A count that disagrees with the reviews shown on the page violates the guidelines |
| Review | Deliver the content of individual reviews | author, reviewRating, reviewBody | Recommended | Publishing reviews you wrote yourself is a violation |
| BreadcrumbList | State the page's position in the site | itemListElement (position, name, item) | Recommended | A hierarchy that disagrees with the breadcrumbs actually displayed |
| Organization | Establish the operator as a real entity | name, url, logo, address | Recommended | Wording that drifts from the company page on the same site |
| ItemList | Deliver the product list on category pages | itemListElement (position, url) | If capacity allows | Pagination repeating the same position values |
| FAQPage | Structure frequently asked questions | mainEntity (name, acceptedAnswer) | If capacity allows | A 2023 change narrowed rich result eligibility, so e-commerce sites no longer get them |
A note on FAQPage. An August 2023 change narrowed FAQ rich result eligibility to government and health sites. Ordinary e-commerce sites effectively no longer receive them. Is there still value in structuring FAQs? For supplying information to AI, some. But the priority drops, so handle it after Product and Offer.
Implementation
Use JSON-LD. There is no longer a reason to choose microdata for new work.
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Refrigerator XR-500",
"image": ["https://example.com/images/xr500.jpg"],
"description": "500L six-door refrigerator, 685mm wide",
"sku": "XR500-WH",
"gtin13": "4901234567890",
"brand": { "@type": "Brand", "name": "Example Electric" },
"offers": {
"@type": "Offer",
"url": "https://example.com/products/xr500",
"priceCurrency": "JPY",
"price": "189800",
"priceValidUntil": "2026-12-31",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"seller": { "@type": "Organization", "name": "Example Store" }
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.3",
"reviewCount": "128"
}
}
Wrap this in <script type="application/ld+json"> and output it inside <head>.
Major AI crawlers do not execute JavaScript and read only the HTML that comes back. If you inject JSON-LD through a tag manager, Googlebot will read it while ChatGPT and Perplexity see nothing. Emit it server-side.
Checking is easy: disable JavaScript, open the page, view source and search for application/ld+json. If it is absent, that is exactly what AI sees.
Five common implementation faults
What fails in practice is not the syntax but the consistency.
The displayed price differs from the JSON-LD price. The classic case is a sale price swapped into the HTML while JSON-LD keeps the list price. How to detect: compare the price extracted by the Rich Results Test against what the page displays
Stock status never updates. availability stays fixed at InStock while the item is actually sold out. How to detect: check availability in the JSON-LD on a sold-out product page
Reviews are non-existent or self-authored. This includes an AggregateRating whose count disagrees with the reviews on the page. Both are grounds for a manual action. How to detect: compare reviewCount against the count shown on the page
JSON-LD is emitted only by JavaScript. Googlebot reads it, so Search Console looks healthy. How to detect: disable JavaScript and view source
The Merchant Center feed contradicts the schema. A mismatch in price, stock or GTIN lowers confidence in both. How to detect: put a feed row and the same product's JSON-LD side by side
The fifth does the most damage. A source holding contradictions becomes, from an AI's point of view, a candidate it cannot adjudicate. Making the two agree matters more than perfecting either one.
Verification and monitoring
Implementation is not the end. Product data moves every day.
Three tools, each for a different job. The Rich Results Test shows how Google actually interpreted a single URL. A schema validator checks conformance to the schema.org specification, including properties Google does not support. The enhancement reports in Search Console list errors across the whole site, which suits ongoing monitoring.
A workable rhythm is one check per product at the point it is added, plus a monthly review of the Search Console error count. When errors jump, the cause is usually a template change, so comparing against your release log finds it quickly.
Frequently asked questions
Most themes emit basic Product and Offer markup. GTIN, brand and priceValidUntil are frequently left empty. Run the Rich Results Test first to see what is actually being emitted.
Since it is implemented in the template, it normally applies to all of them. The problem is not the number of products but products with incomplete data mixed in. Where required properties cannot be filled, it is safer not to emit until they can.
It is not a direct ranking factor. It works through rich results changing how you appear in search results, which raises click-through rate.
Use JSON-LD for new work. If existing microdata is working correctly, there is no urgency. What you must avoid is both coexisting and disagreeing.
Yes. Emitting reviews you wrote yourself, or ratings that do not exist, is a violation. AggregateRating values must match the reviews displayed on the page.
If the required properties are present, warnings on recommended properties do not affect display. Conversely, pages with no errors sometimes get nothing. Structured data is a necessary condition for display, not a sufficient one.
Summary
Implementing structured data as an AI tactic mistakes the purpose. Controlled experiments show no increase in AI citations.
There are three real reasons: rich results, consistency with your product feed, and preventing misreading. The third directly lowers the risk of your information being relayed incorrectly through AI.
Of nine major brands, one had product data structured. Even at that scale the ground is open. Implementation is easy and consistency is hard, which is where the difference gets made. We offer a free AI visibility assessment for retail and e-commerce businesses.



