AI shopping assistants recommend a product only when they can quote a price, a stock state and a delivery fact from the page itself. A gallery is not that quote. If the number lives in a popup, a picture of a label, or a block that appears only after the page runs code, many assistants skip the product.

This is a page problem, not a platform roundup. WooCommerce, Shopify and Magento can all hide the same facts behind a theme. The shops that show up in AI shopping answers print the offer in HTML a person and a crawler can both copy. Service firms need the same clarity: scope, audience, and where you work.

CodeWiz builds those pages. Founded in 2023 by Dragan Plavšić in Banja Luka, we work on e-commerce, technical SEO, performance and payments. If the catalog still needs building, start with e-commerce development. The rest is how to make a page quotable once the offer exists.

A thin page and a quote-ready page can sell the same item. The difference is whether an assistant can lift the facts without guessing.

FactThin product pageQuote-ready page
PriceAppears only after code runs, or only inside a variant widgetDefault price, currency and tax note in the HTML
StockA coloured dot or an icon with no wordsA sentence such as “In stock” or “Ships in 3 days”
DeliveryA calculator that stays empty until a postcode is typedA starting cost, a region and a typical window, in text
ReturnsA PDF link, or no policy at allWindow, who pays postage, and exceptions, on the page
Comparison factsBox photos and a one-line sloganSize, material, what is included, and who it is for
Product schemaMissing, or copied from a theme demoProduct and Offer markup that matches the visible offer
ReviewsStar markup with no reviews on the pageOnly reviews you collected, shown as text
Silver laptop on a wooden table used while preparing AI shopping pages

What AI shopping assistants need before they recommend a product

Before AI shopping will name your product, it usually wants a stable URL, a clear name, and an offer it can repeat: price, currency, and whether the item can be bought now. The assistant is trying not to recommend something the shopper cannot purchase.

It also needs comparison facts. Two similar kettles are not a choice until the page says capacity, material, what is in the box, and who it is for. Those lines are what gets quoted.

A real SKU, a brand you own, and a GTIN only if the manufacturer assigned one, help a feed and a page point at the same item. Inventing a barcode to look complete is worse than leaving the field empty.

Facts that must be visible text, not only a widget

AI shopping reads text, not a picture of a price. Put the offer in the HTML response. Price, stock, shipping and the short spec list should be words in the document, not type drawn on a canvas and not a block that appears only after the browser runs code.

Loading the price only after a colour is chosen is a bad source of truth. Print a default name and price in the first HTML, then update them when the shopper switches.

Tabs are fine when the copy is already in the page. They fail when the panel is empty until a click fetches it. “Low stock” as a class on an empty element is invisible. Write the words, from the same inventory figure checkout uses.

Price, stock and the offer an assistant can quote

AI shopping cannot repeat a bare number across countries. If the page shows 49.00 EUR including VAT, the visible line and the Offer should say that, currency included. Quote the offer that matches the screen.

When a sale shows two prices, label the current one and the previous one so they cannot be swapped. A banner that says “20% off” without the resulting amount forces arithmetic. Print what the shopper will pay.

Availability is a sentence, not a colour: in stock, out of stock, pre-order or back-order, plus a date when you have one. Do not mark an item you cannot ship as available.

If shirts run from 29 to 45 by size, say so, and use an AggregateOffer with a low and a high price. A single Offer is right when the URL is one variant. Do not publish one price for a size nobody has chosen.

Rows of wrapped cardboard parcels on pallets down a warehouse aisle

Shipping and returns in plain language

AI shopping compares delivery, not just the sticker price. You do not need every postcode in the first HTML. You do need regions you ship to, a typical cost, and a typical window. A shop that hides postage until checkout is easy to drop from a shortlist.

“Free delivery over 50 EUR in Bosnia and Herzegovina, 2 to 4 working days” is quotable. An empty “calculate shipping” form is not. If you do not ship somewhere, say so. Silence is a reason to recommend someone else.

State the return window, who pays return postage, and exceptions such as personalised goods. Put that next to add to cart. An assistant answering “can I return this” looks at the product URL, not a footer link it never opened.

Service pages, the non-shop version of AI shopping

AI shopping is not only for carts. People ask assistants for a web shop build, a technical SEO audit, or a payment integration, then expect a shortlist. A service page is quotable when it states scope, audience and place as plainly as a product page states a price.

Scope is a list of work. “WooCommerce shop: catalog, checkout, and a payment provider” can be repeated. “Digital solutions for the modern brand” cannot. Say what you do not do when that avoids a bad lead.

Say who it is for, and where you work. A three-person shop and a catalog of fifty thousand SKUs are different jobs. Name the places you serve, and say if you work remotely. An assistant cannot invent your area from a skyline photo.

Publish a price only if you will stand behind it. A fixed audit can be an Offer. A project priced after seeing the store should say so, without a fake SKU. Use Service markup rather than Product markup for consulting.

Product and Offer schema that matches the page

Structured data is a second copy of the offer. For a product, use Product with an Offer for price, currency, availability and URL. Google’s product structured data guide is the checklist for rich results and merchant listings. AI shopping does not treat schema as a substitute for the visible offer, and markup does not force a citation.

