Online shops
Every condition in a shopping question is a fact your product page has to state.
Someone wants a vegan leather wallet with RFID blocking, or a hiking backpack under [price] that ships to Canada, and types exactly that into ChatGPT or Perplexity. With web search on, the assistant reads the pages it can reach and can name a few products and places to buy them, often with a short reason for each.
An online shop is named for what its own pages state in text: what each product is and is made of, its sizes and what it fits, the price and currency, whether it is in stock, where it ships and at what cost, how returns work, and who runs the shop. A condition your pages leave out is one an answer cannot find you meeting.
How your customers ask
Shopping questions arrive with their conditions already typed in
Each condition in a shopping question points at a page on your site
Read one of those questions as a list and it becomes a brief: a need, a material or an origin, a size or a fit, a price ceiling, a destination. A reason such as "ships to Canada" in an answer has to be stated somewhere, and if your page does not state it, the sentence, if it is written at all, comes from somewhere else: a marketplace listing, another shop's page, or what the model already holds.
| What the buyer needs to know | As it appears in the question | Where your site answers it, and how |
|---|---|---|
| What it is, and what it is for | "for day hikes in heavy rain" | The product page's first sentence, in the buyer's words |
| Material, make or origin | "vegan leather", "made in the EU" | The product page, each attribute as text, matching your product feed |
| Size, fit or compatibility | "fits a 20mm watch" | The product page: the size chart as an HTML table, and the models it fits and does not |
| Price | "under [price]" | The product page: the amount, the currency, and what it includes for each market |
| Availability | "in stock now" | The product page, per variant, in words: in stock, made to order, or pre-order with a date |
| Shipping | "ships to Canada" | A shipping page with destinations, times and costs, and a line on each product page |
| Returns | "how do returns work" | A returns page: the window, the item's condition, who pays postage, how refunds are made |
| Who runs the shop | "is [shop name] legit" | An about page: the people, the city and country you ship from, a contact address |
| One identity | the shop's name, heard somewhere else | One name, one domain and one contact email, the same on every page, listing and profile |
Return rights, price display and what a product claim must be able to prove differ between the US, Canada, the EU and the UAE. Your pages state your own policy for each market; whether it meets the rules where a buyer lives is for your counsel to judge.
Product, Offer and a return policy: the markup Google documents for shops
On each product page the facts go into Product markup: a schema.org Product with an Offer carrying the price, the currency and the availability, written as JSON-LD. Shipping to each destination goes in the offer's shippingDetails. The return policy is a MerchantReturnPolicy, and schema.org lists hasMerchantReturnPolicy on Organization as well as on Product and Offer, so one policy for the whole shop can sit on the shop's own node.
Google's product documentation separates product snippets, for pages where the item cannot be bought, from merchant listings, for pages where a buyer can purchase from you, which carry shipping details and return policy information. Its introduction to structured data says to mark up only what a visitor can see, and its page on AI features says AI Overviews and AI Mode need no special markup or file.
Ratings follow Google's review snippet rules. A Product node may carry ratings customers gave that product on your own site, shown on the page, but never ratings aggregated from other websites such as a marketplace, and never fake or undisclosed incentivized reviews. The shop's own node carries none, since a business controlling the reviews about itself is ineligible for review stars. Reviews of the shop go on the page as text, with a first name, the date and the platform.
Small business sites in our crawl, and what the figures mean for a shop
Our audit of 9,483 small business websites fetched three pages of each site with a crawler that ran no scripts, in 40 trades and 90 metros across the US, Canada, Europe and the UAE, in late August and early September 2026. The figures describe the whole sample; we publish no cut for online shops.
61.5% had no question-and-answer content of any kind, and 50.7% had a question as a heading with no answer under it that a machine could isolate: on a shop, a product page that never says whether it fits or when it arrives. 64.7% showed a crawler no review signal, and 8.9% carried rating schema.
Identity was loose: 43.1% were inconsistent about who and where they are across their own three main pages. 36.9% listed more than one phone number, and 34.1% gave no postal address a machine could parse.
17.8% had no schema.org markup at all, and most of the rest described the website rather than the business. 7.2% sat behind bot protection that served our crawler a challenge page, 3.0% rendered their content only in JavaScript and 2.1% kept their real content in a PDF: on a shop, a catalog built in the browser and a size chart kept as a file.
The probe beside the audit asked Claude, with web retrieval on, one local trade question per business on one day, and 14.9% of 9,240 businesses were named. It asked no product questions, so it says nothing about shops; your own panel does.
Six steps, in order, each with its own article
- Check what an AI crawler receives: run the crawler access check, then open a product page with scripts off and find the price, sizes and shipping line as text.
- Decide where your shop has room to be named, as GEO for e-commerce sets out: its own name, its own products, and narrow needs.
- Make the first month's decisions, from lead product lines to a stop list, with a GEO strategy for an online shop.
- Rewrite the lead lines' product pages so every attribute a buyer filters on is in the text, as product data for AI describes.
- Add Product, Offer, shipping and return policy markup that matches the page, from the template in schema.org for online shops.
- Take a reading by product question before and after (AI visibility for online shops), and count orders with the four readings in measuring AI recommendations for a shop.
These steps change what your pages say and what a crawler can read. What an assistant then writes is its operator's decision; the same questions, asked again once the fixes are live, show whether the answers moved.
Go deeper
The six articles behind this page, in the order the work goes
Strategy & Planning
GEO for e-commerce: where a small shop has room to be named
Strategy & Planning
A GEO strategy for an online shop: the first month's four decisions
Content & Answer Pages
Product data for AI: a product page that answers every condition
Technical & Structure
Schema.org for online shops: Product, Offer, shipping and returns markup
Fundamentals
AI visibility for online shops: named as the shop, the brand or the product
Measurement & Reporting
Measuring AI recommendations for a shop without clean click tracking
What shop owners ask before they change a product page
We sell on a marketplace as well. Which copy of the facts counts?
Keep one product record and copy everything from it: your product page, the marketplace listing, your product feed and your markup. A buyer should find the same price, sizes, shipping and returns wherever they land. Where a marketplace sets its own delivery or return terms, say on your page which terms apply to an order placed with you.
We ship from home. Does the site need a street address?
It needs one identity a buyer can check: the shop's name, the city and country it ships from, a contact email and, if returns come back by post, the address they go to. What a seller must publish about itself depends on the jurisdiction, so ask your counsel. Whatever you publish, write it the same way everywhere.
We ship to dozens of countries. Do we list them all?
List them by zone on the shipping page, with a delivery time and a cost for each, and name the countries you do not ship to. Buyers type the destination into the question, so each country's name belongs in the text; a map, or a dropdown a script fills, gives a crawler nothing to read. The structured data repeats the same zones.
Can you promise that an assistant will recommend our products?
No, and nobody can honestly promise it: the answers are composed inside systems no outside agency reaches. What we do is measure whether your shop, brand and products are named for your buyers' questions, fix what your pages state and what a crawler can read, and measure again with the same questions. The method is published.