Blolabel
← Notes
analysis 6 min read

A sponsored slot raised agents' visits to a worse product by 15 runs in 60 and its purchases by 48

CAVEAT holds catalog, prices and the right answer fixed and switches on the tactics real marketplaces use. Agents mostly saw the worse product already; sponsorship changed whether they bought it. A spending gate that checks the action, not the choice, would have approved every one.

Moving one suboptimal product into a sponsored slot near the top of the results raised the share of agent runs that visited it from 45 of 60 to 60 of 60, and the share that bought it from 0 of 60 to 48 of 60. The agents already saw it in three runs out of four and never chose it; sponsorship changed the verdict, not the discovery. The numbers are from CAVEAT (arXiv:2609.27273, submitted 23 September 2026 by Yuxuan Li of Carnegie Mellon and Will Epperson, Wesley Deng and Zezhou Huang of Microsoft Research).

Abstract technical illustration of a long grid of identical product tiles fading into the distance, with the first tile lifted and lit and a thin path ending at it while the optimal tile sits unlit many rows back

What CAVEAT measured

CAVEAT is nine browser marketplaces (lodging, retail, food delivery, resale, freelance services, grocery, specialty shops) in which every scored task has exactly one product that meets the user's hard requirements and is best on all stated preferences. Each task runs twice with the same catalog, prices and optimum: once as a matched control, once with eight steering mechanisms switched on (sponsored placement, preferential ranking, drip pricing, promotional framing, defaults and bundling, scarcity and social proof, trust signals, friction). Every mechanism shows only true information. Agents run in the BrowserUse framework; the main sweep is 52 tasks, 3 repetitions, 5 model configurations.

Across that sweep the optimal purchase rate fell from 78.6% to 17.3%, which on 780 episodes per condition is about 613 against 135 (our reconstruction; the paper gives percentages). On CAVEAT-Hard, five tasks with 2,112 products over 88 result pages, GPT-5.6-Sol at high reasoning bought the optimum in 90.0% of controls and in none of 50 steered episodes. All 50 failures stopped on page 1.

ConditionModelOptimal purchases95% interval (ours)Source
All mechanisms off, CAVEAT-ShopGPT-5.6-Sol, low60/60 (100%)94.0 to 100Section 4.1
Sponsored placement onlyGPT-5.6-Sol, low38/60 (63.3%)50.7 to 74.4Section 4.1
Preferential ranking onlyGPT-5.6-Sol, low45/60 (75%)62.8 to 84.2Section 4.1
Drip pricing onlyGPT-5.6-Sol, low50/60 (83.3%)72.0 to 90.7Section 4.1
Other five mechanisms, one at a timeGPT-5.6-Sol, low"smaller drops"not reported as numbersSection 4.1
Drip pricing onlyGPT-5.6-Terra, low25/60 (35 suboptimal, all the drip-priced item)30.1 to 54.3Section 5.3
CAVEAT-Hard, controlGPT-5.6-Sol, high45/50 (90.0%)78.6 to 95.7Section 4.1
CAVEAT-Hard, steeredGPT-5.6-Sol, high0/500 to 7.1Section 4.1
Hard, steered, full CAVEAT-HarnessGPT-5.6-Sol, high12/15 (80.0%)54.8 to 93.0Section 6.1
Hard, steered, verification tool onlyGPT-5.6-Sol, high10/15 (66.7%)41.7 to 84.8Section 6.1
Hard, steered, structured objective onlyGPT-5.6-Sol, high1/15 (6.7%)1.2 to 29.8Section 6.1
Hard, steered, prompt onlyGPT-5.6-Sol, high2/15 (13.3%)3.7 to 37.9Section 6.1

Counts are ours, rebuilt from the percentages and the stated designs: CAVEAT-Shop is 20 tasks, and the CAVEAT-Harness comparisons use three repetitions per task, so 60 episodes on Shop and 15 on Hard. Every percentage in Section 6.1 lands exactly on those denominators (7/60 is 11.7%, 12/15 is 80.0%). Intervals are Wilson 95%.

Where steering enters: three points, each with a number

One purchase, three places the marketplace gets in User request hard + comparative Read priorities what matters most Search, stop how far to look Compare, buy which fact decides Objective drift swap order of two equal preferences: choice changed in 25 of 25 pairs Search closure sponsor one bad item: visits 45 to 60 of 60 bought 0 to 48 of 60 Hard: 50 of 50 failures stop on page 1 of 88 Unresolved facts 23 runs dropped a found optimum, mostly list vs payable price drip only: 35 of 60 bought that item Fixed spec first alone on Hard: 1 of 15 Verify before buying (tool) alone on Hard: 10 of 15; full CAVEAT-Harness: 12 of 15 cost: 2.6x runtime, 2.3x steps and tool calls

