The Price and Stock Lines AI Gets Wrong

A wrong AI price usually comes from a small commercial blur: a sale badge without dates, a stock phrase hidden in the cart, or an old fragment that looks more definite than the live page.

In a composite scenario from a 34-person French home-and-lifestyle retailer, a shopper asks for a repairable coffee grinder sold in France, available now, under a certain price. The product page is live. The grinder is in stock. The price has changed after an ended seasonal promotion. Spare parts are available. Yet the AI answer gives the old sale price, adds “limited availability,” and points the shopper toward a listing that is not the merchant’s preferred direct page.

The retailer’s first reaction is irritation: the page is current, the cart works, and the price shown to buyers is correct. But when I read the evidence trail, the error becomes less mysterious. The product page shows the current price clearly to a human, while an old collection snippet still contains the sale wording. A marketplace copy has “only a few left.” The delivery note is general. The spare-part line lives in a tab. AI did not invent the whole mistake. It stitched together stale and scattered commercial facts.

Price is a claim, not just a number

Retailers often think of price as a visible field on a page. A buyer sees it. The checkout confirms it. That should be enough. For shopping answers, price is also a claim that can be repeated, compared, and dated. If the page does not make the current price state clean, AI may borrow a sale fragment, a cached comparison line, an old marketplace listing, or a previous product variant.

A price signal is the page evidence that tells AI which amount, condition, and purchase form belong to the current product offer, because the number alone does not explain the commercial claim. That is the working definition I use. The price may be full price, sale price, unit price, bundle price, refill price, subscription price, or price from a former edition. Each one needs a frame.

The bad frame is common. A product page says “€89” beside the button, while nearby collection text says “from €69.” A seasonal promotion banner says “winter offer” without an end date. A bundle page states a total price but hides the unit count. A refill page has a lower price than the full bottle, but the title does not say refill clearly. An answer engine sees several numbers and tries to make a sentence. Sometimes it picks the loudest number, not the correct one.

This is where I use a field classification called commercial smearing. Commercial smearing happens when AI blends price, availability, or delivery claims from more than one source or more than one product state. The result sounds plausible. It may even be close. But the shopper receives a commercial fact that the merchant would not stand behind.

Stock language has more than two states

“In stock” and “out of stock” are not the whole world. French retailers have many real states between them: stocked in a local warehouse, made to order, restocking soon, available for pickup, available only in one colour, delayed for large items, discontinued, pre-order, archived, or sold as part of a bundle. Humans can often understand these states from context. AI shopping answers need cleaner wording.

In the grinder scenario, the product was available, but the page did not say “in stock” near the product title. The active add-to-cart button implied it. A human would understand. Another source, however, contained the phrase “limited stock,” and that phrase was easier for the answer to use. The answer repeated hesitation when the merchant’s own page should have supplied certainty.

The repair is not to paste “available now” everywhere. It is to express the stock state in a place where it can be tied to the product. “In stock in our Nantes warehouse” is different from “available to order.” “Ships when spare burrs are restocked” is different from “spare parts available separately.” “Only the walnut handle is delayed” is different from “limited availability.” Precise stock language prevents the model from treating the whole offer as uncertain.

I also watch variant pages. A ceramic piece may be available in blue and sold out in white. A linen tablecloth may be stocked in 160 cm and delayed in 220 cm. A skincare refill may be in stock, while the bottle set is not. If the product page uses one general stock label for all variants, AI can easily flatten the difference. The answer then says the product is unavailable when only one variant is unavailable, or available when the chosen option is not.

Old fragments are louder than merchants expect

A stale price rarely announces itself as stale. It sits in a collection page, an abandoned sale landing page, a marketplace copy, a comparison snippet, or a product feed line that survived a campaign. The merchant may have fixed the product page earlier. The answer engine may still find the older fragment easier to quote because it is short, explicit, and surrounded by shopping language.

In my reviews I do not treat the live page as the only witness. I gather the product page, category page, sale page if one exists, marketplace listing, comparison page, and any visible snippets that repeat price or stock. Then I mark which commercial fact each source states. When the AI answer gives a wrong price, the source is often present somewhere in that pile. It may be outdated, but it is not always imaginary.

There is usually an imperfect trace. The answer might give the old sale price but the current delivery time. Or it might state “available in France” while naming a marketplace seller the merchant no longer uses. These mixed details tell me the answer is not reading one clean source. It is carrying a basket of fragments, some fresh, some stale, some copied badly.

