A lot of websites are paying to advertise products they don’t really sell
I spent a slightly ridiculous amount of time recently trying to buy a bike.
I knew exactly what I was looking for: a Specialized Sirrus X 2.0 in Medium.
This should have made the search fairly easy. I wasn’t asking for advice on which bike might suit me, or trying to compare twenty broadly similar models. I had already chosen the product and knew the size.
I asked ChatGPT to collate the prices for me.
The results were almost useless. What surprised me was this wasn't an AI problem, it was a feed problem... a huge number of items in the sponsored products feed (costing money for each click) were simply advertising bikes in the wrong size, or with an unavailable discount involved.

ChatGPT had found plenty of retailers selling the right bike. It had also produced a convincing-looking comparison of their prices.
Unfortunately, many of the advertised prices didn’t represent a Specialized Sirrus X 2.0 in Medium that I could actually buy.
There were two recurring problems.
The first was Cycle to Work pricing.
Some retailers appeared to be publishing the lowest possible effective cost after applying the maximum Cycle to Work saving. This can make a £600 or £700 bike look as though it costs somewhere in the £400s.
Cycle to Work is obviously a genuine benefit, but the amount someone saves depends on their circumstances. They need access to a participating scheme, their employer needs to support it and the eventual saving varies according to their tax position and the terms of the scheme.
That is useful information to show alongside the price.
It is much less useful when the maximum theoretical saving quietly becomes the advertised price of the bike.
I don’t think most customers interpret a price as meaning:
This is roughly what the bike might eventually cost you if your employer participates in a particular salary sacrifice scheme, you qualify for the highest available saving and everything else lines up correctly.
They interpret it as the amount required to buy the bike.
The second, but bigger, problem was product variations.
A surprising number of retailers had one heavily discounted bike left in an unusual size, usually Extra Small or XX-Small. That discounted variation was then used as the advertised price for the entire product.


The retailer technically had a Specialized Sirrus X 2.0 available at that price.
It just wasn’t the Specialized Sirrus X 2.0 I had searched for.
The size often wasn’t visible in the original result, so I had to open the site, find the product selector and work out why the price bore no relationship to the Medium bike I wanted.
Sometimes Medium was full price. Most most of the time the retailer had no other sizes left at all for that reduced model.
This isn’t limited to bikes.
I’ve had exactly the same experience buying shoes. I can search for a very specific model in a very specific size, then repeatedly be shown a discounted pair which only exists in size 5 or 13.
I click because the result appears relevant. The retailer gets the visit. I discover that the product isn’t available in my size and leave slightly more irritated with the retailer than I was before.
Presumably, at some point, this worked.
A retailer could promote the cheapest remaining variation, attract more clicks and hope that some of those visitors bought something else once they arrived.
That feels increasingly short-sighted now.
There is the obvious waste of the customer’s time, but retailers may also be paying for some of those useless visits through PPC campaigns. Their servers process the traffic, their analytics fill up with visits that never had much chance of converting and their conversion rates become slightly less meaningful.
The customer also starts to distrust the retailer’s prices.
Once I have clicked two or three apparently cheap products and discovered that none of them really exists in the form I asked for, I stop clicking that retailer’s results. I assume the next offer will have a similar catch.
AI shopping tools make clean catalogue data even more important.
OpenAI is now asking merchants to provide structured product feeds containing current pricing, availability and product information. Its own documentation says that feed quality affects discovery relevance and reduces purchasing friction. Google’s guidance makes a similar point: individual product variations should expose the correct price and availability, ideally through a URL which selects that exact variation.
This is fairly dull technical work, but the outcome is simple.
For every variation of a product, the catalogue should make it clear what it is, what it costs, whether it is genuinely available and where someone can buy that exact version.
Conditional savings can still be shown. They just need to be presented as conditional savings rather than quietly replacing the price.
A discounted XX-Small bike can still be advertised. It needs to be advertised as a discounted XX-Small bike.
Humans are already tired of opening misleading product results and picking through dropdown menus to find the catch. AI agents can do that work much faster, but they are still dependent on the information retailers publish.
Feed them distorted product data and they will produce distorted recommendations.
Retailers might gain a click from it.
They probably won’t gain a customer.