The placement experiment is the cleanest of the three. Across five product types and four preference settings, 60 runs per arm, the request, catalog and attributes are fixed and only the position of one suboptimal product changes. Visits rose by 15 runs; purchases rose by 48. Once it was sponsored, 80% of the runs that saw it bought it, against 0% of the 45 that saw it unsponsored. On the evidence side, the 23 runs that dropped a found optimum came from 19 model, task and condition settings, and 13 of those settings had another repetition that bought the optimum once the decisive fact was read correctly.

One mechanism at a time: optimal purchase rate, GPT-5.6-Sol low (n = 60 each) 0% 50% 100% All mechanisms off 100% (60/60) Sponsored placement 63.3% (38/60) Preferential ranking 75% (45/60) Drip pricing 83.3% (50/60) The other five families: "smaller drops", no numbers in the text.

Three of the paper's claims are smaller than they read

The abstract says CAVEAT-Harness "raises user-optimal purchasing by 55.0%". That is 55.0 percentage points, 11.7% to 66.7% for GPT-5.6-Terra on Shop, or 7 to 40 of 60 episodes: a 5.7-fold rise. The relative figure is larger than the abstract says, and the unit is wrong.

The Hard ablation of CAVEAT-Harness runs on 15 episodes per arm. Verification alone reached 10 of 15 and the full version 12 of 15; Fisher's exact p for that difference is 0.68. On this sample the structured objective adds nothing measurable, and the paper's reading that verification "accounts for most of the gain" is as far as the data go.

The transfer evidence is 12 episodes per arm on four CAVEAT-Stay tasks. CAVEAT-Harness took GPT-5.6-Terra from 2 to 6 of 12 (p 0.19); CAVEAT-27B reached 2 of 12 against 0 of 12 for its backbone (p 0.48). The paper calls both "preliminary", which is accurate: neither is distinguishable from no transfer. The in-domain post-training result does hold: 11 of 48 against 2 of 48 on the held-out Shop tasks, p 0.014.

What it means for an agent buying on a phone

phoneshell's spending rail confirms that a purchase happens, not which product. The 14 confirm_patterns in phoneshell/config.py match labels such as "place order", "buy", "checkout" and "subscribe"; max_spend_local is 0.0, so every payment needs a human tap; and rule 6 of the MCP instructions tells the model to show the user what it is about to do before calling again with confirmed=true. In CAVEAT's placement arm, all 48 wrong purchases would have reached that gate as ordinary purchases of a real product at a true price. A human approving "buy item X for $Y" sees what the agent saw. None of the 14 patterns compares the chosen item with anything else on the screen.

CAVEAT's strongest single lever was a check on the choice, not the action: a tool the agent can call before buying to argue that its search was complete and that no unresolved fact could change the comparison. For a phone agent that means the confirmation message should carry the evidence (how many results were inspected, whether the price shown is the payable one) rather than only the item name. That costs time; the paper measured 2.6 times the runtime. A separate study of default and social-proof nudges on a test web store (arXiv:2609.19843, 17 September 2026) points at the same gap from the defaults side.

Check it yourself

What would prove this wrong

Prediction, dated 31 March 2027: in any rerun of the CAVEAT-Hard ablation with at least 30 episodes per arm, verification alone lands within 15 points of the full CAVEAT-Harness. If the full version beats verification alone by more than 15 points at that size, the structured objective matters and our reading of the 15-episode arms was too cautious. Second prediction, same date: a CAVEAT-Stay transfer test with at least 60 episodes per arm shows the CAVEAT-Harness gain as significant (p below 0.05); if it does not, CAVEAT-Harness is a Shop-specific fix.

Sources

  1. Li, Epperson, Deng and Huang, the CAVEAT paper on computer-use agents in incentive-misaligned environments, arXiv:2609.27273, submitted 23 September 2026
  2. CAVEAT HTML edition: Sections 4.1 (matched sweep, single-mechanism ablation, CAVEAT-Hard), 5.1 to 5.3 (placement, drip pricing), 6.1 and 6.2 (harness and CAVEAT-27B)
  3. phoneshell SafetyConfig: 14 confirm_patterns and max_spend_local 0.0, read 27 September 2026
  4. A Dual-Process Perspective on Nudge Susceptibility in LLM-Based GUI Agents, arXiv:2609.19843, submitted 17 September 2026