Field notes
AI agent success rates: do agents finish tasks on your site?
Published tests of AI browser agents on live sites report task success from under 30% to 89%. Why the numbers disagree, and how to measure completion on yours.
Your logs show requests signed by ChatGPT agent on your booking page again: the calendar, a time slot, the details form posted twice in under a minute. Then the requests stop, one page short of /booking/confirmed. Your calendar has no new booking. Somewhere a person was told the booking didn't work, or that it did, and you can't tell which.
Browser agents are sold on finishing tasks for people: buying, booking, signing up. How often they actually manage it depends on who you ask, and the published figures range widely. This post covers what the benchmarks found, why their numbers disagree, why none of them will match your site, and how to measure the task success rate of AI agents on your own pages.
What benchmarks say about AI agent success rates
Reproducible test sites
WebArena, from Shuyan Zhou and 11 co-authors, built a "highly realistic and reproducible" environment of working websites in four domains: "e-commerce, social forum discussions, collaborative software development, and content management." Its best GPT-4 agent completed 14.41% of tasks end to end, against 78.24% for humans (Zhou et al., arXiv, first posted July 2023, revised April 2024). That was 2023's models. It still shows the size of the gap the field started from.
Live websites
Test sites stand still. Real sites have pop-ups, logins, bot protection and layouts that change. Three studies ran agents against live websites.
Online-Mind2Web. Tianci Xue and seven co-authors wrote 300 tasks across 136 live websites, including shopping and travel sites, and had people judge whether each run succeeded (Xue et al., "An Illusion of Progress?", arXiv, April 2025, revised October 2025). OpenAI's Operator succeeded on 61.3% of tasks and Claude Computer Use 3.7 on 56.3%. Browser Use, SeeAct, Claude Computer Use 3.5 and Agent-E landed between 28.0% and 30.7% (full paper). The authors say their results "depict a very different picture of the competency of current agents, suggesting over-optimism in previously reported results." The models tested are now well over a year old.
Web Bench. Halluminate, in partnership with Skyvern, open-sourced about 2,454 tasks across 452 sites in May 2025 (from a full set of about 5,750 tasks on more than 500 sites) and split them into read tasks (search and extract information) and write tasks (everything else: create, update or delete data, or download a file) (Halluminate). The best fully automated agent, Anthropic's computer use agent, completed 66.0% of all tasks. On read tasks, 5 of the 7 agents tested passed 70%. On write tasks, the best fully automated result was Skyvern 2.0 at 46.6%. Note that Skyvern was a partner in the benchmark, its own agent topped the write category, and the Anthropic and OpenAI computer use agents were run on Skyvern's infrastructure.
ClawBench. The newest of the three, from Yuxuan Zhang and 27 co-authors, gave 8 frontier models 153 everyday tasks on 144 production websites: completing purchases, booking appointments, submitting job applications (Zhang et al., arXiv, April 2026, revised July 2026). An interception layer blocked each final submission so nothing was really bought. The best model, Claude Sonnet 4.6, completed 33.3%.
The other side: vendor results
A vendor's own figure can look very different. In December 2024 Browser Use reported 89.1% on WebVoyager, a benchmark of tasks on real sites such as Google Flights and Booking.com, using GPT-4o (Browser Use). Online-Mind2Web, first posted under four months later, measured Browser Use at 30.0%, also running on GPT-4o (Xue et al.).
Those two figures are not a like-for-like comparison. The model is the same, but the task sets and the judges differ. Browser Use removed 55 WebVoyager tasks, giving as examples tasks that couldn't be done (a product with no listed price) or relied on outdated data, moved past dates forward a year, and checked the evaluator's "unknown" and "failed" verdicts by hand. It also says WebVoyager mostly tests an agent's planning, not how it copes with hard page structures such as iframes and shadow DOM. The Online-Mind2Web authors make a similar point from the other direction: they call WebVoyager's tasks "generally simple", and report that a plain search agent solved about 51% of WebVoyager tasks but only 22% of theirs.
The fair reading: on tasks that only look something up, most agents tested do well, above 70% in Web Bench. On multi-step tasks on live sites, especially ones that fill in and submit forms, the best independent results run from about a third (ClawBench) to about three in five (Online-Mind2Web), depending on the benchmark, the tasks and the model, and many agents do worse.
Why your site won't match any benchmark
A benchmark averages over a hundred or more sites. Your success rate depends on your forms, your checkout and your bot protection, and it can drop overnight after a release.
Some of what these studies found points at things you control. Web Bench lists proxy blocks, CAPTCHAs and bot detection, and login as infrastructure failures, and says "Infrastructure issues remain a huge blocker to browser agent performance on the real web." It also found write tasks harder because of more complex interfaces, logins and longer runs, which "may require 2-5x more steps" (Halluminate). Even Browser Use's own report notes that "Cloudflare sometimes got grumpy and blocked us" during its runs (Browser Use). A firewall rule that challenges cloud browsers will fail an agent no matter how good the model is, a problem we covered in your firewall may block AI agents. The page-level causes, from custom dropdowns to forms that fail quietly, are in where agents get stuck.
So the useful number is not the industry average. It is the share of agent visits that finish on your site, by agent, this week against last.
How to measure task completion on your site
- Define what finished means. A confirmation page such as
/thank-you, or an action your server performs, like a booking being saved. It has to be something your server sees: a step that only happens in the browser without a request leaves no trace in server logs. - Separate agents by what they do. Answer agents such as ChatGPT-User fetch pages when a person asks an assistant something; OpenAI says ChatGPT-User is used for actions a user starts and "is not used for crawling the web in an automatic fashion" (OpenAI). Browser agents drive a full browser to complete a task. An answer agent that reads your pricing page and leaves hasn't failed, so expect very different rates, and compare browser agents with each other. The field guide to AI visitors explains the types.
- Drop impostors first. Anyone can write ChatGPT into a user agent. Leave out visits whose IP range, reverse DNS or signature contradicts the operator, and treat the ones you can't check as unconfirmed, as described in how to verify AI bots.
- Count how they got there, not only whether. Steps and time to the goal, retries of the same request, and visits that were blocked tell you why the rate is what it is.
- Compare against your last release. A rate on its own says little. The same rate halving the day after a deploy is an incident.
- Remember what you can't see. Agents that run in the person's own browser, such as Claude in Chrome or Perplexity's Comet, send their requests from that browser, and neither Anthropic nor Perplexity publishes a signing key for them, so they look like the person (Known agents).
A browser agent that finishes a purchase itself sends no person to your site, so it doesn't show up in the conversion numbers we looked at in does ChatGPT traffic convert better? Measuring completion by agent is how you see them.
How Ethogram helps
Ethogram works from the requests your server answers, and reads each agent visit as a sequence of steps: navigate, read, search, submit, action, complete, retry, blocked, error and not found (Visits). Open the visit from the opening scene and you see each step in order, down to the last one before the agent left.
The Scorecard. The Scorecard tab ranks the agents that act for people, browser agents (ChatGPT agent, Google-Agent) and answer agents (ChatGPT-User, Claude-User), by the share of their visits in the period that reached one of your goals (Task scorecard). For each agent it shows median steps up to and including the one that reached the goal, median time from the visit's first request to it, retries, and how many visits were blocked at least once with 401, 403, 407, 429 or a bot-protection challenge. Agents with fewer than 3 visits are listed after the rest, unranked. Spoofed visits are left out. With more than 5,000 visits in the period it reads the newest 5,000, and only each visit's first 200 requests, so a goal reached after the 200th request counts as not reached.
Your definition of finished. A goal is a page path, such as /order/*/complete, or the name of an action your code reports with track(), such as "Booked". A project can have up to 20. Until you add one, a visit counts as completed when it reaches a confirmation page such as /thank-you, /order-confirmation or /checkout/success. A blocked request or a server error never counts, even on a goal's path. The Next.js and Express collectors come with track(); with any other server, send the action to the HTTP API.
When agents give up. If a named agent starts a purchase or form (takes an action or opens checkout) in at least 3 visits and never, or rarely, reaches one of your goals (or, with none set, a confirmation page), Insights, which looks through the last two weeks of visits, raises an abandoned finding linked to those visits (Insights). Mark each deploy as a release and it shows on the overview's activity chart, so you can line a change in completion up with what shipped.
The limits:
- Blocked and error counts need the response status. The Express middleware, the Cloudflare Worker and the HTTP API send it. The Next.js collector runs as a proxy before the response, so it sends no status; put the Cloudflare Worker in front of it if you need one.
- A collector on your own server, such as the Express middleware, never sees a request a CDN answered from its cache. The Cloudflare Worker collector runs before Cloudflare's cache, so it reports those requests too (Cloudflare).
- An agent's visit is the agent from one IP address (for an unverified browser agent, one network), and a gap of more than 30 minutes starts a new visit. A task the agent paused and came back to, or finished from another address, splits in two, and the half with the goal is the only one that counts as finished.
- Browser agents in a person's own browser count as that person unless they sign their requests (Known agents).
- Ethogram sees what the agent did on your site, not what it told its person afterwards.
Pricing includes a free trial.
If you want to know whether the agents on your booking page ever book, see how Ethogram works.
- agent readiness
- checkout
- analytics