On 9 October, Shopify's changelog carried a single sentence under "Compare-at prices now shared to agentic channels":
"Shopify shares your compare-at price with AI shopping agents through Shopify Catalog, so AI agents can see when a product is marked down."
That is the entire entry. No documentation page, no configuration, no opt-in described. It is worth sitting with anyway, because it changes who the audience for one of your price fields is — and for merchants who sell wholesale, that field is often carrying something it was never meant to carry.
A compare-at price is an assertion, not a decoration
The strikethrough is the most quietly consequential number in a product record. It does not describe what you charge. It asserts something about what the item otherwise costs — a former price, a list price, the number this is a discount from. Everything about how it renders is designed to make the live price look like a concession.
Among human shoppers that assertion has always been loosely policed. Someone sees £80 struck through above £49, forms an impression, and moves on. Nobody opens an archive to check whether the item ever sold at £80. The claim does its work in the moment and is rarely revisited.
Software revisits. An automated buyer reading a structured field does not form an impression — it stores a value, and it reads the same field across many stores and many days. Puffery that survives because nobody checks does not survive a reader whose entire job is checking.
The specific trap for wholesale merchants
There is a long-standing trick for selling trade on a retail store without proper wholesale tooling: put the retail price in compare-at, put the trade price in price, and show the trade customer a product that looks permanently discounted. It is quick, it needs no app, and it has one fatal property — it describes a wholesale price as a markdown.
A wholesale price is not a markdown. A markdown is temporary, applies to everyone who shows up, and is a statement about the item. A trade price is none of those things: it is durable, it is specific to one buyer who qualified for it, and it is a statement about the relationship. Encoding the second as the first was always a category error. It was tolerable while the only audience was a human who understood from context what they were looking at.
From 9 October that field has a second audience that has no context at all. If your compare-at is carrying trade pricing, the claim leaving your store is "this product is marked down" — about a price only one customer group can buy at, which is not a markdown in any sense a reader could check.
What the changelog does not say, and what I am not going to guess
The entry is one sentence about one field. It says nothing about B2B catalog prices, nothing about customer-specific pricing, and nothing about which prices an agent sees when a buyer is signed in to a trade account. I have not verified any of that in either direction, so this piece does not claim it.
What it does establish is narrower and still useful: compare-at specifically is now shared to agentic channels through Shopify Catalog, and the stated purpose is so agents can tell that something is marked down. If you have been treating compare-at as a display-only field — a styling decision rather than a published claim — that assumption no longer holds.
What to do with it this week
- Find out what is actually in your compare-at fields. Export your products and look at the column. On most stores that have been running a few years, it is a mix: real former prices, promotional leftovers never cleared, numbers someone typed to make a margin look better, and sometimes trade pricing.
- Clear the ones that are not a real former or list price. An empty compare-at asserts nothing, which is the correct thing to assert about a product that is not marked down.
- If trade pricing is living in that field, move it. That is the one with a deadline attached now, because it is the one actively making a false statement to software.
- Keep using compare-at properly. A genuine sale is exactly what the field is for, and an agent seeing it is a feature rather than a risk. The problem was never the field; it was everything else that got stuffed into it.
Where wholesale pricing actually belongs
Trade pricing is a property of the buyer, not of the product. The moment it lives on the customer — this company is on this tier, so these are their prices — the compare-at field goes back to meaning one thing, your product records stop making claims you cannot support, and a signed-in trade buyer sees their price because of who they are rather than because the product is pretending to be on sale.
That is what Tradeleap does: a tier per customer group, unlimited tiers rather than a fixed allowance, with per-product and per-variant overrides layered on top and the discount applied at checkout by a Shopify Function. Shopify's own B2B is the right answer for many stores, and we have written about how its catalogs resolve when they overlap. Its documented allowance of three active B2B catalogs on Basic, Grow and Advanced is a standing limit, unrelated to anything in this changelog entry, and past it is where we fit. Free while we are in early access.
None of which is urgent because of one changelog line. The reason to move trade pricing out of compare-at was always that it was the wrong field. What changed on 9 October is that the wrong field now has a reader that takes it literally.
Source
Shopify changelog entry "Compare-at prices now shared to agentic channels", dated 9 October 2026, tagged Feature / Apps, read at changelog.shopify.com on 11 October 2026. The sentence quoted above is the entry in full.