Inspiration
A product can be right for a shopper and still lose the recommendation. Most commerce pages are written for people, who can infer meaning from photography, brand language and scattered specifications. Buying agents need something more explicit: product facts they can discover, verify and connect to the shopper's actual constraints.
That creates a new growth problem for merchants. Optimising the human-facing page is no longer enough. Merchants also need to understand whether an agent can identify the right product, explain why it fits and carry the same approved product truth into organic discovery and paid preparation.
Conversion Lab explores that problem as a real merchant workflow. WebMCP supplies the missing interaction layer: the website can expose purpose-built tools to an agent while the merchant and agent work with the same visible page state. The result is more than a chatbot or a generic automation. It is an evidence-led conversion lab for agent-mediated commerce.
What it does
Conversion Lab begins with a fictional Shopify-style merchant, Fieldwork Supply, and a £159 modular commuter backpack. The generic listing contains too little explicit information for our frozen buyer-intent battery and scores 0/8.
Through ten page-scoped WebMCP tools, an agent can:
- inspect eight merchant-controlled product and policy facts;
- audit organic and paid-channel readiness;
- create an evidence-bound product representation;
- test it against eight deterministic buyer needs;
- move the result from 0/8 to 8/8, with no unsupported claims;
- stage the exact variant at a visible review checkpoint;
- publish the approved representation to the demo storefront;
- prepare a Shopify Admin update preview;
- generate a locally validated OpenAI product-feed CSV and a PAUSED Ads projection with £0 spend;
- export a content-addressed optimisation receipt linking the evidence, evaluation, approval and channel projections;
- answer a shopper need constraint by constraint and update a bounded shared cart.
Approval and reset are deliberately absent from the WebMCP tool surface. The public browser can record a digest-bound demo approval, but the app states clearly that this is not authenticated merchant authority. There is no live Shopify write, Ads upload, campaign activation, checkout or payment path in the public build.
How we built it
The reference application is built with React 19, TypeScript and Vite and deployed as a credential-free static application on Vercel. The interface contains a merchant growth studio and a shopper view backed by one shared workspace, so WebMCP actions and visible browser state remain consistent.
The WebMCP layer registers ten narrowly scoped tools through document.modelContext.registerTool. Inputs reject unexpected properties, read-only operations declare their intent, and every result reports what changed, what authority was used and the safest next action. Browsers without WebMCP still receive a useful human interface and an honest fallback message.
Under the interface, versioned commerce contracts preserve product identity, evidence provenance, lifecycle state, evaluation results, approval and channel projections. A versioned SHA-256 digest binds the exact product target, commercial snapshot, representation and complete evidence content before publication or export. Inputs are captured as immutable canonical snapshots so caller mutation cannot change an output after verification.
The Shopify spine includes a version-pinned Admin GraphQL read adapter, product identity checks and an exact productUpdate preview. The OpenAI Ads spine derives every exported field from the approved product snapshot, validates the product-feed row locally, serialises deterministic CSV and keeps the campaign projection paused. A portable optimisation receipt packages the mutually consistent workflow into content-addressed JSON.
We supported the build with unit, contract, infrastructure, adversarial and Playwright browser tests, plus change-aware and complete GitHub Actions gates. Tests cover lifecycle legality, evidence provenance, contradictory shopper constraints, approval substitution, asynchronous mutation, feed-schema boundaries, tool-registration failure and the absence of prohibited external effects.
Challenges we ran into
The hardest problem was preserving useful agent autonomy without quietly widening authority. An agent should be free to inspect, propose, test and explain. It should not be able to turn a readable product ID, a browser click or a provider credential into merchant approval or paid spend. That led us to separate representation approval from future external-effect authorization and to make the demo's current authority limitation visible rather than hiding it behind optimistic language.
Product fit created another subtle problem. A keyword match is not a recommendation. A request for a waterproof bag for a 17-inch laptop must not pass because the product is waterproof when the evidence says it fits only a 16-inch device. We changed the shopper evaluator to classify each material constraint as supported, contradicted or unknown and to return an overall match only when every required constraint is supported.
Cross-channel consistency was equally demanding. Copy, SKU, price, availability, URLs, brand and evidence all need to belong to the same approved product truth. We moved money to exact GBP minor-unit precision, bound every feed-bearing field to approval and independently recomputed validation results before producing receipts.
Finally, WebMCP is not present in every browser environment. We kept the complete merchant workflow usable without it, then ran the deployed application in a WebMCP-enabled ChatGPT browser to verify native discovery of all ten tools and the end-to-end shared-state workflow.
Accomplishments that we're proud of
- A live, repeatable WebMCP product experience rather than a collection of disconnected tool calls.
- A measurable 0/8 → 8/8 improvement using the same frozen buyer-intent battery and eight verified evidence records.
- Ten discoverable site tools spanning audit, drafting, evaluation, review, publication, paid preparation, portable proof, shopper fit and cart state.
- A visible authority boundary: the agent can stage an exact variant but has no approval tool.
- One digest-bound product truth reused across the demo storefront, Shopify preview, OpenAI Ads projection and optimisation receipt.
- A deterministic, downloadable CSV and JSON receipt without credentials, activation, spend, checkout or payment.
- A public Vercel deployment, native ChatGPT WebMCP acceptance run and a comprehensive automated quality gate.
We are especially proud that the safety model is part of the product experience. The demo does not merely avoid external effects; it explains which effects are absent, which validations are local and what additional authority a production integration would require.
What we learned
Agent conversion optimisation is less about generating more persuasive copy and more about organising product truth. The strongest representation is the one whose claims can be traced to current, product-bound evidence and tested against concrete buyer needs.
We also learned that WebMCP is most powerful as a collaborative surface. The agent is not operating in a hidden automation layer. It works inside the merchant's live page, over the same evidence, lifecycle and cart state the user can see.
Approval, execution and observed outcomes are different claims. Approving a representation does not automatically authorize a Shopify write or an Ads operation. A production system must bind each external effect to the exact channel, destination, payload, limits, budget, expiry and replay policy. Later conversion observations must retain the representation and effect lineage that produced them.
Most importantly, Conversion Lab is larger than this website. The website is the first reference host for a reusable optimisation capability.
What's next for Conversion Lab
The next bounded step is to extract a DOM-free Conversion Lab core and prove that the web application, a TypeScript SDK and a read-only CLI produce equivalent audit, evaluation and receipt-verification results from the same input.
From there, we plan to add Shopify OAuth, multi-product ingestion, durable tenant workspaces, authenticated merchant approvals and controlled publication with rollback. OpenAI Ads delivery would follow the same governed model: explicit account authority, feed acceptance, a PAUSED default and separate authorization before activation or spend.
The longer-term product is one core delivered through several surfaces: a standalone SaaS workspace, a Shopify embedded app, SDK/API and CLI integrations, MCP/WebMCP adapters and a module for larger agentic-commerce platforms. The learning loop will use properly attributed selection and conversion outcomes to recommend the next evidence-backed change without confusing a synthetic score with observed commercial lift.
Wherever product discovery becomes a conversation, Conversion Lab should help the merchant answer one question: can the agent verify why this is the right product to choose?
Built With
- react-19
- typescript
- vite
Log in or sign up for Devpost to join the conversation.