Anthropic's commerce blueprint hands you the ranking function
Sources: Anthropic's commerce-agents announcement and repository; PYMNTS; Search Engine Land; CNBC; PPC Land; Stripe; Google Developers Blog. First-hand measurement of the reference ranker run September 10, 2026.
The short version
- Anthropic's commerce blueprint contains no payment code, no product feed format, and no commerce protocol, which puts the whole transaction and the whole catalog back on the merchant.
- The agent reaches your products through a single Python method you implement, so the quality of your own catalog search is the quality of the agent's product discovery.
- I ran Anthropic's own scoring code against controlled records. Of the 31 synonym pairs shipped in the retail example, 27 work in one direction only, so a shopper typing sofa finds nothing when the product is titled couch.
- OpenAI ended in-chat checkout in March after Walmart measured it converting at one third the rate of a click-through, and Google's protocol keeps the merchant as merchant of record. All three platforms now split discovery from the transaction.
Anthropic released a commerce blueprint on September 2, 2026, developed with Visa, Mastercard, and Accenture, and it contains no payment code.1 The checkout step draws a cart on screen and sends the shopper to the merchant’s own payment page. Because that gap is deliberate, it lands Anthropic in the same position OpenAI and Google reached this year by very different routes.
Underneath it sits a second gap, and what the code does there has gone largely unmeasured. The blueprint ships no product feed format, no structured-data vocabulary, and no ranking algorithm, so the code deciding which of your products a shopper can find is code you write yourself. Your catalog search becomes the agent’s ranking system, and most catalog search was never built to carry that job.
I swept all 571 files of the repository for eleven commerce and feed standards. Every one of them returned zero.
What did Anthropic actually release?
Anthropic published a reference implementation named commerce agents, licensed under Apache 2.0 and free to clone.2 Inside it sit two separate agents. A shopping agent searches a catalog, compares products, fills a cart, and answers questions about orders and returns. On the other side of the counter, a merchant agent reads sales performance, watches inventory, and drafts pricing, promotion, and campaign changes, every one of them staged for a person to approve before anything moves.
Four worked examples ship alongside them, covering retail, travel, telecom, and entertainment. The same agents run three ways, either through Anthropic’s own message endpoint, through its agent toolkit, or as a hosted agent, and they deploy on the Claude API, Amazon Bedrock, Microsoft Foundry, and Google Cloud Vertex AI.1
When I read the repository it had drawn roughly 2,700 stars, a rough bookmark count, on a single saved snapshot of the code. Its last line reads “This is a reference implementation; it is not maintained and does not accept contributions.”2 Anthropic is publishing a shape to copy rather than a product to depend on.
Anthropic says retailers already running shopping agents on Claude have seen carts up to 35% larger, with shoppers more likely to finish buying.1 Those are the company’s own reported figures and not an independently verified benchmark, as the payments trade publication PYMNTS points out, with no sample size, no named retailer, and no time window attached.3 Treat them as vendor claims until someone publishes the method.
Why does a blueprint backed by two payment networks contain no payment code?
Anthropic decided the transaction is not its layer, and the commerce-agents code says so outright. Its safety documentation states the rule in the table of what the code enforces. “Nothing places an order or charges. StorefrontBackend has no such method; checkout renders the cart for the host to complete.”2
StorefrontBackend is the class a merchant writes to plug the agent into their own catalog and cart, and it is the piece everything below turns on. The integration guide repeats the same rule. “The checkout tool ends the agent’s part: it renders the cart. Nothing in this repo places an order or takes payment.”2
Instead the code offers three handoffs. The cart can link to a route inside the merchant’s own application, which is the default, or open a hosted checkout page, or show one link per seller for a marketplace. In every case the payment URL is attached after the model has finished and never passes through the model at all.
PYMNTS summarized that boundary in one line, and it holds up against the code. “The blueprint includes no payment protocol, no product catalog and no advertising layer.”3
Anthropic is the third major platform in twelve months to leave the purchase with the merchant. OpenAI launched buying inside ChatGPT in September 2025 with Stripe6 and ended it on March 24, 2026, keeping product discovery and handing checkout back to the store.7 Behind that reversal sits a number from its largest participating retailer. When Walmart put roughly 200,000 products through the feature, those in-chat purchases converted at one third the rate of shoppers who clicked through to walmart.com, according to Daniel Danker, the company’s executive vice president of product and design.4 The same channel drove about twice the new-customer rate Walmart sees from search engines, Danker said, so the discovery half worked while the buying half did not.8
Through design instead of retreat, Google reached the same place. Its Universal Commerce Protocol, the specification that lets an agent and a store transact, keeps the merchant as merchant of record and preserves a checkout the merchant controls.5
OpenAI retreated after measuring it, Google wrote the merchant into the specification, and Anthropic never built a wallet at all.
Where does a Claude shopping agent get its products?
A Claude shopping agent gets its products from one Python method that the merchant writes. In the repository’s own words, this is the “one integration surface an adopter implements, mapping each method onto their catalog, cart, profile, order, and policy services.”2 The model never touches a catalog directly. It calls a method, your server answers, and that answer is the only product information the model ever sees.
Discovery runs through one signature, meaning the fixed list of inputs Anthropic expects the method to accept and the shape of what it returns.
async def search_products(self, session, query, filters=None, limit=8) -> list[Product]
Almost all of Anthropic’s documentation for that method covers the result limit, the empty-result case, and how a product family resolves to its variants.2 On what actually ranks, it spends six words. “The closest text matches, best first.” Anthropic defines what comes back, while nothing in the blueprint decides what wins.
If a commerce standard were quietly wired in behind that method, the source would show it. So I downloaded the repository on September 10, 2026 and searched every file for eleven terms, including OpenAI’s Agentic Commerce Protocol (ACP) and Google’s Universal Commerce Protocol (UCP). Alongside them ran a positive control, meaning a term I already knew was in there, which proves a real hit would show up. That matters because a search returning zero is a claim about your own spelling before it is a claim about the code.
| Term searched | Files containing it |
|---|---|
| agentic commerce protocol | 0 |
| ACP | 0 |
| universal commerce protocol | 0 |
| UCP | 0 |
| AP2, Google’s agent payments protocol | 0 |
| x402 | 0 |
| instant checkout | 0 |
| product feed | 0 |
| merchant center | 0 |
| schema.org | 0 |
| JSON-LD | 0 |
| control: MCP | 50 |
| control: checkout | 72 |
| control: StorefrontBackend | 37 |
Because the controls returned hits, those zeros are real. Across all 571 files, exactly one integration standard appears. That is the Model Context Protocol, the wiring that lets an agent call an outside system, and nothing in it knows what a product feed is.
What does the reference ranking function actually reward?
The reference ranking function rewards weighted keyword matching, with the title counting three times what the description counts. While the product-search method stays blank for a real deployment, the demo catalog ships a working version, and reading it shows you what Anthropic treats as the floor. I sliced those scoring functions out of the repository and ran them unmodified, so every number below is what Anthropic’s own code produced.
| Field | Weight |
|---|---|
| title | 3.0 |
| brand | 2.0 |
| category | 2.0 |
| attributes | 1.5 |
| description | 1.0 |
Each word in a shopper’s query scores the weight of the best field it appears in. There are no embeddings anywhere in it, which means none of the numeric similarity that lets a search engine match related words it was never told about. If the word a shopper types is missing from your catalog text, it scores nothing.
Where a fact sits costs more than whether you published it at all. To test that, I built two otherwise identical records and asked for “waterproof hiking boots.” The record carrying waterproof in its title scored 9.0, against 4.0 for the record holding the identical fact only in its long description. Burying a buying attribute in prose costs it more than half its weight.
Where synonyms are concerned, the result is stranger. Scoring looks up alternatives for the shopper’s word and never for the product’s word, so a pair works both ways only when both words are listed as entries. In the retail example, 18 entries cover 31 pairs, and 27 of those 31 run in one direction only. Type couch and you match a product titled Sofa. Type sofa against a product titled Couch and you get nothing at all.
Plurals fail the same way. Because the stemmer strips one trailing “s” and does nothing else, any English plural that changes the rest of the word misses outright.
| Shopper types | Product title | Score |
|---|---|---|
| boots | ACME Hiking Boot | 3.0 |
| knives | ACME Chef Knife | 0.0 |
| shelves | ACME Wall Shelf | 0.0 |
| sneakers | ACME Running Shoe | 0.0 |
| children | ACME Kids Jacket | 0.0 |
Does feed optimization still matter?
Feed optimization matters exactly as much as before on the surfaces that read feeds, and not at all inside a merchant-hosted agent. Those are two separate pipelines fed by the same catalog, which is why the answer sounds contradictory at first.
Google’s shopping surfaces read Merchant Center. ChatGPT’s product discovery reads the feed pipeline OpenAI extended in March. On both of those, the platform holds the index and the platform ranks, so feed completeness is the one control you hold. Nothing described here changes that.
An agent built on Anthropic’s blueprint reads none of it. There is no index to be included in and no ranking to be argued with, because the retrieval is yours end to end. A perfectly groomed Merchant Center feed contributes nothing to what that agent can find, unless you happen to have pointed search_products at the same data.
Think of it as the difference between stocking a shelf in someone else’s store and stocking your own. Feed work is the first job, where the rules belong to the landlord and you compete for placement against everyone else on the aisle. A merchant-hosted agent is the second, where nobody competes for the space and the only reason a product goes unsold is that your own staff could not find it. Where the comparison breaks is discovery, since a shopper walks into a store on purpose and owning the shelf does nothing to bring them through the door.
Underneath both, the work turns out to be the same work. Attribute completeness, distinguishing facts in structured fields instead of prose, consistent naming, and vocabulary that matches how customers speak all decide whether a machine can find your product. What changes is who grades you. For twenty years the grader was somebody else’s index, and a merchant-hosted agent means grading yourself.
What should you check before wiring an agent to your catalog?
Run agent-shaped queries through the site search you already have, because that search is the thing about to be promoted into a ranking system. An agent receives whatever the shopper said to it, constraints included, and passes that text straight into search_products, the catalog-search method. So the realistic test is a full sentence like “waterproof hiking boots under $150 in wide sizes” rather than the single word “boots”.
In my opinion that is the right test, though how shoppers actually phrase requests to agents at scale is not something anyone has published good numbers on yet.
Four checks, each one cheap:
- Measure your zero-result rate on natural-language queries. Take 50 real questions from your customer service logs and run them through site search. Every empty result is a product an agent could not have found either.
- Test your synonym map in both directions. Vocabulary mapping is frequently one-way, and nothing surfaces that until a shopper uses the word you did not store.
- Check where your buying attributes actually live. Waterproof, dishwasher-safe, and fits-a-queen-bed belong in structured fields. Sitting in paragraph four of a description, they are worth a third of their value in the reference scorer and often nothing in a stricter one.
- Confirm that your search covers irregular plurals and common misspellings. Knives, shelves, and children each defeat a naive stemmer, and all three are ordinary shopper vocabulary.
For anyone who has run site search seriously, none of this is new advice. What has changed is the cost of skipping it. When a search box underperformed, it cost you the shoppers who used the search box, and a weak result still sat beside category pages, filters, and every other route into the catalog. Hand an agent that same search and it has no other route. Whatever the search cannot find does not exist.
Terms defined here
- Merchant-hosted retrieval. A shopping agent architecture in which the merchant implements product search itself, so the agent's ranking is whatever the merchant's own catalog search returns. Platform-hosted retrieval is the opposite, with a company like Google or OpenAI ingesting a feed, holding the index and deciding the ranking. Feed completeness governs the second and governs nothing inside the first.
Sources
- Anthropic, Building commerce agents with Claude (September 2, 2026)
- anthropics/commerce-agents, the reference implementation (Apache 2.0)
- PYMNTS, Anthropic Built the Shopping Brain and Skipped the Wallet
- Search Engine Land, Walmart: ChatGPT checkout converted 3x worse than website
- Google Developers Blog, Under the Hood: Universal Commerce Protocol
- Stripe, Stripe powers Instant Checkout in ChatGPT and releases the Agentic Commerce Protocol (September 29, 2025)
- CNBC, OpenAI revamps shopping experience in ChatGPT after struggling with Instant Checkout offering (March 24, 2026)
- PPC Land, Walmart's ChatGPT checkout flopped (Danker's figures, first disclosed to WIRED, March 18, 2026)
Recent developments
Related reading