How ready are Shopify stores for ChatGPT shopping?
A study of 1,071 live Shopify stores and 42,560 products, October 2026. Original data from Citebeam.
Black Friday is on 27 November 2026. More shoppers now ask AI assistants what to buy, and an assistant can only recommend what it can read. Find out where your own catalog stands before the rush.
Better than you might fear on the basics, weaker on the details that machines rely on. 85.8% of the stores score 80 or more out of 100 on Citebeam's product-data checks, which follow Shopify's catalog requirements (median 89.1). But 50.3% of products have a variant with no SKU, 21.7% have a description under 150 characters, 20.3% of stores have no Product JSON-LD on their product page, and only 8.4% expose a barcode (GTIN) there. Almost no store blocks AI crawlers, so these gaps are fixable on the merchant's side.
Five findings
85.8%
1. The basics are mostly in place
85.8% of the 1,071 stores score 80 or more out of 100 on the public-feed checks (median 89.1). Titles and vendors are present on every product, and only 2.5% of products carry a zero price. Only 2.2% of stores fall into the "hard for AI assistants to use" band.
50.3%
2. Missing SKUs are common and barcodes are rarely exposed
50.3% of products have at least one variant without a SKU. On the product pages we checked, only 8.4% of stores publish a GTIN or other barcode in their structured data (10.6% of the pages that have Product structured data at all). Identifiers are how a product is matched across feeds and shops.
64.2%
3. Most stores have thin descriptions or missing labels somewhere in the catalog
21.7% of products have a description under 150 characters, and 64.2% of stores have at least one such product. 37.9% of products have no product type and 38.2% have no tags. These are the fields an assistant reads to decide what a product is and who it is for.
20.3%
4. A fifth of stores have no Product JSON-LD on their product page
79.7% of sampled product pages include schema.org Product data in JSON-LD, with price and availability in nearly all of them. 16.3% use older microdata only and 4% have no Product markup we could find in the page HTML. Shipping details (1.2%), return policy (1.1%) and ratings (1.8%) are almost never in the structured data.
0.1%
5. Blocked crawlers are not the problem
Of 1,069 stores, 0 block OAI-SearchBot (ChatGPT search) from product pages, 0 block PerplexityBot and 1 block GPTBot. Only 0.7% mention any AI crawler in robots.txt at all. The door is open. What is missing is complete, machine-readable product data behind it.
How store readiness scores are spread
Store score = mean of product scores under Citebeam's public-feed rules (0-100). 85.8% are in the "Strong foundation" band (80+), 12% "Needs work" (60-79), 2.2% "Hard for AI assistants to use" (below 60).Data table
Score
Stores
Share
0-9
0
0%
10-19
0
0%
20-29
0
0%
30-39
0
0%
40-49
16
1.5%
50-59
8
0.7%
60-69
24
2.2%
70-79
104
9.7%
80-89
406
37.9%
90-100
513
47.9%
Where the product data falls short
Share of all products checked that fail each rule. Rules and weights come from Citebeam's readiness checks.Data table
Rule
Products failing
Stores with at least one
Stores where most products fail
Variants without a SKU
50.3%
79.6%
50.2%
No tags
38.2%
78.2%
41%
No product type set
37.9%
74.8%
39.5%
Short or missing description (under 150 characters)
21.7%
64.2%
17.6%
Title too short, too long or ALL CAPS
17.6%
70.1%
10.8%
Every variant sold out
11%
56.6%
5.1%
No product image
3%
19.3%
1.5%
Price zero or missing
2.5%
14.8%
1.3%
Generic variant option names
1.1%
5.9%
0.7%
No vendor (brand) set
0%
0%
0%
Missing title
0%
0%
0%
The median description is 469 characters long, so most stores write enough. The problem is the tail: 64.2% of stores have at least one thin description, and 50.2% of stores leave SKUs empty on most of their products.
What a product page tells machines
One product page per store (the first product in its public feed), 1,055 stores. Among the 841 pages that carry Product JSON-LD, 10.6% include a GTIN.Data table
Field in the product page's structured data
Stores
Product JSON-LD
79.7%
Product microdata only (no JSON-LD)
16.3%
No Product markup found
4%
Price
79.6%
Availability
79.6%
Brand
79.6%
Ratings or reviews
1.8%
Return policy
1.1%
Shipping details
1.2%
GTIN / barcode
8.4%
AI crawlers are not being kept out
robots.txt as served to our research bot. A store can also block bots at its CDN, which robots.txt does not show.Data table
Crawler
Blocked on product pages
Named in robots.txt
GPTBot
0.1% (1)
0.7%
OAI-SearchBot
0% (0)
0.5%
ChatGPT-User
0% (0)
0.7%
PerplexityBot
0% (0)
0.5%
ClaudeBot
0% (0)
0.3%
Google-Extended
0% (0)
0.3%
CCBot
0% (0)
0.4%
By category
Stores whose product types and titles clearly point to one category (490 of 1,071); categories with fewer than 30 stores are not shown. The differences are small.Data table
Category
Stores
Mean score
Short descriptions
No SKU
Home & garden
36
90.8
20.6%
43.8%
Beauty & personal care
31
89.7
9.2%
51.1%
Art, books & stationery
68
88.5
16.7%
59.1%
Apparel & footwear
210
87.1
28.4%
51%
Jewelry & accessories
42
86.3
21.7%
70.1%
Food & drink
32
85.6
26.7%
49.8%
See where your store stands in 10 seconds. The free checker is built on the same product-data rules as this study. No sign-up.
Give every variant a SKU, and add the manufacturer barcode (GTIN, UPC, ISBN) where you have one. Never invent one.
Write descriptions of at least 150 characters: what it is, who it is for, materials, size, care.
Fill product type and tags. They tell an assistant what the product is.
Check that your product page outputs Product structured data with price and availability, and consider adding shipping and return policy.
Leave AI crawlers allowed in robots.txt if you want to be found.
The free checker reads only what the public feed shows. Citebeam reads your whole catalog from inside Shopify, including barcodes, product category and SEO fields, ranks every issue and applies the fixes it can after you preview them.
Sample. Common Crawl's CC-MAIN-2026-43 crawl (2026-10-05 to 2026-10-18) lists 48,986 *.myshopify.com hostnames. We kept those with at least one crawled product page: 4,834 whose product pages answered on the myshopify.com address and 2,933 whose product pages redirected to the store's own domain (6,565 together), and dropped auto-generated development-store names. A seeded random draw gave 600 stores from the first group and 861 from the second.
Funnel. 1,461 stores probed, 1,071 qualified (public product feed with at least 10 products). Left out: 221 with fewer than 10 products, 83 unreachable, 51 with no Shopify feed, 20 empty, 13 that refused our request (skipped, never retried).
What we requested. Per store at most three requests, one at a time with pauses: robots.txt, the public product feed (first 50 products) and one product page. We identified ourselves as CitebeamResearchBot, respected robots.txt, used no proxies and did not work around any block. Only public data was read; no personal data was collected, and only counts and yes/no facts were kept. No store is named in this study.
Rules. The product-data rules of Citebeam's free checker: title, image, price above zero, description of at least 150 characters, readable title, vendor, product type, tags, named variant options, SKUs and availability. A product's score is the weighted share of rules passed (a failed title, image or price caps it at 40); a store's score is the mean over its products. Image alt text is not part of Shopify's public feed, so it is not measured here.
What this study cannot tell you
Sample bias. Stores whose myshopify.com address is visible to crawlers lean small and new, and very large brands are under-represented. The two groups we drew from look alike: product pages served on the myshopify.com address: mean 86.8 (734 stores); redirect to the store's own domain: mean 88.4 (337 stores).
The feed shows only part of the picture. Barcodes, Shopify product category, SEO fields, collections and image alt text are not in the public feed. A store can score well here and still have gaps Citebeam finds inside the admin.
Up to 50 products per store, one product page per store, one day. Structured data was read from each store's first product only, in the HTML the server delivers: markup added later by browser scripts is not seen, and only JSON-LD counts as a pass.
Data completeness, not AI rankings. We did not test what ChatGPT or any assistant actually recommends. A high score does not guarantee being shown.
robots.txt only. Blocking at the CDN is invisible to us. Categories are inferred by keywords from product types and titles (581 stores could not be classified).
Requests from CitebeamResearchBot/1.0 came from this study. It made at most three requests per store and read public data only. If you would rather your store is left out of future studies, write to citebeam@proton.me, or disallow the bot in robots.txt.