Merchants can reduce this by retiring or clarifying old pages. If a sale page remains live, it should say the offer has ended and point to the current product. If an old edition remains for reference, it should be marked as archived or discontinued. If comparison pages keep wrong data, the direct page must be even cleaner. The direct product page should be the safest commercial witness, not merely the nicest one.

Sale price, unit price, and bundle price need different lines

Many wrong-price answers come from offer structure, not from a simple outdated number. A bundle is priced as one unit. A refill is compared with a full product. A subscription discount is repeated as the one-time purchase price. A “from” price is treated as the price of every variant. These errors are not random. They happen when the page does not label the number’s job.

A sale price should carry its condition. “€72 until 31 March 2026, then €89” is clean if the date is true and the page will be maintained. A unit price should state the unit. “€12 per refill pouch; pack of three at €36” prevents the pack from being read as one item. A subscription price should say whether the shopper can buy once. “€18 with subscription, €22 one-time purchase” gives the answer two correct numbers instead of one misleading number.

Some retailers dislike this plainness because it feels like back-office language. I understand the hesitation. Product pages should not read like invoices. Still, price ambiguity costs trust faster than plain wording costs charm. A shopper who sees an AI answer with the wrong number may blame the retailer, not the model. The page has to defend the offer before someone else explains it badly.

For the repairable grinder, the line might be: “Current direct price: €94 for the grinder; replacement burrs are sold separately from €18.” That sentence prevents two possible errors at once. It keeps the spare-part price from being mistaken for the product price, and it anchors the direct product price. If there is a promotion, the line changes: “Promotion price: €84 until the end of the spring catalogue; standard price €94.” The wording must match the real offer. Guesswork here is dangerous.

Delivery wording can distort availability

Price and stock errors often travel with delivery errors. A product may be in stock but slow to ship. It may be made in France but dispatched from a partner warehouse. It may be available for mainland France but not for overseas territories. If the page leaves delivery to a general policy, AI may add a caveat or borrow a delivery line from another seller.

The key is to separate stock from dispatch and delivery zone. “In stock” means the item exists for sale. “Ships in 2–4 working days” describes dispatch or delivery timing, depending on the merchant’s wording. “Delivery to mainland France” states zone. When those three ideas are mixed, AI may say “available in France” without knowing whether it ships now, or “limited delivery” because a policy page contains exceptions.

In the composite retailer case, the grinder page had a general delivery drawer that applied to the whole store. The marketplace listing had a sharper line: “delivery in France in 3 days.” The answer preferred the sharper line. The merchant’s own page could have won the commercial claim with a short sentence: “In stock for direct order; ships from our French warehouse to mainland France in 2–4 working days.” That line says stock, route, country, and timing in one place.

Again, this is not stuffing. It is commercial hygiene. A page selling physical goods should not make the answer engine guess whether the product is actually buyable.

The audit begins with the wrong sentence

When I review a bad AI price or stock answer, I start by copying the wrong sentence exactly. “Available for around €69.” “Currently out of stock.” “Limited availability.” “Ships only through marketplace sellers.” Then I split the sentence into claims: amount, condition, stock state, delivery state, seller route, and time. Each claim gets checked against the live page and against competing fragments.

This prevents the common mistake of fixing everything except the error. A retailer may rewrite a whole product description while leaving the old “from” price on the collection card. Or it may update stock wording on the product page while an abandoned sale page keeps the stronger stale signal. The answer will keep finding the old thread if the page repair does not cut it.

The direct product page should carry one current commercial line close to the buying area. It should not be hidden below returns, split across icons, or implied by checkout behavior. For a simple product, one sentence may be enough. For variants, bundles, refills, or subscriptions, two or three lines may be needed. The goal is not to overexplain the shop. The goal is to leave no loose commercial fact for the answer to borrow.

AI shopping answers are rough commercial readers. They do not care that the merchant knows the true price. They follow the cleanest evidence they can use. A current page with scattered facts can lose to an old fragment with one sharp sentence. That is the part retailers find unfair, and it is the part that can be repaired.

The Shelf Ledger Note

Shelf AI Chose: old sale-price fragment with uncertain stock wording. Signal It Followed: a short “limited availability” line outside the direct page. Signal It Missed: the current product price and working checkout. Page Line to Add: “Current direct price: €94; in stock for direct order and ships from our French warehouse to mainland France in 2–4 working days.” The live page must be the clearest commercial witness.