AI assistants read a Shopify store 10x more often than people click through A headless Shopify fashion storefront recorded 1,264 page reads by ChatGPT and Claude over the 30 days from October 3 to November 1, 2026, against just 121 GA4-tracked visits from ChatGPT, according to server-log data collected by Canonry via a Cloudflare Worker. ChatGPT fetched pages 1,100 times and sent 121 visits, roughly nine reads per visit, while Claude fetched 164 pages and sent no recorded visit; the logs also captured about 10,600 requests from bots falsely claiming to be AI crawlers. Over a 90-day window, ChatGPT sent 370 sessions that produced 4 purchases, a 1.1% conversion rate versus 2.4% sitewide, and ChatGPT requested 28 discontinued product pages 81 times in 30 days. Ask a store owner how much traffic AI sends them and they will open Google Analytics. For the fashion brand in this post, GA4 recorded 121 sessions from ChatGPT in 30 days, well under 1% of the site's traffic. By that measure AI is a rounding error. The server logs for the same 30 days show something else. ChatGPT and Claude opened the store's pages 1,264 times for people who asked them questions. They kept requesting products the store no longer sells, guessed at Shopify addresses the storefront doesn't serve, and shared the logs with about 10,600 requests from bots pretending to be AI crawlers. None of that reaches analytics, and some of it pointed to fixes the store could make in a day. What we measured The brand sells clothing through a headless Shopify storefront: a custom front end that runs on Cloudflare, with checkout on Shopify. We have left the brand and its products unnamed. A Cloudflare Worker on the storefront forwards copies of requests from bots, AI assistants and visitors arriving from AI answers to Canonry. Canonry classifies each request and checks each bot's IP address against the ranges its operator publishes. Visits and purchases come from the store's GA4 property. The window is the 30 days from October 3 to November 1, 2026, and every number below comes from those two sources. Three kinds of request matter here, and they are easy to blur: - A crawl is a bot such as Googlebot, ClaudeBot or OAI-SearchBot fetching pages in bulk, for a search index or model training. - A read is an assistant fetching a page while it answers a person, under a user agent such as ChatGPT-User or Claude-User. The request comes from the provider's servers. - A visit is a person clicking a link in an AI answer and landing on the site in their own browser. Classifying AI crawlers and user fetches https://canonry.ai/blog/classifying-ai-crawlers-user-fetches-server-logs covers how the first two are told apart. Reads outnumber visits ChatGPT fetched the store's pages 1,100 times and sent 121 visits, about nine reads for every visit. Claude fetched pages 164 times and sent no visit that GA4 recorded. Perplexity sent none either. Gemini sent one. A read is invisible to the store's analytics because the assistant fetches the page from its own servers. The page's JavaScript never runs, so the GA4 tag never fires. The person gets an answer that may draw on the page, and may never visit. The homepage was the page assistants read most, at 357 of the verified reads. Other pages they read often included a popular product page, the About page, a collection page, and the shipping, contact and returns pages. Several of those answer questions about the business rather than about a product. Most of the visits that did happen came from phones. Between October 22 and November 1, 69 visitors arrived from AI answers, 68 of them from ChatGPT, and 42 of the 69 used Safari on an iPhone. Of their 70 visits, 27 started on the homepage and 24 on a product page. The median visit viewed two pages, and 32 visits viewed only one. Seven came through product links in ChatGPT's shopping results. Over a longer 90-day window, ChatGPT sent 370 sessions that produced 4 purchases, a 1.1% conversion rate. The whole site converted at 2.4%. Four purchases is too few to call a trend, but it fits the funnel above: at this store, ChatGPT reads far more than it sells. Assistants keep asking for products that are gone In 30 days, ChatGPT requested 28 product pages for items the store no longer sells, 81 times in total. One discontinued jacket accounted for 17 of those requests. Search crawlers did the same at a larger scale: verified bots from Google, Amazon, Bing and others requested 273 product URLs that redirected, 2,166 times. The storefront handled a missing product by redirecting to /404 , and the /404 page answered with HTTP 200, the status of a working page. Search engines call this a soft 404. To a crawler or an assistant, a product that no longer exists looked like a live page whose content happens to say "not found". The logs can't show what an assistant did with that page. They do show ChatGPT coming back to the same dead jacket URL 17 times in a month, which suggests the URL is still in whatever ChatGPT draws on when people ask about the brand. That last part is our inference, not something the logs prove. In a headless storefront, the front end, not Shopify, decides what a missing product returns. So we sent the store's developers a change in three parts: 1. A missing product, collection or page answers 404 at its own URL, and /404 itself answers 404. 2. A retired color redirects to the same style: another color of the same product, or the collection page for that style. 3. The redirect applies only when Shopify has no product for that address. A color that comes back next season is served normally. A discontinued style with no close match gets the plain 404. Redirecting it to a generic category would send shoppers somewhere they didn't ask to go, and Google may treat that kind of redirect as a soft 404 anyway. Claude asks for standard Shopify addresses Claude kept asking for addresses that standard Shopify stores serve and this one doesn't. Verified Claude-User requests went to /products.json , to /products/