We Scored Level 0 On Our Own Agentic-Commerce Audit

TL;DR: On 1 September 2026 we ran our own agentic-commerce model against loudpixel.ai and scored Level 0 — invisible: three of the four first-gate checks failed. We publish the audit, the failures, and the fixes with dates. By the end of the same day the site was Level 3 — an AI agent can read what we sell, in a stated currency, and complete a purchase. We also found that one of our own checks was wrong in the client's favour, and fixed that too.
Key Facts:
- We scored Level 0 on our own model: no offer markup on the two pages an agent reads, no currency on any price, and no published refund policy
- The site's own metadata said "MCP-native" while publishing no endpoint an outside agent could reach
- Our audit was scoring a "Contact us" button as a working checkout — on client sites and on ours
- Everything below is dated, and the checks that produced it are the same ones we run for clients
We sell an audit we were failing
We sell a check for one question: if an AI agent tried to buy from you today, what would happen?
There are five answers, and each one is a level.
| Level | What it means |
|---|---|
| 0 — invisible | An agent cannot establish what you sell or on what terms |
| 1 — listed | Your offer is machine-readable and your terms are findable |
| 2 — discoverable | Your catalogue is feed-ready and there is a way in |
| 3 — buyable | An agent can complete a purchase on the path your business actually uses |
| 4 — operated | And you are running the channel, not just holding one |
On the morning of 1 September 2026 we pointed that model at our own site, expecting Level 2.
We got Level 0.
What failed, exactly
Level 1 has four gates. Three of them failed.
| Gate check | Result on loudpixel.ai |
|---|---|
| Offer marked up for machines | Fail — present on the methodology page and the blog, absent from the home page and the pricing page, which are the two an agent reads |
| Price, currency and availability together | Fail — the prices were prose. "$490 once" with no currency code. We are a Canadian company selling to Americans, so a bare dollar sign is genuinely two different prices |
| Terms, privacy and returns reachable | Fail — terms and privacy were published; there was no refund or cancellation page at all. "Month-to-month, 30 days' notice" existed only as a sentence |
| Product and image links resolve | Pass |
And at Level 2, /.well-known/ucp — the discovery file an agent-commerce client reads before it decides whether it can deal with you — returned a 404.
The uncomfortable one is not on that table. Our own site description said MCP-native, and we published no endpoint an outside agent could reach. That is not a missing feature. It is a claim, and a prospect could have checked it in one request.
Levels are gates, not sums
This is the part worth taking away even if you never buy anything from us.
The scoring models circulating in this category add points. Six pillars, three points each, eighteen total, and a tier at the end. A store can bank fifteen of those points on schema quality and feed completeness and be called "fully optimised" while having no working checkout path at all.
Ours cannot do that, and the reason is not modesty. A level is a gate: every check at that level has to pass, and points buy nothing. A site with 71 points and no reachable return policy is not "nearly Level 2". It is Level 0, and telling it otherwise is the kind of encouraging arithmetic that gets someone to launch an agent channel that cannot take an order.
We scored well on points that morning. It made no difference.
The fixes, dated
All on 1 September 2026, in this order:
- Offer markup on the two pages an agent actually reads — a
Serviceand anOfferper engagement, with the price, the currency, availability, linked terms, and a purchase action. - A currency on every price. USD, chosen deliberately rather than inherited from where the company is registered.
- A refund and cancellation policy at its own URL — the third address the payment rails ask for beside terms and privacy, and the one that turns "30 days' notice" from a sentence into something a machine can parse.
/.well-known/ucp, served as JSON from a route handler rather than as a file. A discovery document served as plain text is a document every agent client skips: it exists, and it counts for nothing.- An agent card at
/.well-known/agent-card.json, naming what we sell, at what price, with the policy URLs beside it. - A payment link per engagement, so the purchase action points at somewhere a purchase completes.
That took the site from Level 0 to Level 3 — buyable. Our own engine says so, and a test in our build re-runs those checks against the page's real markup, so an edit that quietly returns us to selling a standard we do not meet fails the build rather than shipping.
Then we found our own check was wrong
This is the part we would rather not publish, which is how we know it is worth publishing.
While fixing our purchase path we noticed something in the check itself. The rule for "can an agent buy here" accepted any URL on the offer. Any non-empty string. So an offer pointing at /contact — or at a mailto: address — was graded as a working checkout.
We found it because our own fallback did exactly that. With no payment link configured, our page pointed the offer at the contact form, and our own engine called us buyable.
That is a false pass in the client's favour, which is the worst direction for it to fail. A client reads Level 3 — buyable, changes nothing else, and loses the sale anyway.
The fix is a deny rule rather than an allow rule, deliberately. From outside, nobody can prove that a URL completes a purchase — an allow-list would be a guess wearing a measurement's clothes, or it would fail every ordinary product page. But some destinations are provably not a checkout: an email address, a phone number, an on-page script, and the contact / quote / demo / waitlist family that routes a buyer to a human conversation. Those are refused by name. Everything else still passes.
One detail decides whether a rule like that is usable: it matches whole path segments. /products/contact-lenses is a product. A rule that looked for "contact" anywhere in the URL would fail the optician who sells them, and a check with false positives is a check the client switches off — after which it catches nothing at all.
What happens after the money moves
An agent that can buy from you but cannot check the order will not buy twice.
This is the half of the chain almost nobody has built, us included until the same day. When an AI assistant buys something for its user, the checkout protocols hand it two status events and nothing else. It cannot track the order, cancel it, or fetch an invoice. So every one of those has to be a link it can pass to its user — and it will only find that link where it already looks: in the seller's own machine-readable profile.
So we published one. There is now an order page you reach with your reference and at most your email address — no account, no password, no support ticket, because the agent that bought for you cannot open a support ticket either. That is the rule the protocol sets for a merchant's order permalink, and we adopted it rather than writing ourselves a softer one.
The same day, we added the three checks that grade it, and they now run against every site we audit.
Why publish the failure
Two reasons, and only one of them is principle.
The first is that a level model you fail at the first gate is not a product, it is a slide. Fixing it in public is the only version of this that is worth anything.
The second is more practical. Every vendor in this category sells agentic-commerce readiness and not one of them can be bought by an agent. They sell through demos and sales calls, which means being agent-buyable would contradict their own funnel. That is not a gap we found and kept quiet about; it is a gap that stays open as long as their pipeline depends on a human answering the phone.
We would rather be the one that ran the audit on itself, published the Level 0, and dated the fixes.
What this does not claim
Being Level 3 means an agent can complete a purchase on our own rails — our payment links, our order page.
It does not mean we are listed inside any AI assistant's checkout. Those are separate programmes with their own approvals, several of them are US-only at the time of writing, and we have not applied. Anyone telling you a schema fix gets you inside one of them is selling something they do not control.
The number we show for conversion is payment-provider-tagged orders or nothing at all. We do not model lift, because nobody can compute the step from an AI answer to a completed order, and inventing that number would undo everything above.
Run it on yourself
The level check is free, it takes one request, and it never sends a credential or completes a payment — it reads what you publish, the way an agent would.
If you would rather see the whole chain — your level, the gates between you and the next one, your competitors' levels beside yours, and the fixes ranked by what each one is worth — that is the audit, and it starts with a conversation rather than a checkout.
Does AI name your site? Free 60-second check.
See who ChatGPT, Perplexity, and Google’s AI name for your buyers’ questions.
Written with AI assistance and reviewed by LoudPixel for accuracy.
Check your AI search visibility.
See which AI engines name your site — in about 60 seconds. Free, no signup.