Your customer stopped asking a search engine. They ask an agent.
An agent does not return ten links. It picks one product and explains why. It decides from the data it can find about you — and when that data is thin, it skips you.
“Which road running shoes under $150?”
A sentence, not a keyword — and one answer is expected.
your product did not make the answer
Where the purchase is decided now
Three surfaces where your product either shows up or does not. On none of them does anyone page through ten links.
The chatbot as personal shopper
ChatGPT or Claude will not hand back a list. They pick one product and say why.
nine other products never reach the answer
AI Overviews instead of links
Google answers by itself and pushes the links below the overview. It picks citations from data, not from rankings.
blue links only below the overview
Agents compare on the customer’s behalf
Perplexity Shopping and the Shopping Graph compare specs themselves. Whatever is missing from the data simply does not exist.
| product | price | attrs | feed |
|---|---|---|---|
| Trail 7 | 2 890 | 12 | ✓ |
| Road 3 | 2 490 | 9 | ✓ |
| your product | 2 690 | — | — |
Six places where your product is decided
The percentages are the weights our score actually gives each block — not an estimate.
Product name
20 % of the scoreBlue tee
Nike Dri-FIT men’s t-shirt, blue, size L
Brand + type + property. That is what the agent matches the question against.
Product description
30 % of the score“A quality tee at a great price.”
Three of the four things the agent asks about are missing.
Photographs
10 % of the scoreone photo from one angle, no alt text
The alt text is the only part of a photo the agent reads.
Attributes
20 % of the scoreStructured data
the way inWithout it the agent guesses from your HTML — or never finds the data at all.
Price and availability
20 % of the scoreupdated two hours ago
A stale price in the answer is worse than none.
The language that talks to the agent directly
On the left, what you put in the page. On the right, what the agent takes away.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Nike Dri-FIT pánské tričko, modré, vel. L",
"brand": {"@type": "Brand", "name": "Nike"},
"gtin13": "0194957000000",
"offers": {
"@type": "Offer",
"price": "890",
"priceCurrency": "CZK",
"availability": "InStock"
}
}
</script>Without JSON-LD the agent infers from HTML. Sometimes it guesses right, sometimes it skips you — and you never find out.
The overlooked and the recommended product, side by side
The agent has no way to place it in a comparison.
The agent can compare it — and justify recommending it.
From finding the feed to a better answer
Four steps, each with an artefact of its own. The last one returns to the first — hence the loop.
We find the feed
shop.cz/feed.xml
found · 972 productsYour shop’s address is enough. We look for the feed ourselves, and read the storefront when there is none.
We measure the score
One number and three pillars, so you can see where it catches.
We draft the fix
An actual sentence, not the advice “add attributes”. One click approves it.
We publish and measure again
The corrected data goes back into the feed, and a week later we measure whether it showed.
Find out your AI Visibility score for free
A free product feed analysis takes just a few minutes. Concrete recommendations on 10 products · no signup required.
Analyze for free