We scored one real product page from each of 30 well-known DTC brands on the signals an AI shopping agent depends on — structured product data, price and availability readable without JavaScript, a stable identifier, crawl directives. Twenty-three yielded a product page we could reach.
The median score was 100 out of 100. That is a much better picture than the industry conversation implies, and it is not the interesting part.
Machine readability is close to binary
The distribution has essentially no middle. Pages either emit schema.org Product markup and land at the top of the range, or they emit none and sit in a narrow band below. Nothing was partially readable.
| Score band | Pages | What they had in common |
|---|---|---|
| 80–100 | 17 | All but one emit schema.org Product |
| 55–79 | 6 | No Product markup found at all |
| Below 55 | 0 | None |
Six of 23 — about a quarter — had no Product markup on the page at all: Allbirds, Casper, Brooklinen, SKIMS, Vuori, quip. These are not small operations. They are brands with real engineering teams whose product pages an agent has to interpret from prose rather than read as facts.
That binary shape is the actionable finding. There is no gradual improvement curve to climb here: shipping correct Product markup moves a page from the lower band to the upper one in a single change, and not shipping it caps you regardless of how good everything else is.
Seven brands we could not find a product page for
Worth reporting rather than dropping. For seven of the 30 we could not locate a product URL from robots.txt, the sitemap, a sitemap index, or by scraping the homepage for a product link.
That is a discovery signal in its own right. An agent looking for what you sell does roughly what we did, and a catalog that is not reachable from a sitemap or a homepage link is substantially harder to find — whatever the markup on the page eventually says.
What this does not say
The sampling bias is large and it runs in our favour, so take the median with that in mind. The brands we could discover product URLs for are disproportionately Shopify-pattern stores, which emit Product markup by default. That very likely overstates readiness across the long tail of DTC — the stores most at risk are precisely the ones whose product URLs we could not find.
Our score is also our own rubric, not Adobe’s. Adobe measured retail product pages at 66% on machine readability; that number and our median are not measuring the same thing on the same population and should not be compared directly. What our data supports is the shape of the distribution, not a competing headline figure.
Other limits, briefly: one product page per brand, taken from the middle of the sitemap rather than chosen; a single request from one IP at one moment; 30 well-known US brands is a convenience sample, not a random one.
Method
For each domain we read robots.txt for Sitemap directives, then tried the sitemap, sitemap index and up to four child sitemaps, selecting a URL matching a product path pattern; where that failed we scraped the homepage for the first product link. The selected page was then fetched once with no JavaScript executed and scored on schema.org Product markup, Offer price and currency, availability, a GTIN/MPN/SKU identifier, whether readable text exists before any script runs, robots directives, canonical and meta description. Responses that looked like a bot challenge rather than a page were excluded rather than scored.
You can run the same check on your own store with our free agent-readiness checker. It is the same code that produced these numbers.
The data
Every figure above comes from a published, per-brand dataset you can check rather than take on trust: the DTC AI crawler index. Free to cite with attribution. Related reading: 73% of DTC brands have an llms.txt — almost none wrote it.