Why AI agents reach your site but cannot finish the task
A site can be accessible and easy to understand while its checkout or booking flow still fails. Test what happens between finding an offer and receiving confirmation, including the moments when the customer needs to take over.
Reviewed October 1, 2026 · 8 min read
On this page7 sections
An agent can read your product page and still fail to buy the product. Access, understanding and task completion are separate parts of the journey. Our 652-site readiness study checked public access and selected machine-readable signals; it did not test whether an agent could complete every business’s checkout or booking flow.
A failed task might come from a blocked request, an ambiguous field, a lost cart or an action the assistant does not support. Diagnose the stopping point before deciding that the solution is more structured data or fewer security controls.
Check access, understanding and completion separately#
Each stage needs its own evidence:
| Stage | Question | Useful evidence |
|---|---|---|
| Access | Can the intended client reach the page or endpoint? | HTTP responses, edge decisions and request logs |
| Understanding | Can it identify the offer and its terms? | Visible content, structured data and extracted facts |
| Completion | Can the authorized task finish, with any required handoff? | Flow events, order or booking records, and confirmation |
You can instrument all three. Record key steps such as opening checkout, selecting a slot, submitting a form and creating an order. A missing event does not prove why someone stopped, but it narrows the investigation when combined with a controlled test.
Know what the visiting agent can do#
A crawler, a browser agent and an API client do not have the same capabilities. Some fetch HTML, some run JavaScript and interact with pages, and some call tools directly. Test the client your customers actually use rather than assuming all agents behave like a browser or all behave like a crawler.
Product restrictions matter too. OpenAI’s current Cloud browser guidance says it cannot sign in or complete payments at launch. A handoff caused by that limit is different from a broken checkout. Check current support before asking a client to perform an unsupported action.
A customer handoff can be the correct outcome
A sign-in, consent choice or purchase approval may properly require the person’s involvement. Make the handoff preserve the selected item, entered details and next step. Measure whether the customer can continue, rather than treating every pause as a failure.
Common obstacles to completing a task#
Review these parts of the interface using both an unfamiliar human tester and the intended automated client:
| Obstacle | Possible effect | What to improve |
|---|---|---|
| Overlapping consent or promotion dialogs | The next action is obscured | Accessible controls and a clear path through required choices |
| Important facts available only after interaction | A simple fetch misses price or stock | Accessible public facts and an appropriate rendering strategy |
| Fragile multi-step state | A reload loses the cart or selected appointment | Reliable state recovery and an explicit summary |
| Unclear form labels and errors | The client cannot identify or correct a field | Labels, formats and field-specific validation messages |
| Authentication with no continuation path | The task cannot resume after sign-in | A supported handoff that returns to the intended action |
| Overly broad bot rules | A legitimate client is challenged or blocked | Verified identity and appropriately scoped access rules |
Keep necessary consent, authentication and abuse protection. Improve how those controls work in the journey. The goal is a reliable authorized action, not a path that bypasses the checks your business needs.
Start with public access and readable offers
The Nexez scanner checks public pages and machine-readable information. Use it for the access and content stages, then test checkout or booking separately. A scan score does not prove transaction completion.
Scan your site freeReview bot defenses using evidence#
Inspect the actual request that failed. Determine whether a CDN challenge, rate limit, application permission or unsupported browser action caused the stop. Changing robots.txt will not repair a checkout error or reverse a firewall decision by itself.
Where supported, verify the agent’s identity before applying a targeted rule. Keep customer authorization and endpoint limits in place. A known operator is easier to recognize, but its requests still need to follow your application’s rules.
Return useful errors and recovery instructions#
Use HTTP status codes that describe the response, with a readable explanation or structured error where appropriate. Agents can inspect response bodies, but they should not have to infer every failure from an otherwise successful status.
| Status | Meaning | Helpful response detail |
|---|---|---|
| 403 Forbidden | The server refuses this request | An appropriate explanation; it does not inherently mean a permanent ban |
| 429 Too Many Requests | The client has exceeded a rate limit | Retry guidance, including Retry-After when useful |
| 503 Service Unavailable | The service is temporarily unable to handle the request | Retry-After when a useful estimate is available |
| 200 OK | The HTTP request succeeded | The actual result, including any documented application-level status |
Avoid returning a generic failure page with 200 when the requested resource could not be served. Some APIs legitimately represent application-level results inside a successful response, but that behavior must be documented and understood by the client. Check both HTTP success and business success.
RFC 6585 defines 429 for rate limiting and permits Retry-After. The header can give a delay in seconds or an HTTP date. It helps a compatible client plan a retry, although it cannot guarantee that every client will wait or return.
Inspect the response your edge actually sends
A CDN or firewall may generate the error before your application runs. Trigger a controlled limit in staging and inspect its status, headers and body. Confirm that the client gets a useful response and that your logs record the decision.
Make the point of commitment clear#
A purchase or booking flow should make clear when a customer is committing. Show the item or service, total, date and material conditions before the final action. Required approval should refer to that concrete summary.
Use labels that describe the result: Place order, Confirm paid booking or Request a quote, as appropriate. A button labeled Continue should not unexpectedly charge a card or confirm a nonrefundable reservation.
After submission, provide a confirmation identifier and a clear status. If processing is still pending, say so. Design retries to avoid duplicate orders or bookings, and give the customer a way to check what happened.
How to test an agent-assisted customer journey#
- Inspect the public product or booking response. Check which facts are present in HTML and which require a browser or an API.
- Test the interface with keyboard navigation and accessible labels. Follow the form errors through to a successful correction.
- Use a test account and sandbox transaction to complete the journey from a fresh session. Check variant selection, totals, timing and confirmation.
- Repeat with an assistant that supports the intended actions. Record where it pauses, what it asks the customer to do and whether the task resumes.
- Test an expired session, unavailable item, rate limit and duplicate submission in staging. Verify recovery as well as the error message.
- Connect the observed stops with request logs and conversion events. Confirm completion in the order or booking system.
Ask a tester who does not already know the interface to repeat the task. Give them the customer’s requirements, not a list of buttons to press. Their observations can reveal assumptions that an owner or developer no longer notices.
Prioritize repeatable failures with clear customer impact. Fix one, repeat the same task and verify the resulting record. Structured data, access rules and interface improvements each have a role; the completed journey is the test that connects them.
Connect readable offers to a working next step
Nexez publishes structured offers with supported checkout and booking paths. See how those listings help agents understand the offer and move the customer toward an authorized action.
See how it worksFrequently asked questions
My site has perfect structured data. Why would an agent still fail?
Structured data describes the offer; it does not guarantee that the client can complete the flow. A task may stop because of unsupported actions, unclear fields, lost state, authentication or an unavailable item. Test the journey and inspect the stopping point separately from the markup.
What does the ChatGPT agent actually do on a website?
Capabilities depend on the product and environment. Some agents can interact with pages, while others only retrieve information or call connected tools. OpenAI’s current Cloud browser guidance says sign-in and payments are unsupported at launch, so verify the exact client’s capabilities before testing a purchase.
Do cookie banners block AI agents?
They can obstruct a browser client if controls are inaccessible or the overlay cannot be resolved. A simple HTML fetch may see the content differently. Preserve required consent choices, use accessible controls and test both the public response and the interactive flow.
Should I stop blocking bots so agents can buy from me?
Keep protections that address real abuse. Investigate which rule blocks the intended client and use provider-supported verification for a narrow exception where appropriate. A verified agent still needs customer authorization and permission for the endpoint it requests.
What HTTP status should I return to an agent I am rate limiting?
Use 429 Too Many Requests for a rate limit and provide useful recovery details. Retry-After can specify a delay in seconds or an HTTP date. Inspect the actual CDN or application response, and test how your supported client handles it rather than assuming all agents retry identically.
How do I test whether an agent can complete a purchase on my site?
Use an assistant that supports the intended actions, a test account and sandbox payment flow. Observe the handoffs and verify the resulting order and payment records. Also test failures, including expired sessions and duplicate submissions, without creating unintended real purchases.
Why does the commit button wording matter to an agent?
Both the person and the agent need to know when an action creates a commitment. Show the final terms and use a label that describes the result. A clear confirmation afterward helps distinguish a completed purchase from a pending request or an unsuccessful attempt.
Keep reading
AI readiness study: what we found on 652 small-business websites
We checked 652 small-business websites across five industries for public access, structured information and selected agent-discovery files.
9 min readAgent readinessDesign booking and checkout forms AI agents can use
Use clear labels, autocomplete tokens and useful errors to improve booking and checkout forms for people and browser agents.
7 min readAgent readinessHow to verify an AI agent is who it says it is
Check who sent an agent request, then decide what that caller is allowed to do. A verified identity is only the first step.
8 min read