We read 168 online stores' product pages. Three were ready for AI shopping.
When a shopper asks an assistant "which one should I buy", the assistant compares six things: price, stock, rating, returns, shipping and a product identifier. We opened a real product page on 168 stores and counted how many state each one. Two of the six are nearly universal. The other four are almost nobody.
What stores actually state
Share of the 119 graded product pages stating each field
Show the numbers as a table
| Field | Stores | Share |
|---|---|---|
| Price | 118 / 119 | 99% |
| In stock or not | 115 / 119 | 97% |
| GTIN or MPN | 43 / 119 | 36% |
| Rating / reviews | 17 / 119 | 14% |
| Returns policy | 11 / 119 | 9% |
| Shipping & delivery | 11 / 119 | 9% |
The split is the whole finding
Price and stock come out at 99% and 97% because Shopify, WooCommerce, PrestaShop and Magento emit them automatically. You did not do anything to earn those, and neither did your competitor.
The other four are the ones a merchant has to add on purpose — and 103 of the 119 stores are missing three or more of them. That is the opportunity: the fields that decide which store an assistant names are exactly the fields almost nobody has bothered with.
We measured it twice before believing it
The first round was 82 stores. Rather than publish one sample, we drew a second one — 86 different stores, no domain shared with the first, pulled from the same list with a different stride — and ran the identical measurement. Every field landed within six points of the first round:
Round one vs round two
| Field | Round 1 (61 graded) | Round 2 (58 graded) |
|---|---|---|
| Price | 98% | 100% |
| In stock or not | 97% | 97% |
| GTIN or MPN | 39% | 33% |
| Rating / reviews | 15% | 14% |
| Returns policy | 10% | 9% |
| Shipping & delivery | 8% | 10% |
That is the reason to trust the shape of this more than the exact decimals: two independent draws of small stores tell the same story. The numbers above combine both rounds.
Why these six? They are what a shopping answer is made of. Without price and stock an assistant cannot answer at all. Without a rating it has nothing to rank you by, so it ranks the store that has one. Returns, shipping and a GTIN are the tie-breakers — and a GTIN is also how an assistant knows your listing and a competitor's are the same physical product.
How we measured it
- Sample: 168 domains drawn from the Tranco long tail in two non-overlapping rounds, filtered to stores. A domain counts as a store only if its homepage carries a platform fingerprint and a cart — never because the name sounds like one. Not a random sample of all e-commerce, and small stores are over-represented by design — those are the ones with something to gain.
- One real product page per store, found the way a crawler finds one: links from the homepage, then the sitemap, then one hop through a category listing. 41 of the 168 gave us no reachable product page at all, and 8 more had one with no machine-readable product data whatsoever. Both groups are excluded rather than scored zero — which makes every percentage above slightly generous.
- We read what the page states in
Productmarkup — JSON-LD or microdata, both count. Variant markup that splits one product across several nodes is merged, so a rating on the parent counts for the child. - We read the page only. A merchant feed may carry more; an AI crawler does not get the feed.
- A field counts if it is stated, not if it is good. We did not check whether the values are accurate.
One correction worth stating, because it changed a number: our first pass read only the first 1.5 MB of each page and reported one store as having no product markup at all. Its JSON-LD was at 2.09 MB — real, just below our cut. We now read the graded page in full. Any tool that measures this, ours included, is wrong about big pages until it does.
A second one, found by re-reading our own sample: 13 of the 119 graded pages were not products at all — gift cards (in four languages), a subscription, two services, a consultation and one marketing leaflet. They sit in the footer of half the stores on the internet, so a crawler meets them first. A gift card cannot have a GTIN or a return policy by nature, so counting it drags the hard fields down. Dropping all 13 moves nothing by more than three points: GTIN 37%, rating 11%, returns 8%, shipping 8%, price 99%, stock 96%. We publish the 119-store numbers above and this note rather than quietly restating them — the direction of the error is what matters, and it is small.
What to do about it
Pick the biggest gap and state it in your product markup. For most stores that is a rating, then returns, then shipping. You do not need a new platform or an app for this — it is a block of JSON-LD on the product template.
The code for each of the four missing fields, with the pitfalls: product schema markup examples →
See where your store sits
Paste your URL. We open a real product page on your site, count the same six fields, and hand you the markup for the ones you are missing — pre-filled from your own page. Free, no email, a few seconds.
Check my store →