Generate JSON-LD from the same fields that render the page. This shape, for a fictional kettle, is what the template should fill from the catalog.

{ "@context": "https://schema.org", "@type": "Product", "name": "Example kettle 1 L", "sku": "KTL-100", "image": "https://example.com/kettle.jpg", "description": "Stainless kettle, 1 litre, for a standard hob.", "offers": { "@type": "Offer", "price": "49.00", "priceCurrency": "EUR", "availability": "https://schema.org/InStock", "url": "https://example.com/kettle" } }

Add OfferShippingDetails and MerchantReturnPolicy only when the page states them. A GTIN belongs only when it is real. We check the HTML against the visible price, then use the Rich Results Test. Canonicals and variant URLs are part of technical SEO.

Reviews you actually have, not fake markup

AI shopping will repeat a rating you put in the code. AggregateRating and Review belong on a page only when those reviews are visible and you collected them for that product or service. A theme demo with five stars and no names is a liability.

If you have no reviews yet, omit the markup. A score with no reviews on the page is a claim you invented. When reviews exist, show the text, and do not copy company-wide stars onto every product. A score that lives only in a third-party frame is easy to miss, so render a summary you control or leave the stars off.

Open laptop, coffee cup and notepad arranged on a pale wooden desk

Feeds versus the HTML on the page

AI shopping that opens your URL reads the page, not the feed file. Merchant feeds are useful, and they do not replace the HTML. If the feed says 49 EUR and the page says 59 EUR, both numbers become hard to trust.

Build the feed from the same fields as the template: identifier, title, price, currency, availability, link and image. When a price changes, both should change together. Some surfaces never fetch the export. They fetch the URL, so the HTML still has to carry the facts.

Mistakes that keep a page out of AI shopping answers

The failures are repetitive, and they do not require a new platform. The template has to tell the truth in text.

  • Price only after code runs. A placeholder is a missing price.
  • “Call for price” by accident. A real sales choice, and not a quotable number.
  • Stock as a colour. A dot without words cannot be quoted.
  • One Offer, many prices. Use a variant URL or an AggregateOffer for the range.
  • Wrong currency. Print the code you charge, whether BAM, EUR or USD.
  • Demo reviews. No rating is more honest than invented stars.
  • Specs trapped in images. Repeat the rows as text.
  • URL blocked or canonicalised away. That page will not be the one cited.

When quote-ready pages matter

AI shopping matters when buyers compare before they visit: similar products, a few shops, a delivery question or a spec. It also matters after a redesign that left the HTML with a title and a gallery, or when the real offer is a PDF.

It matters less with no price and no scope, or when you do not want the page quoted. If you sell only after a conversation, write that and skip Product markup that implies a fixed offer.

Shops on WooCommerce, Shopify or Magento usually need a template pass, not a replatform. The data is often already in the database. The theme never prints it. That pass is what makes the catalog citable.

How we work

We treat AI shopping as a template and data job, whether the page sells a product or describes a service.

  1. Discovery. We list what should be quotable, which currencies you charge, and where you ship or work.
  2. Audit. We compare the first HTML, the rendered page, Product and Offer markup, and the feed.
  3. Plan. You get template changes, facts to add, and markup to remove.
  4. Build. The page and the JSON-LD come from the same fields, on staging first.
  5. Check. We validate structured data and confirm price, stock and shipping after a catalog edit.
  6. Keep it true. When price, policy or scope changes, the visible text changes with the markup.

Why CodeWiz

  • We change the page. Founded in 2023 by Dragan Plavšić in Banja Luka, we edit the template, the feed and the markup.
  • Your platform. Catalog pages and checkout on WooCommerce, Shopify and Magento.
  • Schema from real fields. Product and Offer data is checked against the screen.
  • Speed. A slow page still loses the visit after the click.
  • Payments. The amount on the page should be the amount checkout charges.
  • Local and remote. Clients in Banja Luka and abroad.

Frequently asked questions

Does AI shopping require Product schema?

Visible price, stock and delivery come first. Product and Offer markup should repeat those facts for machines that read structured data, including Google’s product results. Schema is not a shortcut. Add it once the facts are stable.

Can an assistant quote a page that says “call for price”?

It can quote the sentence. It cannot quote a number you did not publish. Print the price if you want to be compared on it. If the sale starts with a conversation, describe that conversation and skip an Offer that implies a fixed amount.

Should a service business use Product schema?

Use Product when you sell a defined product. For consulting or a scoped engagement, Service and Offer fit better: name, provider, area served, and a price only when you publish one. A made-up SKU makes a service look like a shop item.

What if the feed and the page disagree?

Fix the catalog field checkout uses, render the page from it, and build the feed from it. Until they match, pause the surface that shows the wrong price. Two prices for one URL push assistants toward a competitor with a single number.

Will this guarantee a mention in an assistant’s answer?

No. Assistants and search engines choose what to cite, and those choices change. You can make the offer true, visible, and consistent in Product and Offer data and in the feed. That makes the page quotable. It is not a promise that you will be quoted.

Make your pages ready for AI shopping

Tell us which products or services should be quotable, and which facts are still trapped in a widget, a PDF or a feed that does not match the page. Contact CodeWiz and we will look at the template. You can also browse our development services.