Skip to content

Knowledge Base

What an AI agent reads on your product page

Louie Valkhof
Louie Valkhof
19 min read
Isometric 3D illustration of a small robot examining a blank screen through a magnifying glass, with a folder and a label beside it

What does an AI agent read on your product page?

An AI agent reads your product page from the top down, and the heading counts most. Since 8 September we have asked Google's Gemini model with search switched on, every morning, which Dutch agency can make a given thing, and we record which pages the model retrieves as sources. Three pages came back on every single measurement day. All three carry the buyer's literal phrase in their page title, H1 or URL. Our own pages have the same tidy schema markup as those three, and on two of the questions they sat at zero for sixteen days.

That is the short version, and it differs from the recipe doing the rounds. In our own research note of 21 September we still wrote that three things make the difference: the buyer's phrase, a price, and questions in the buyer's language. When we held that conclusion against sixteen days of data, the buyer's phrase held up. We saw a price on two of the three strongest pages, but we have not tested it. The questions turned out to be the weakest signal: one page retrieved every day is full of process questions.

One caveat up front, because the title says "product page". We measured agency service pages, not online stores. For a model answering the question of who can deliver something, a service page is a product page for a service. We make the translation to online stores further down, together with what we do not know.

Where AI visitors land

The reason to look into this is in Shopify's numbers. On its August earnings call the company said that half of all AI-referred sessions land directly on a product page, 2.5x more often than with traditional search. The homepage and the category page get skipped. Someone who arrives through an assistant sees the page the product sits on first.

That visitor is also worth more. Adobe measures on US retail sites that AI visitors convert 60% better than other traffic, and that AI traffic in July was up 62% on a year earlier. Those are US figures, and Shopify itself calls the channel small relative to the total. The direction is clear, though.

The behaviour is already here in the Netherlands. According to the study AI in Nederland 2026 by Peil.nl, as summarised by the Dutch trade title Computable, 63% of regular AI users use AI as a search engine. The link goes to the Dutch article.

A product page therefore has two jobs at once. It is the source a model builds its answer from, and it is the landing spot where the buyer ends up afterwards. You have been writing for the second job for years. Almost nobody writes for the first. What this shift in traffic means for your numbers is covered in agentic search and your store traffic. This article is about the first job.

How we measured it: nine buying questions, sixteen days

Our scan has run every morning since 8 September. It asks Gemini nine Dutch questions, through the API with Google search grounding switched on, all of them in the form "which agency can make this, name companies with their website". For each question we store three things: which brands the answer names, which pages the model retrieved as sources, and which search queries it typed itself. From 8 to 24 September that produced sixteen usable measurement days. On 22 September the scan returned only errors, so that day does not count.

One day tells you little. Our own agency gets named on three questions one day and on one the next. Over sixteen days a pattern does emerge, and it splits by question.

Buying question What carries the answer Fixed source Our site as a source
Which agency makes a brand book? one studio's own page sixteen of sixteen days zero of sixteen
Which agency designs bol.com listings? two specialists' own pages sixteen of sixteen days fourteen of sixteen
Which agency builds a Shopify store? third-party lists no fixed agency page zero of sixteen
Which agency does product photography? changing agency pages no fixed source eight of sixteen

For some questions a single page of the agency's own carries the answer, day after day. For others, such as Shopify, the sources rotate and come from rankings and directories. We cover that second route in a separate article. There you win with profiles and reviews on the right directories, not with your own page.

What we did not measure matters just as much. It is one model, via the API rather than the normal search page. It is nine questions in one market. None of the questions is about price. And what we see is correlation, not proven cause. You can check it yourself, though: the pages are public.

What do the three pages that came back every day have in common?

We fetched the three pages that were a source on every measurement day as raw HTML, read out their structured data and put them next to a few comparison pages. We leave the names out; the point is the pattern, not the agencies.

Page Buyer's phrase in page title, H1 or URL Amount in the text Question block Questions in the markup Days as a source
Brand book studio yes, "have a brand book made" in page title and H1 yes includes a cost question yes sixteen of sixteen
Bol specialist yes, "have a bol listing made" in page title and H1 yes mainly process questions nearly empty sixteen of sixteen
Bol shop yes, through the domain name shop with a cart yes zero sixteen of sixteen
Empty brand book page yes, in page title and URL no no no seven of sixteen
Our listing page yes, in the page title no process questions complete fourteen of sixteen
Our Shopify page yes, in page title and H1 no cost question without an amount complete zero of sixteen

Read the table from left to right and one constant is left. Every page that gets retrieved often has the buyer's phrase at the top. The fourth row is the clearest example. Another agency's brand book page is close to empty in content: a notice that the page is not finished yet, plus a block of reviews. It is called "Have a brand book designed", and that phrase is also in its URL. The model retrieves it on seven of the sixteen days.

