Can AI agents actually buy from your store?
The Agentic Commerce Score (ACS) is a deterministic 0–100 measure of whether AI shopping agents — ChatGPT, Google AI Mode / Gemini, Perplexity, Claude — can find, evaluate, and buy from an online store. It is computed exclusively from public, externally verifiable signals, so any store can be scored by anyone, and the same store scores the same number on the same day.
Reference implementation: github.com/arenza-ai/agentic-commerce-score — zero dependencies, ~8 GET requests per scan, no sign-up, nothing leaves your machine.
Why a score, and why now
Shopping is moving into AI assistants. ChatGPT completes checkouts inside chat through ACP — the OpenAI/Stripe Agentic Commerce Protocol; Google AI Mode and Gemini surface product catalogs through UCP; Perplexity, Claude, and Amazon's agents fetch and compare products on a buyer's behalf. This is agent-led growth: external AI agents discovering, recommending, and transacting your products for a shopper who may never open your website.
Most stores were built for human eyeballs and Googlebot. They block AI crawlers in robots.txt, render their catalog only through JavaScript, ship Product schema without price or availability, and hide the policy pages an agent needs before it completes a checkout. Every one of those silently drops the store out of AI shopping answers — and nothing in a classic SEO audit surfaces it. ACS scores the store the way a buying agent experiences it.
Three pillars
| Pillar | Weight | Question |
|---|---|---|
| Discover | 30 | Can agents fetch and read the store at all? |
| Evaluate | 45 | Can agents parse, trust, and compare the products? |
| Transact | 25 | Can an agent complete a purchase? |
A check passes, warns (half credit), or fails. Checks that cannot run are marked n/a and their weight is redistributed within the pillar — the unverifiable is never punished, only the verifiably missing. When a pillar loses more than half its weight that way, it is flagged insufficient-evidence so a thin score is never mistaken for a measured one.
The fifteen checks (v0.2)
| Check | Wt | Passing bar |
|---|---|---|
| AI crawlers allowed in robots.txt (GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, Google-Extended…) robots_ai_access | 12 | No AI shopping crawler root-blocked |
| Homepage readable without JavaScript homepage_renders | 10 | ≥300 visible words of real HTML, HTTPS, no noindex, no empty JS shell |
| Sitemap discoverable sitemap | 5 | Declared in robots.txt or at /sitemap.xml |
| llms.txt present llms_txt | 3 | /llms.txt exists (absence = soft gap, never a blocker) |
| Required fields: title · image · price · description catalog_required_fields | 12 | ≥90% average coverage (feed products, or JSON-LD across sampled pages) |
| Product JSON-LD with complete Offer product_schema | 10 | Every sampled page: Offer with price + priceCurrency + availability |
| Brand + product identifier (sku / gtin / mpn) product_identifiers | 6 | Every sampled page exposes both — agents match and dedupe by identifier |
| Machine-readable product catalog catalog_machine_readable | 5 | Open product feed (page-level JSON-LD counts as a weaker surface) |
| AggregateRating in Product JSON-LD rating_schema | 5 | Every sampled page exposes machine-readable review ratings |
| Product image alt text image_alt | 4 | ≥80% of content images carry non-empty alt text |
| Descriptions an agent can quote description_depth | 3 | ≥70% of products at ≥120 characters |
| Shipping + returns policies, with terms policies | 9 | Both fetched with real content, and returns states an explicit window |
| Machine-readable price + availability machine_price_availability | 6 | ≥90% of products expose both |
| Per-variant stock readable variant_availability | 5 | ≥90% of products expose availability on every variant |
| Agentic-checkout rail (platform prerequisite) checkout_rail | 5 | Platform ships a native rail (v0.2: Shopify → ChatGPT checkout + Google catalog) |
Exact thresholds, the AI user-agent list, and the changelog live in the versioned spec: SCORE.md. Scoring changes only ship with a rubric version bump; comparing scores across rubric versions is invalid.
“Agent-buyable” — the headline bar
A store counts as agent-buyable when all five hold:
- AI shopping crawlers may fetch the store (robots.txt does not root-block them);
- a machine-readable catalog surface exists (an open feed, or product pages carrying complete Product JSON-LD);
- required-field coverage (title / image / price / description) averages ≥ 80%;
- the platform has a native or partial agentic-checkout rail (ACP / UCP path);
- price and availability are machine-readable;
- shipping and returns policies are both verified at stable URLs, with an explicit return window.
This is deliberately strict: it approximates the minimum a shopping agent needs to find a product, trust its data, and hand off a compliant checkout. Grades: A ≥ 85 · B 70–84 · C 55–69 · D 40–54 · F < 40.
How ACS differs from other agent-readiness checks
Three different tools are often described the same way. They answer three different questions, and a store can pass one while failing another:
| Check | Question it answers | Layer |
|---|---|---|
| Browser-side agentic-browsing audits (e.g. in Lighthouse) | Can an AI agent render and navigate this page? | Page |
| Network-side agent-readiness scores (e.g. Cloudflare's) | Is agent traffic allowed to reach this site at all? | Edge / access |
| Agentic Commerce Score | Can an agent parse the catalog, trust the product data, and complete a purchase? | Commerce |
The commerce layer is where the failures cluster. In the 2026-07 scan of 857 leading Shopify storefronts, every store sat on a native agentic-checkout rail and 91% served an llms.txt — yet 73% exposed no machine-readable review ratings and 43% published no product identifier, so an agent comparing them by rating or matching them across sources could not do it. Browsing-ready and access-allowed do not add up to buyable.
What ACS is not
- Not an enrollment checker. Whether a merchant has switched on ChatGPT checkout or a Google catalog surface is private state. ACS scores the externally verifiable prerequisites, and says so.
- Not a visibility tracker. ACS measures whether agents can buy from you. Whether AI assistants actually recommend you is the outcome side — that requires probing the assistants themselves, at scale, market by market. That is what Arenza measures.
- Not SEO advice. Some checks overlap with SEO hygiene, but the lens is strictly “what does a buying agent need”.
Corrections and right of reply
Every published score carries the evidence it was computed from, and the scanner is open source — so a disputed result is a reproducible question, not an opinion. Re-run it yourself at any time with npx agentic-commerce-score <domain>.
If you believe a check misread your store, write to hello@arenza.ai: we re-scan, correct the published page when we got it wrong, and note the correction. If you have fixed a gap, tell us and we will re-scan and update your page — published scores are point-in-time and are meant to move.
Two accuracy bugs found during the first publication — policy pages timing out and being recorded as unverified, and a return-window pattern matching unrelated text — were fixed before release and are covered by regression tests. Methodology changes of that kind are listed in the SCORE.md changelog rather than applied silently.
Get the outcome side
ACS tells you whether agents can buy from you. The next question is whether they recommend you — against your competitors, in every market that matters. Run the free AI visibility score (10 real buyer questions, live), or read how Arenza measures AI visibility and accuracy.