Agent Readiness AuditRun an audit →
Methodology

How we grade your store for AI shopping agents.

When someone asks ChatGPT or Gemini what to buy, the assistant answers from what it can read: your pages, the structured data inside them, and the feed you send to shopping platforms. This audit measures how much of your store an agent can actually use — reading only your public pages, the same access an agent has.

01The premise

Agents recommend the stores they can read.

An AI assistant doesn’t browse your site the way a person does. It fetches the HTML, looks for machine-readable facts, and cross-checks against feeds and structured data. When those are present and correct, it can name your product, quote the right price, and put you in the answer. When they’re missing, it works with whatever store it could parse instead.

So we grade the store from an agent’s point of view, on evidence we can actually observe on your public pages — never your traffic, your admin, or anything behind a login. Every point in your score traces back to a specific signal we saw, or didn’t.

02What we grade

Five categories, weighted by how much they move an agent.

Dozens of individual checks roll up into five categories. Each owns a fixed share of the 0–100 score, set by how directly it changes whether an assistant can use your store. The shares add up to 100.

30
35
20
10
5
DiscoverabilityClarityProduct feedCheckoutAdvanced
01Discoverability
30of 100
Can an agent reach and read the page at all?
robots.txt & AI-crawler rulesXML sitemapsllms.txtserver- vs JavaScript-rendered contentedge / WAF bot-walls
Everything else depends on this. If robots.txt turns away the crawlers that feed AI answers, or your product content only appears after JavaScript runs, an assistant never gets to the facts underneath. It sits near the top of the weighting for that reason.
02Clarity
35of 100
Can an agent understand what you sell?
Product structured dataprice & availabilitybrand + GTIN / MPNpage structure
This is where an assistant gets the facts it repeats back to a shopper: your price, whether it's in stock, the brand, the product ID. In structured data it can quote them exactly; buried in page text or a product image, it guesses or moves on. It carries the most weight because it decides whether you're cited correctly or not at all.
03Product feed
20of 100
Is the feed you send to shopping platforms complete?
required feed attributesGTINs / barcodesfreshnessfeed-to-page price parity
Google Shopping and Gemini's Shopping Graph read the feed you submit, not your live pages. A missing barcode or a price that disagrees with your site quietly drops products from those results.
04Checkout
10of 100
Could an agent actually transact?
ACP / UCP readinessguest checkoutreal add-to-cart controls
The protocols for an agent completing a purchase (OpenAI's ACP, Google's UCP) are still being built, and almost no store can transact in-agent today. We keep the pillar's weight modest for that reason — but UCP is the exception: you can publish a profile yourself right now without anyone's approval, so we treat that as core work rather than a refinement.
05Advanced
5of 100
What extra signals help an agent do more?
ratings & reviewsreturns & shipping schemaFAQ markupOrganization data
Reviews, return terms, shipping, FAQs. None of it is required, so it works as a bonus: having it lifts your score, missing it never costs you.
03Reading the result

What your score actually means.

Every store we can read gets one number from 0 to 100, plus a one-word band. The number is a weighted blend of the five categories above. Higher means an agent can do more with your store with less guessing.

04580100
Ready80–100
An agent can find your products, read their key facts, and sees a path to transact. What's left is polish.
Emerging45–79
The basics work, but real gaps are costing you — usually thin structured data or a feed problem. Most stores land here, and it's where fixes move the number most.
Early0–44
An agent struggles to read or trust your catalog. Usually a handful of high-impact fixes (structured data, crawler access) change the picture quickly.
Unverified
We couldn't put a number on it: the store blocked our crawler, hid its catalog behind JavaScript, or isn't a store. The report says which.
One score isn’t the whole picture

The full report also scores each assistant on its own — ChatGPT, Perplexity, Gemini, and agentic checkout read your store differently, so a store can be strong for one and weak for another. And it grades your individual products, so you can see exactly which ones are agent-ready and which are missing a price, an ID, or stock status.

04Under the number

We grade on what we can verify, and never invent the rest.

Every signal carries a confidence

A signal is detected when we saw it directly, such as a price sitting in your Product markup. It’s likely when strong indirect evidence points to it. It’s unknown when we honestly couldn’t check. An unknown never counts as a failure and never earns phantom credit. It just narrows how much of that category we can vouch for.

Coverage keeps a high score honest

A category’s score is bounded by how much of it we actually verified. If we confirmed only a sliver of the signals, it can’t read as a confident 100. A high number means broad, verified strength, not one lucky check standing in for the rest.

Categories combine by weight, not by average

The five category scores fold into the composite by the shares shown above. Because it’s weighted rather than averaged, a strong category can’t paper over a weak one, and a single missing signal drops the category it belongs to rather than capping your whole store.

05Before we score

First we prove it's actually a store.

Running on a commerce platform isn’t proof of a storefront. A marketing site can sit on Shopify; a SaaS billing page has “checkout” in its copy. We only put a number on a site when we find real product evidence. When we can’t, we say which of four things happened instead of forcing a score.

Scored
We found real product evidence — a catalog, a feed, product structured data, or a working cart — and graded it.
Not an ecommerce store
The page loaded but showed no products, feed, commerce schema, or cart. There's nothing to grade for a shopping agent, so we don't put a number on it.
Blocked
The site refused our crawler, or answered with an empty shell. That's the same wall an AI agent would hit, so we report it as a finding rather than call you a non-store.
Catalog unreadable
Clearly a store, but the product pages are JavaScript-only or use a structure we couldn't map. We hold the result instead of scoring a catalog we never saw.
06Grounded in

The formats agents actually read.

Schema.org
Product and Offer structured data — the vocabulary assistants parse to pull price, availability, brand, and IDs off a page.
Product feeds
Google Merchant-style catalog feeds that populate Shopping surfaces and Gemini's Shopping Graph.
robots.txt
Which AI crawlers you allow, and whether the retrieval bots that gate AI-answer eligibility can reach you.
llms.txt
An emerging convention for pointing agents at the content you actually want them to use.
OpenAIACP
Agentic Commerce Protocol — a forming standard for agent-initiated purchases.
GoogleUCP
Universal Checkout Profile — machine-readable checkout capability, still early.
07How we read your site

Public, named, and easy on your servers.

  • Public pages only. No login, no admin, nothing behind an account. We see what any visitor or agent would.
  • An honest crawler. We identify ourselves with a named user-agent and never impersonate a browser or a verified bot to slip past protections.
  • Gentle on your origin. Per-host concurrency limits and backoff, so a scan won't storm your servers or trip your rate limiting.
  • Confined to the open web. Requests only reach public internet addresses — never private, internal, or cloud-metadata endpoints.
08Honest about scope

What runs today, and what's next.

Live today
  • Public-page fetching & parsing
  • Product structured-data analysis
  • Feed completeness & freshness
  • Feed-to-page price parity
  • robots.txt & AI-crawler access
  • Bot-wall / WAF detection
Coming
  • A JavaScript-rendering check, so we grade what an agent sees after your scripts run, not just the raw HTML
  • A model-in-the-loop probe that asks a real AI to pull your product facts, testing whether the markup actually works
One limit worth stating plainly: a store hidden behind aggressive bot protection can’t be scored yet. We’ll tell you it blocked us rather than guess. That wall is the same one an AI shopping agent hits, so it’s worth knowing.

See where your store stands.

A full read takes about ten seconds and touches only your public pages.

Run my audit →