The amount appears in the text on two of the three fixed sources, and on none of our pages. That is a difference that stands out, but our listing page is retrieved on fourteen of the sixteen days without any amount. The question block is the weakest signal: the bol specialist that is a source every day mainly asks process questions. The last two columns come back in the next section.

The same schema markup, retrieved zero times

Our service pages carry a complete set of structured data: a question block as FAQPage, company details as LocalBusiness, an aggregate rating, coordinates. Technically it is better put together than on two of the three pages retrieved every day. The bol shop has zero questions in its markup and is used on every measurement day. Our Shopify page has a neat question block in its markup and was not retrieved once.

That fits what Google itself writes, with one caveat. The page on AI features in Google Search says there are no additional requirements to appear in AI Overviews or AI Mode, and no special optimisations necessary. What it does stress: important content should be available in text form, and structured data should match the visible text on the page. That page covers Google Search, not the Gemini model we query through the API. So it does not confirm our measurement, but it points in the same direction.

The general structured data policies are sharper: do not mark up content that is not visible to readers of the page. And the FAQ rich result is gone. According to the Google Search Central changelog, that feature has not appeared in search results since 7 May 2026. Anyone who built their question block only for that feature built for something that no longer exists.

The clearest example is our own. The only euro sign on our service pages sits in the structured data, in the priceRange field, with two euro signs as the value. That is not a price, it is a symbol.

Schema is hygiene. A product page with a wrong price in its markup does worse than one without markup, and you need it for product feeds. But in our measurement it made no difference between being retrieved and staying invisible.

The buyer's phrase: the one constant in the data

The model searches for itself, and we can see what it types. For the brand book question, the bol question and the Shopify question, our data holds the queries Gemini ran before it answered. They are not brand lines. They are phrases like "Shopify experts Nederland design" and "Shopify webshop laten maken Nederland design", which is Dutch for having a Shopify store built. That is buyer language, and the pages that put that language in their heading get found.

Our own headings are mixed. The page title of our listing page is the Dutch for "Have a bol.com listing made that sells", and that page is a source on fourteen of the sixteen days. The H1 of our 3D page reads "3D product renders without a physical prototype"; a buyer searches for "have a 3D render made", and those words are not in the page title or H1. Our branding page has as its H1 "Branding agency for brands that want to be taken seriously". Nicely put, but nobody types that. And we have no separate page for brand books, so no heading that repeats the question either.

Now the counterexample, because it belongs here. Our Shopify page has "Shopify webshop laten maken", the Dutch buyer's phrase, in both its page title and H1. On 24 September Gemini searched for exactly those words. It still retrieved a list and not us. For that question no agency page wins, not even the best one. The buyer's phrase helps where the model retrieves agencies' own pages. Where it looks for rankings, it does not help. Which route a question follows, you only see by measuring it over time.

For an online store this means something concrete. "Soft as a summer morning" is a brand line. "Linen duvet cover 240 by 220, stonewashed" is a buyer's phrase. We are a brand agency and we value that brand language, but it is in the wrong place when it occupies the page title and H1. The buyer's phrase belongs at the top, the brand line in the subheading and the first paragraph. How to write that brand language so a model does pick it up is covered in brand positioning for AI agents.

Price: what we saw and what we did not measure

Two of the three pages that were a source every day mention an amount in their body text. None of our service pages do. It is tempting to hang a conclusion on that, but our scan asks no cost question at all. So we do not know whether an amount helps when someone asks what something costs. We only know that the strongest pages have one and we do not.

What we do know is how our own page answers that question. Our Shopify page has "What does a Shopify store cost?" in its question block. The answer starts with "Depends on scope." Then comes an explanation of how we quote. There is no amount, no range, no starting price. For a person that is an honest answer. For a model that has to answer roughly what a store costs, there is nothing to cite.

That is why we are adding a cost question to the daily scan. Then we measure it instead of assuming it.

Online stores have a further problem: the price is often there, just not in the text a model reads. A few patterns that can keep the price from a model:

  • The price only appears after JavaScript has selected a variant; the raw HTML shows nothing, or a zero.
  • The page says "from" without making clear from what.
  • Delivery time and shipping costs sit in a pop-up or only show in the cart.
  • The price in the structured data differs from the price on the page, for instance after a promotion.

Adobe estimates that for the retailers it studied, 39% of homepages are not readable by language models. That is a US measurement of homepages, not of Dutch product pages. Shopify also sees the difference between clean and messy product data: AI agent searches running on the structured Shopify Catalog convert at twice the rate of searches on data scraped from pages.

Our questions come after the choice, the buyer's come before it

The third element of our original recipe, questions in the buyer's language, came out weakest. The bol specialist that is a source every day mainly asks process questions in its question block: what do I need to supply, how many feedback rounds, which platforms. That is almost word for word what we have too. As a difference between being retrieved or not, the question block says little in our data.

We are rewriting our questions anyway, for a different reason. A model that has to answer a cost question or a fit question can only cite what is written somewhere as text. Our questions are written from our process. "What do you need from us to start?" "What is the turnaround time?" Those are questions a client asks after choosing us. The questions that come before that choice, we answer nowhere.

