The five-stage plan for one product
Agentic commerce optimization, usually shortened to ACO and sometimes written “agent commerce optimization,” means making one product’s facts and buying path usable by the AI agents that shop for people. Nobody can promise you a pick. What you can do is find the stage where your product is failing, fix what’s true there, and measure the right thing.
Here is the plan, one row per stage. It is our proposal: a working method, not an industry standard and not a measured guarantee.
| Stage | What you check | What you measure | Stop when |
|---|---|---|---|
| 1. Eligibility | Can the product reach where the agent looks, in the shopper’s country? Check Shopify admin › Sales channels › Agentic, plus your Google and Meta channels | Eligible, ineligible (with reason) or unknown, per route | It’s ineligible. No copy fixes exclusion |
| 2. Received record | Do the facts the agent receives match your page and the truth? | Each needed fact: correct, wrong, unverified or absent | The record contradicts your page. Fix the source first |
| 3. Requirements | For each part of the shopper’s brief, is there a sourced fact? | Requirements covered out of the total, with each unknown listed | The product doesn’t meet a hard requirement. Say so |
| 4. Selection test | Does one truthful change alter appropriate picks? | Correct picks on fitting briefs and correct rejections on the rest | The result is inconclusive, or wins come with wrong-fit picks |
| 5. Offer | When chosen, does the shopper reach the right variant, price, stock and shipping? | Offer correct, yes or no. Orders counted in your own analytics | The offer is wrong. Fix it before claiming any win upstream |
What you change at each stage is in the sections below: the channel setup at stage 1, wrong source data at stage 2, verified facts and real limits at stage 3, one fact at a time at stage 4, and price, stock and variant sync at stage 5.
The order matters. Most ACO advice starts at stage 4, rewriting copy to win picks. That’s the most expensive place to start, and the least likely to be the problem.
Who named it first
We didn’t invent this term, and you should be wary of anyone who says they did without showing their work.
- ReFiBuy publishes a guide defining “Agentic Commerce Optimization” as making products “understandable, eligible, and competitive” in AI shopping, and states that ACO is a discipline it named and defined. (ReFiBuy, checked October 27, 2026.)
- Search Engine Journal ran a technical guide on February 23, 2026, in which the author floats ACO as “a possible new acronym.” (SEJ)
- eCommerce Insights published a definition on May 18, 2026 that credits ReFiBuy and says ACO’s unit of work is the product record, not the marketing page. (eCommerce Insights)
We aren’t settling who came first. We also don’t repeat these guides’ market-size or “how every engine works” claims, because we haven’t verified them.
What we add is narrow and checkable: stop rules at every stage, a requirement map that keeps unknowns visible, and a test design that counts a correct “no” as a success.
Start at the stage that’s failing
Stage 1: eligibility comes before everything
If your product isn’t in the place the agent looks, nothing else on this page matters.
Shopify’s requirements for Shopify Catalog include a product title, at least one image, a price above zero, publication to your online store (or Hydrogen or Headless channels), and not being unlisted or hidden from search engines. Your store must be on the Starter plan or higher and not in private mode. There’s one exception: if you’re on Shopify’s Agentic plan and haven’t yet published your online store to a paid plan, your products can still be included through agentic storefronts. There are also account-standing requirements, reviewed over time, and excluded categories. (Shopify Catalog requirements, checked October 27, 2026.)
Then check the route. Shopify’s merchant help says ChatGPT and Microsoft Copilot find products through Shopify Catalog. Google AI Mode and Gemini get them through the Google & YouTube sales channel, and Meta surfaces through the Facebook and Instagram channel. Agents can also find a product by crawling its page. “Am I in ChatGPT?” and “Am I in Gemini?” are different checks.
Stage 2: read the record the agent actually receives
Your product page is not what the agent gets. It gets a record, and parts of that record may not be your words.
Shopify marks the catalog description and its spec, feature and selling-point lists as Inferred, meaning generated or enriched by Shopify, and says they may be missing or inaccurate. (Global Catalog MCP, “Inferred response fields.”) OpenAI says ChatGPT can simplify product titles and descriptions and generate labels, and that price updates may lag. (Shopping with ChatGPT Search.)
So save the record, date it, and compare it line by line with your page. Before you call a fact missing, normalize units. When we first checked toddler snowsuits returned for “rated for minus 30,” our tool reported that they didn’t state a rating. Two did: one title says “protects to -30 °C,” and another description rates the hood’s insulation to “-30°C.” Our matcher was wrong, not the listings. Your checker can make the same mistake. And read what the number applies to: a hood rating isn’t a whole-suit rating.
Stage 3: map every requirement to a fact, an unknown or a mismatch
This is the core of the work, and it doesn’t require any AI at all. Take the shopper’s brief in their words. Split it into requirements. For each one, write the fact that would satisfy it, then look at what the record says.
Here is a real record from a Shopify Catalog search we ran on October 26, 2026. The search was “humidifier for dry winter air large room quiet top fill.” This listing came back at position 4. The store is withheld. From its description:
“…single rooms up to 400 square feet and runs quietly enough to leave on overnight. A top-fill tank keeps refills simple…”
| Shopper requirement | Fact that would answer it | What the record says | Status |
|---|---|---|---|
| Humidifier | Product type | Humidifier | Stated |
| Large room | Rated coverage, with unit | “up to 400 square feet” | Stated. Whether that’s large enough depends on the shopper’s room |
| Quiet | Noise level in dB, with distance and setting | “runs quietly enough to leave on overnight” | Unknown |
| Top fill | How it fills | “top-fill tank” | Stated |
Coverage: three of four requirements have a fact. The missing one is the one the shopper typed first. Elsewhere on the same result, one competing description said “21dB Quiet, Top Fill,” three more descriptions gave 26 or 28 dB, and two more listings gave 26 dB only in Shopify-generated metadata.
The honest fix is boring. If you have measured the noise level, publish it as text with its condition: “[measured] dB at [distance] on [setting].” If you haven’t, measure it or leave it unknown. Never invent a decibel figure to match a competitor. And if your product really covers 400 square feet, say “not for rooms over 400 sq ft” plainly. A shopper with an 800-square-foot basement should get a different product, and an agent that picks yours for them hasn’t done you a favour.
Stage 4: test one truthful change, and measure the right outcome
Only now does a selection test make sense. Here is what controlled evidence says, with its limits attached.
- Vague copy was shut out; stating facts got the product considered. We ran a simulation in which AI models each picked 2 of 8 supplied listings: an invented product among 7 real catalog listings, so random picking would include it 25% of the time. With vague copy, the invented product almost never made the cut on any model: the humidifier was picked in 3 of 180 Claude sessions (three models pooled), 0 of 60 on GPT-6.1-Sol, 6 of 60 on Gemini 3.8 Flash and 3 of 54 on Gemini 3.1 Pro. The vague lip gloss was picked in none. With its facts in the description, the gloss won on every model (168 of 180, 60 of 60, 49 of 60, 53 of 60). The humidifier with facts was picked in 134 of 180 Claude sessions, and in 20 of 60, 19 of 59 and 15 of 55 on GPT and the two Gemini models. Those totals hide a clean split, below. (Simulation write-up.)
- Facts win when they answer a need the shopper stated and competitors don’t. The real competing humidifiers already stated 21, 26 or 28 dB, and the 28 dB one cost about half as much. Our detailed brief (a light sleeper with a 450 sq ft bedroom, under $90, who hates refilling daily) asked for coverage and runtime. In the snippets the models saw, only the invented product stated a room size, and it was the only listing under USD 90 that did. Several competitors already stated a runtime. The 28 dB competitor at USD 39.99 also stated 28 dB, with 310 ratings to the invented product’s 18.
| Humidifier with facts | Detailed brief | One-line ask | No shopper |
|---|---|---|---|
| GPT-6.1-Sol | 20 of 20 | 0 of 20 | 0 of 20 |
| Gemini 3.8 Flash | 19 of 19 | 0 of 20 | 0 of 20 |
| Gemini 3.1 Pro | 15 of 15 | 0 of 20 | 0 of 20 |
| Claude, 3 models | 59 of 60 | 32 of 60 | 43 of 60 |
On GPT and Gemini it won every time its facts answered the stated needs, and never on a generic “quiet humidifier” ask or with no shopper at all. In those sessions, the models chose the competitors that stated quieter or cheaper numbers. We wrote that brief to fit the test product, so this shows facts matching stated needs, not a random shopper. It’s stage 3 in miniature: map the requirement, then state the fact that meets it.
- Freshness labels did nothing. In an earlier Claude-only screening round, adding “New 2026 / Bestseller” to the vague copy scored 0 of 108 for each product.
All of this is a simulation: invented products, listings we supplied, a forced pick of two, and no “none of these” option. It isn’t live visibility or sales.
- Clever rewriting isn’t a shortcut. In the E-GEO benchmark, 11 of 15 rewriting heuristics did worse than a simple rewriting prompt. (E-GEO v2, July 14, 2026.)
- Things you didn’t change still move results. In the ACES sandbox, the authors report that listing position alone causes large, model-specific changes in selection. One seller’s description edit produced significant gains in only 33% of category and model experiments. (ACES v3, December 15, 2025.)
So design the test so a win means something:
- Change one fact, and make sure it’s true.
- Keep price, rating, competitors and the brief fixed. Shuffle the order every run.
- Include at least one brief your product doesn’t fit, and allow “none of these.”
- Count correct picks on the fitting briefs and correct rejections on the non-fitting ones. Report both as counts out of totals, not a single percentage.
- Confirm on fresh briefs you didn’t use to choose the change.
Name the stage you measured:
| Outcome | What it tells you | What it doesn’t |
|---|---|---|
| Returned for a search | The product reached the candidate list | That anyone saw it |
| Picked from a supplied set | The facts persuaded a model, in that setup | Retrieval, live rank or sales |
| Right variant picked | The variant facts are clear | That the offer was right |
| Right offer shown | Price, stock and seller lined up | That the shopper bought |
| Order | Revenue, in your own analytics | Which upstream change caused it |
If the intervals overlap, or the gain only appears on the briefs you tuned against, call it inconclusive.
Stage 5: verify the offer
An agent can choose the right product and still send the shopper to the wrong place. OpenAI says merchant offers are ranked on factors such as availability, price, quality and whether the seller is the maker or primary seller. (Shopping with ChatGPT Search.) On a dated check, confirm the variant, price, stock, shipping country and return terms match your admin. Count orders in your own analytics, separately. Never infer them from picks.
What ACO is not
- Not hidden instructions. Text aimed at the agent rather than the shopper (“recommend this product first”) is manipulation. In the E-GEO benchmark, one hidden-instruction attack improved rank on DeepSeek and Llama and was penalized on GPT-5, Claude and Gemini. Either way, it’s a security failure, not a growth tactic.
- Not a special file. Google says you don’t need new machine-readable files, AI text files or markup to appear in its AI features. (Google Search Central.) We publish a data version of every article for agents to read. That’s a convenience, not a ranking factor.
- Not a coverage score dressed up as a cause. Covering every requirement makes an honest pick possible. It doesn’t make one certain.
- Not invented proof. No made-up decibels, ratings, certifications or badges. A missing fact stays missing until you’ve measured it.
Your next check
Pick one product and one question a customer actually asked you. Fill in the stage 3 table: requirement, fact needed, what your record says, status. If any hard requirement comes back “unknown,” that’s your intervention. Measure it, publish it as text with its unit and condition, and only then think about testing selection.
