In August 2026 the Competition and Markets Authority opened drip-pricing investigations into Trainline, Virgin Atlantic and RED Driving School for advertising one price and then adding an unavoidable fee before payment. Read that as a machine problem and you have the new commercial risk in one line: a buying agent quotes the price it read in your product data, the checkout adds a fee that data never carried, and rather than mislead its user the agent abandons the sale. Your product feed and your product-page markup are now the storefront machines read first, and a contradiction between what they read and what the till charges can remove you from the answer altogether.
The fee the agent never saw is the new commercial risk
Drip pricing has always been a legal and a trust problem. The CMA action against Trainline, Virgin Atlantic and RED Driving School names it plainly: advertise one price, reveal an unavoidable charge only at the end. What is new is that a second party now reads the advertised price on the buyer's behalf and acts on it. An AI shopping assistant that quoted your figure and then hits a higher total at checkout does not grumble and pay. It treats the gap as a broken promise and drops you at the last step, and you never see it because no click and no lead was recorded. The commercial exposure is no longer the customer who feels cheated. It is the sale that is silently withdrawn before a human ever sees the basket.
AI surfaces read two different things, and your feed is only one of them
A fair challenge from anyone who runs Shopping: do assistants actually read the Merchant Center feed, or do they scrape the page? The honest answer is both, on different surfaces, and the distinction decides where you spend.
- Google's AI Mode and Shopping Graph read your Merchant Center feed directly, at field level:
title,gtin,price,sale_price,availability. - ChatGPT and Perplexity largely read your product page's schema.org Product markup, not the feed, so a price that is correct in Merchant Center but wrong in the page markup is still wrong to them.
- Agentic checkout reads both and then tests them against the live basket total before it commits.
The mechanism is still emerging and no two assistants ingest identically. That is precisely why the safe unit of work is agreement across all three layers, not perfecting any one of them.
A single contradiction removes you, it does not rank you lower
Here is the position a performance agency still tuning Shopping ROAS will reject: bid strategy is now the second-order lever. Smart Bidding penalises a weak product gradually, by paying less to show it. A buying agent penalises a contradictory one absolutely, by refusing to name it at all. That is a binary gate no bid algorithm ever imposed, and it is triggered by the dullest fields in the file.
The failure modes are specific and cheap to miss. A title truncated past Merchant Center's 150-character limit so the product reads as an internal code. A gtin that does not match the manufacturer identifier, which can disapprove the item outright. A price or availability attribute in the feed that disagrees with the value on the landing page, which triggers disapproval and pulls the product from the surface. A discount that lives in sale_price but never renders in the basket. A price that exists only in an image's alt text, where no assistant can quote it. None of these lowers your position. Each removes you from the shortlist a careful assistant is willing to state out loud.
So the falsifiable claim to bet against: within twelve months, feed-to-checkout parity will outrank creative and bid tuning as the top driver of assisted conversions from AI shopping surfaces. If you can name one agent that transacted from your data this quarter, you already know which way that goes.
Instrument parity across three layers and give it one owner
The fix is not a bigger paid-media budget. It is a named owner who sits above the campaign and holds one standard: everything a machine can read about a product must be true from the quote to the payment.
Give that owner a parity check that runs across the three layers a machine actually touches. Does the Merchant Center feed match the product-page schema.org markup, and do both match the total a real basket produces, fees included? That is the test the Crane Index™ applies to company sites, where the most common failure we log is not that a machine cannot reach the page but that price and availability disagree between the feed, the page and the checkout. A single disagreement is enough for an assistant to reach you and refuse to describe you.
This is a paid media and commercial governance decision, not a task left with whoever happens to run Shopping this quarter. The plumbing did not change. Who reads it did, and so did the cost of letting three numbers drift apart.