# Top sample: well-known Shopify brands: 462 stores attempted, 272 Shopify scans completed

| Class | Stores | Share of attempted |
|---|---|---|
| agent_ready | 219 | 47% |
| classic | 40 | 9% |
| headless | 13 | 3% |
| blocked | 45 | 10% |
| not_open | 3 | 1% |
| unreachable | 4 | 1% |
| woocommerce | 4 | 1% |
| other | 134 | 29% |

## Headline numbers (272 Shopify stores that could be scanned)

| Capability | Stores passing | Share |
|---|---|---|
| Agent can create a real cart (UCP cart.create) | 219 | 81% |
| Agent reaches a checkout URL | 219 | 81% |
| UCP profile published (/.well-known/ucp) | 258 | 95% |
| UCP catalog MCP answers tools/list | 258 | 95% |
| Public catalog readable (/products.json) | 242 | 89% |
| Search returns own products | 239 | 88% |
| llms.txt present | 239 | 88% |
| agents.md present | 232 | 85% |
| Product JSON-LD with price and availability | 47 | 17% |
| All four policy pages exist | 98 | 36% |
| Policy Q&A tool exposed | 252 | 93% |
| Products carry GTIN/barcode (public signal) | 0 | 0% |
| Descriptions adequate on sampled products | 78 | 29% |

Median tasks passed: 81% of testable tasks. Mean products needing attention: 31% of sampled products.

## Where agents get stuck (checks by failure rate)

| Check | Pass | Warning | Fail | Not testable |
|---|---|---|---|---|
| discovery.webmcp | 0 | 272 | 0 | 0 |
| schema.product_jsonld | 47 | 158 | 37 | 30 |
| policies.pages | 98 | 123 | 51 | 0 |
| product.description | 78 | 128 | 31 | 35 |
| product.category | 97 | 115 | 25 | 35 |
| product.sku | 121 | 112 | 4 | 35 |
| product.non_merchandise | 200 | 72 | 0 | 0 |
| policies.qa | 185 | 64 | 3 | 20 |
| product.images | 178 | 56 | 3 | 35 |
| discovery.agents_md | 232 | 40 | 0 | 0 |
| discovery.llms_txt | 239 | 28 | 5 | 0 |
| catalog.search | 239 | 15 | 18 | 0 |
| discovery.agentic_sitemap | 240 | 32 | 0 | 0 |
| product.variant_disambiguation | 205 | 29 | 3 | 35 |
| catalog.public_listing | 242 | 0 | 30 | 0 |
| discovery.llms_full_txt | 245 | 27 | 0 | 0 |
| product.brand | 211 | 26 | 0 | 35 |
| protocol.mcp_policies_tool | 252 | 20 | 0 | 0 |
| discovery.ucp_profile | 258 | 0 | 14 | 0 |
| protocol.mcp_endpoint | 258 | 0 | 14 | 0 |
| cart.create | 219 | 0 | 13 | 40 |
| product.in_stock_share | 231 | 6 | 0 | 35 |
| discovery.sitemap | 269 | 0 | 3 | 0 |
| discovery.storefront_public | 269 | 0 | 3 | 0 |
| discovery.robots | 270 | 2 | 0 | 0 |
| catalog.lookup | 240 | 1 | 0 | 31 |
| catalog.get_product_selection | 193 | 0 | 1 | 78 |
| protocol.ucp_negotiation | 257 | 0 | 1 | 14 |
| product.availability | 237 | 0 | 0 | 35 |
| product.gtin | 0 | 0 | 0 | 272 |
| product.image_alt_text | 0 | 0 | 0 | 272 |
| cart.cancel | 219 | 0 | 0 | 53 |
| cart.update | 219 | 0 | 0 | 53 |
| checkout.handoff | 219 | 0 | 0 | 53 |

## Best and worst (scanned Shopify stores)

Top 10: knockaround.com 31/32, colourpop.com 30/31, otterbox.com 30/32, tentree.com 30/32, lttstore.com 30/32, kith.com 30/32, stevemadden.com 30/32, netflix.shop 30/32, gruntstyle.com 30/32, misen.com 30/32

Bottom 10: briogeohair.com 3/15, drinklmnt.com 4/15, hatch.co 4/15, wearfigs.com 4/15, seedlipdrinks.com 4/15, sakara.com 4/15, ledger.com 4/15, ruggable.com 4/15, buckmason.com 5/15, vuoriclothing.com 5/15
