Where stores let them in, AI agents can shop, but not pay. We sent Claude, GPT and Gemini, plus TypeSafe's Jev, a much cheaper web-action model, to buy one item from 500 well-known US online stores, including 48 of the NRF Top 100, and stopped each one at the card form. Every run was scored from the page, not from what the agent said. October 2026.
All 500 stores
Of the 469 stores Claude could be scored on, 175 (37%) stopped it before payment and 272 (58%) let it reach payment; GPT and Gemini were stopped at the same rate (36%). When a store let it in, it got there 93% of the time (272 of 294). Most stops came at the front door: 129 of 175 on the homepage or first click, only 12 at checkout. How often a store stopped it depends on how popular the site is, so the 37% describes this mix of well-known stores, not every online store. The stores people visit most are the ones most likely to stop an agent.
| Site's Tranco rank | Stores that stopped the agent | Share |
|---|---|---|
| Top 10,000 | 55 of 75 | 73% |
| 10,000 to 50,000 | 82 of 138 | 59% |
| 50,000 to 200,000 | 32 of 147 | 22% |
| Below 200,000 | 6 of 99 | 6% |
Part 1 · Where does it break?
When the store let Claude in, it reached payment 151 times out of 160. So the question is which stores stop it. Share of stores that stopped the agent before payment (a bot check, a block page, or a quiet failure such as an empty bag), grouped by how popular the site is. Among sites of similar popularity, Shopify stores rarely stop it and other platforms usually do (below 200,000 there are too few stores off Shopify to tell). It isn't just bot protection either: Shopify stores running a bot manager like Akamai or Cloudflare mostly let the agent in (3 of 29 stopped it), while stores elsewhere running one stopped it 146 times out of 191, and stores elsewhere with no bot manager detected still stopped it 21 times out of 60. A store counts as Shopify when its checkout runs on Shopify, including 11 stores with their own storefront in front of it.
244 stores scored for Claude. Popularity is each site's rank on the Tranco list of the top 1 million websites. GPT, Gemini and Jev ran only on the Part 3 stores. Unranked sites are counted below 200,000.
Part 1 · Shopify's shortcuts for agents
Most Shopify stores now register WebMCP tools in the browser (search the catalog, add to cart, go to checkout): 97 of 124 Shopify stores had them, 1 of 126 stores elsewhere. Each AI shopped the same Shopify store twice: once by clicking, once using the tools. Median actions to reach payment, both runs successful.
16 to 20 stores per AI. Success held or rose with tools, and cost moved by a few cents. Shopify also publishes a server-side agent checkout, UCP, on 197 of 222 of its stores (8 of 278 elsewhere); the website runs above didn't use it. A script run through it on every store that publishes one built a checkout at 195 of 197 Shopify stores and 1 of 8 elsewhere, and every one stopped at payment: the store hands the shopper a link to finish, because paying takes a credential only an approved agent gets. Claude, GPT and Gemini shopping through it themselves reached payment at 40, 38 and 40 of 40 Shopify stores in a median of 5, 7 and 3 steps. Private connections like ChatGPT's checkout through ACP, developed by OpenAI and Stripe, don't run through the website and aren't measured here; no store advertises ACP to outside agents (0 of 500 serve its proposed discovery file).
Part 2 · Can the results be trusted?
Part 3 · Does it depend on the AI?
Study 3 sent all three AIs to the same 250 new stores. Of the 201 stores all three could be scored on, 195 gave every AI the same result: 81 stopped all three, 114 stopped none. The six exceptions came from how far each agent got, not from a store treating one AI differently. On October 19 and 20 we sent GPT and Gemini to the original 250 stores too: 218 of 226 gave all three AIs the same result, so across both halves it is 413 of 427.
| Study 3 | How it shops | Shopify stores that stopped it | Other platforms | Reached payment when let in |
|---|---|---|---|---|
| Claude Sonnet 5.5 | sees the screen | 3 of 94 | 88 of 131 | 121 of 134 |
| GPT-5.6 Terra | reads the page | 3 of 93 | 85 of 127 | 106 of 132 |
| Gemini 3.1 Pro | reads the page | 3 of 90 | 85 of 125 | 96 of 127 |
Paying
At Shopify stores that offer UCP, the open checkout route for agents, the agent could set up a checkout almost every time (195 of 197), but each one stopped before payment and asked for a person or a card. As online stores work today, a store has no way to confirm that an agent is allowed to pay for the buyer.
What the agent pays for
When a paid add-on was on the page at payment, it ended up in the cart 29% of the time (47 of 162 runs): package protection, returns coverage, a protection plan or a membership (median $4.19, up to $150 a year). In 43 the store had ticked it in advance and the agent left it on; the agent added one itself only 4 times. None were required. Floyd, for example, adds a $150 a year membership to every cart by default and lets the buyer remove it; two different agents left it in. Agents did turn add-ons down 44 times, but not reliably: at 17 stores one agent left an add-on on and another did not.
Saying done
GPT and Gemini said they had reached payment when they hadn't in 7% and 10% of their runs (15 of 220 and 21 of 215), most often at a half-filled address form; Claude did so in 1% (3 of 225). Every result here is scored from the page, so these runs count as not reaching payment.
Part 4 · Does a cheap web-action model change the picture?
TypeSafe's Jev (jev-1.13.0), a small model built for web actions, ran the same 250 stores as Part 3, once on its own and once with Claude Haiku 4.5 taking any step where Jev's confidence fell below 0.4. Where Claude, GPT and Gemini all got the same result, Jev got it too at 181 of 191 stores (184 of 193 with Haiku). Almost every difference is Jev failing before it reached the page where the store stopped the others: it looped on the same click, left size pickers unset, or typed a garbled city. Jev alone failed on its own at 82 stores, against 13 for Claude. On the 140 stores that let both Jev runs in, Haiku stepping in raised payment from 70 to 85 (25 gained, 10 lost, paired p = 0.017) at about a third of Claude's cost per store.
| Same 250 stores | Shopify stores that stopped it | Other platforms | Reached payment when let in | Cost per run |
|---|---|---|---|---|
| Claude Sonnet 5.5 | 3 of 94 | 88 of 131 | 121 of 134 | $0.07 |
| GPT-5.6 Terra | 3 of 93 | 85 of 127 | 106 of 132 | $0.07 |
| Gemini 3.1 Pro | 3 of 90 | 85 of 125 | 96 of 127 | $0.09 |
| Jev 1.13 | 3 of 92 | 75 of 138 | 70 of 152 | $0.002 |
| Jev 1.13 + Claude Haiku 4.5 | 3 of 93 | 77 of 136 | 88 of 149 | $0.02 |
Jev ran on October 11 from a Windows PC on the same home connection. Its runs were reviewed against screenshots by AI reviewers under the Part 3 rules; a second blind review of 126 gave the same label for 122. 64 of the 500 were then checked by hand, and every label stood.
What a session looks like
Stitched from the screenshot saved at every step. Captions show what the agent did next.
A sample of the data
A small slice of the 500-store dataset: four Shopify stores every AI got through, four stores that walled every AI, two that failed silently for all three, and two where the AIs did differently. Every run was checked against its screenshots.
| Store | Platform | Site traffic rank | Claude | GPT | Gemini |
|---|---|---|---|---|---|
| Avocado Mattress | Shopify | 50,000 to 200,000 | Reached payment | Reached payment | Reached payment |
| Bowflex | Shopify | 50,000 to 200,000 | Reached payment | Reached payment | Reached payment |
| Béis | Shopify | 50,000 to 200,000 | Reached payment | Reached payment | Reached payment |
| Clinique | Shopify | 10,000 to 50,000 | Reached payment | Reached payment | Reached payment |
| American Musical Supply | Other | 10,000 to 50,000 | Bot wall / block | Bot wall / block | Bot wall / block |
| Aritzia | Other | 10,000 to 50,000 | Bot wall / block | Bot wall / block | Bot wall / block |
| Ashley | Other | 10,000 to 50,000 | Bot wall / block | Bot wall / block | Bot wall / block |
| At Home | Other | 10,000 to 50,000 | Bot wall / block | Bot wall / block | Bot wall / block |
| ASICS | Other | 10,000 to 50,000 | Quiet refusal | Quiet refusal | Quiet refusal |
| Athleta | Other | Top 10,000 | Quiet refusal | Quiet refusal | Quiet refusal |
| Dillard's | Other | 10,000 to 50,000 | Agent failed | Reached payment | Reached payment |
| HP | Other | Top 10,000 | Reached payment | Agent failed | Agent failed |
Download the sample (CSV)Request the full dataset
The full dataset (every run, every step, screenshots) is shared on request.
How it was run
Each agent drove a real Google Chrome window from one US home connection: pick any in-stock product, add it to the cart, check out as a guest with fake details (Alex Test, a San Francisco test address), and stop where card details are requested. Order buttons, wallets and card fields were blocked, so nothing was bought. Outcomes were scored from the page, then every run was reviewed against its screenshots by AI reviewers working to written rules, and 656 of the 1,604 runs, including a random 150 and every borderline case, were also checked by hand.
Part 1 (250 stores) used Claude Sonnet 5.5, and the tools test used all three AIs. Part 3 (250 new stores) ran Claude Sonnet 5.5, GPT-5.6 Terra and Gemini 3.1 Pro on every store, and Part 4 ran Jev 1.13 alone and with a Claude Haiku 4.5 fallback on the same 250. A store counts as Shopify if its checkout runs on Shopify, including 11 stores with their own storefront on top. A 40-store rerun a day later gave the same result for all 40, and a rerun of Part 1 two weeks later (October 16 to 20, with GPT and Gemini added and Claude also reading the page as text) matched at 236 of 241 stores. Stores with no checkout of their own, and runs where our tooling failed, are left out and listed in the data.
Limits: one home connection (plus a 168-store check over a phone hotspot), one month. Popularity is web traffic (Tranco list PY35J), not revenue, and almost no Shopify store is in the global top 10,000, so the comparison is between stores of similar popularity, not the very largest brands. The platform gap is a pattern, not proof of cause: stores also differ in bot-protection vendor and settings. Runs stop at the card form, so this measures reaching the payment step, not completed payments.