Short answer: it’s rarely “the AI got confused.” An agent that gives up on your store almost always trips on one of a small number of concrete, checkable failures between “found the product” and “completed the order” β€” and most of them have nothing to do with how good your content reads. Below are the ones AgentReady’s scan is built to catch, in the order an agent actually hits them.

1. Blocked before it starts

The first checkpoint isn’t the product page, it’s the front door. If robots.txt disallows every AI crawler token, or a WAF/CDN bot-management rule 403s them at the edge regardless of what robots.txt says, the agent never gets past the homepage. This is common enough that our own scoring treats it as a hard ceiling rather than one deduction among many: a store that blocks agent crawlers can’t score above 25/100 no matter how good the rest of the site is, because nothing else it does matters if the door is locked. See our robots.txt copy-paste block for the tokens that actually need allowing.

2. The bot gets a different page than the shopper does

Some stores serve AI user-agents a thinner or altered version of the page β€” sometimes deliberately (a bot wall), sometimes as a side effect of a CDN “bot fight” preset. An agent that gets a stripped-down page can’t find the price, the stock status, or the buy action it just watched a human version of the page display. The differential is detectable: fetch once as a browser, once as a declared agent, and compare.

3. The buy action doesn’t exist until JavaScript runs

Agents that read raw HTML β€” many still do β€” see whatever is in the initial response, not what a browser paints after scripts execute. A product page can describe the item perfectly and still have no add-to-cart action anywhere in the HTML an agent actually receives, because the button is injected client-side. The agent can tell you about the product. It cannot tell you how to buy it.

4. The page loads, but not fast enough

Agent fetchers commonly run with short timeouts and no patience for a slow origin β€” a page that a human waits out can be abandoned mid-load by a script. A slow response doesn’t just hurt Core Web Vitals; for an agent it can mean the difference between a completed fetch and an empty one.

5. No machine-readable return policy or shipping cost

An agent trying to quote a shopper the true total β€” item price plus shipping, minus the risk if it doesn’t fit β€” needs shippingDetails and hasMerchantReturnPolicy in the offer, not a link to a prose policy page. Without them, an agent that can add the item to cart still can’t tell the shopper what the order will actually cost, and Google’s own Merchant Center flags exactly this gap on listings. See the field list in our Product JSON-LD guide.

6. The homepage never points to what matters

An agent that fetches only the root page needs a signpost β€” a <head> link, a sitemap reference, an HTTP Link header β€” to the resources it needs next. We learned this one the hard way on our own site: an external agent fetched agentready.market, found a page with no machine-readable pointers in it, and concluded there was “no public API” β€” even though our API, MCP server and llms.txt were all live at the time. A resource that exists but isn’t linked from the first page an agent sees does not exist for that agent.

7. Even a clean page can still get a “no”

Pass every check above and one failure point remains outside a merchant’s control: several major agent products stop short of the purchase on purpose. Anthropic’s own docs state that Claude “won’t purchase items, create accounts, or bypass CAPTCHAs without your input,” even on a site the user has already approved β€” see our writeup on what that means for a merchant. Design for the handoff an agent can complete β€” a correct, fully loaded cart with the right variant, price and shipping visible β€” because that’s the part still inside your control.

FAQ

Why does my store show up fine in ChatGPT but an agent still can’t buy from it?

Being cited or described by an assistant only proves the discovery layer works β€” the model read your content. Buying requires a separate, transaction-specific layer: a machine-readable offer with price and availability, a buy action visible in raw HTML, and a checkout path that doesn’t block automated clients. A store can pass the first and fail the second.

Is a slow website actually a checkout problem, or just an SEO one?

Both, but the failure mode differs. A slow page still eventually ranks; it just costs conversion. An agent fetching with a short timeout can abandon the request entirely before your HTML arrives, which reads to your server logs as a completed request and to the agent as a store that doesn’t respond β€” a harder failure than a ranking penalty.

Can I test whether my own checkout is agent-reachable?

Yes β€” fetch your product page with curl using a real agent user-agent string (GPTBot, ClaudeBot, PerplexityBot) and diff it against a normal browser fetch of the same URL; look for the add-to-cart markup, the price, and the availability field in both. AgentReady’s scan automates this exact differential.

Sources

A store an agent can describe but not transact with is a brochure with extra steps. These are the seven places that decide which one yours is.