Process question (what we had) Buying question (what the buyer wants to know first)
What do you need from us to start? What does a Shopify store cost for a brand with a hundred products?
What is the turnaround time? How soon can my store be live if I start now?
Which platforms do you design for? Can a bol.com listing also be used on Amazon?
How customisable is the design? What is the difference between adapting a theme and custom work?
Do you offer ongoing maintenance? What does maintenance cost per month after launch?

A good buying question is about money, fit or comparison, is phrased the way the buyer talks, and has a fact in the answer: an amount, a timeframe, a limit. For a product page in an online store those are questions like: does this fit a bed 160 wide, can it go in the washing machine, how long does delivery to Belgium take. Whether that gets you into answers more often, we do not know. That it is the only place where the answer to such a question can appear at all, we do.

What does this mean for a product page in your online store?

This is where the measurement stops and the translation begins. We measured which agency pages a model retrieves when asked who can make something. We did not measure online stores. And part of the AI traffic to online stores does not run through the page but through product feeds, such as the Shopify Catalog mentioned above. What follows is reasoned, not proven.

The reasoning goes like this. Shopify says that in the second quarter 75% of AI-attributed orders came from outside its top 100 product categories. According to Shopify, an agent looks for the product that matches the buyer's specific question, not the most popular one. The example it gave: a car seat that fits three across the back of a sedan. You answer a question like that with precise data, and that data sits on the product page or in the feed, ideally identical in both.

Per product page, that comes down to this:

Element What a model needs What often goes wrong
Page title and H1 product type plus a distinguishing attribute only the brand or collection name
Price amount in the HTML, clear per variant price only after JavaScript, or just "from"
Availability and delivery stock and delivery time as text only in the cart or a pop-up
Specifications sizes, material, fit in text only in an image
Question block buying questions with a fact in the answer no questions, or generic store questions
Structured data the same as what is visible a different price or empty fields

The first row is the only one our measurement supports directly. The rest follows from what Google writes about text and markup, and from common sense about what a model has to be able to read to answer a question.

On Shopify there is an extra layer, because the platform itself offers agents a description of your store. What is in it, and why almost nobody has edited that text, is covered in agents.md on Shopify. For category pages, the elements are set out in GEO-ready category pages.

Checking your own page: five checks and a week of measuring

You do not need a tool to see what a model can read on your page. You need a browser, one buying question and a week of patience.

  1. Write down the buying question. Not your keyword, but the whole question as a customer would put it to an assistant. "Which store sells a linen duvet cover of 240 by 220 with delivery within a week?"
  2. Put your page title and H1 next to that question. Are the buyer's words in there, or is the brand line sitting in that spot?
  3. View the page source and search for your price. If the amount is in the HTML as text, a model can read it. If there is nothing, or a zero, the price only loads after JavaScript.
  4. Find your question block in the same source. Are the questions and answers there as readable text, and is there at least one question about money, fit or delivery with a fact in the answer?
  5. Compare your structured data with the page. Price, availability, name. Everything in the markup should also be visible.

Then the week. Ask the same buying question to an assistant with search every day and note which pages are cited as sources. After a few days you will see which route your question follows: agencies' own pages or lists. If it runs through lists, rewriting your page will not help much and you need to get onto those lists. If you then also want to see whether AI traffic actually arrives, you can track it in your own analytics; how is explained in measuring AI referrals in GA4.

What we are changing on our own pages

On the question of who can make a bol.com listing, we are in the answer on fourteen of the sixteen days, and our page is a source just as often. That page has the buyer's phrase in its page title. On the question of who makes a brand book, we do not exist: we have no page for it. On the Shopify question we are at zero too, but there our page is not the problem; that question is decided by lists we are not on.

This is the order in which we are tackling it:

Step What Why
1 One dedicated brand book page, with the buyer's phrase in page title and H1 no page means no source
2 Buyer's phrase in page title and H1 of the other service pages, brand line moved to the subheading the one constant in the data
3 Add a cost question to the daily scan measure price instead of assuming
4 Answer cost questions with a range and what drives it "depends on scope" gives a model nothing to cite
5 Profiles on the directories that carry the Shopify question no agency page wins that question

Step four is the hardest, and not for technical reasons. An agency would rather not name a price, because every project is different. That is true. But a range with an explanation of what makes the difference is more honest than "depends on scope", and it is the only answer a model can do anything with.

For clients we go through the same points on every Shopify build and every SEO project: the buyer's phrase at the top, the price in the HTML, questions with a fact in the answer, and structured data that matches the page. If you want to know how your most important product page looks to a model, we can walk through it together in a short call.

Updated on 30 september 2026

Louie Valkhof
Louie ValkhofFounder & Art Director, Oase Creative
Knowledge Base

Frequently asked questions

Need help with execution?

From strategy to production. Tell us about your project, no strings attached.

Response within 24 hours.
Start a project?