Why Should Your Store Chatbot Never Quote a Price It Did Not Just Look Up?
Key Takeaways
- A store chatbot that answers from a crawl of your website is quoting prices as they stood on the day the crawler visited. When a sale ends or a price moves, nothing tells the bot.
- Under Australian Consumer Law, a false price statement can be a breach even if you believed it was correct at the time. In Canada, a tribunal held an airline responsible for what its website chatbot told a customer.
- The fix is a rule, not a better crawl: price, sale price, stock and variations should come only from a live call to your catalogue, made at the moment the shopper asks.
- Every fact needs one owner. Live catalogue for products, your store settings for currency and categories, your site's structured data for address and hours, and your own pages for shipping and returns.
- When the live call fails, a well-built bot should decline product questions and still answer business ones. You can test all of this on any store bot in five questions.
Your store chatbot should never quote a price it did not just look up, because any other price is a copy, and copies go stale without warning. A bot that answers product questions from crawled web pages will repeat last month's sale price with full confidence, and in Australia the business that published the answer wears the consequences. The safe design reads price and stock from your catalogue live, each time a shopper asks, and refuses to guess when it cannot.
Contents
- How does a chatbot end up quoting last month's price?
- Is a wrong chatbot price your problem?
- What does "reads your catalogue live" actually mean?
- Which source should own each fact?
- What should happen when the store connection fails?
- What else should a store bot refuse to say?
- How can you test any store bot in five questions?
- Frequently Asked Questions
- References
How does a chatbot end up quoting last month's price?
Most website chatbots learn your store the same way a search engine does. A crawler visits your pages, saves the text, splits it into passages and stores them. When a shopper asks a question, the bot finds the passages that look most relevant and writes an answer from them.
For a store, the passages that look most relevant to "how much is the blue jacket?" are your own product pages. Those pages carried a price on the day they were crawled. If you ran a 20% off weekend after that, or the supplier put the price up, the saved passage still shows the old figure, and nothing in it says how old it is.
The language model cannot tell either. It sees a confident number on what looks like your product page and repeats it. The moment a bot is most likely to be wrong, straight after a price change, is the moment it sounds most certain. Re-crawling more often narrows the gap but never closes it, because prices can change between one crawl and the next.
Is a wrong chatbot price your problem?
Very likely, yes. Australian Consumer Law prohibits false or misleading statements about price, and the government's business guidance is blunt about intent: "Even if you thought the statement was correct at the time, you may still be in breach of Australian Consumer Law" [1]. A price typed into a chat window by software you installed is still a statement your business made to a customer.
A Canadian case shows how a tribunal sees it. In Moffatt v. Air Canada (2024 BCCRT 149), the airline's website chatbot told a grieving customer he could claim a bereavement fare after travelling, which was not the airline's policy. Air Canada argued the chatbot was responsible for its own words. The tribunal called that "a remarkable submission" and said the airline is "responsible for all the information on its website", awarding the customer about CA$812 [2].
This is general information, not legal advice. The practical point is simple: you cannot hand responsibility for a price to the bot, so the bot has to be built so it only says prices it has checked.
What does "reads your catalogue live" actually mean?
It means the bot asks your store for the answer at the moment the shopper asks the question, and answers from what comes back.
In QuackChat, a product question on a connected WooCommerce or Shopify store triggers a tool call to that store's own API: a product search, a product detail lookup or a stock check. The price, sale price, stock and variations in the reply come from that response, the same data your product page shows. (One exception: on a Shopify store selling in several currencies through Shopify Markets, the bot quotes your base catalogue price, which can differ from the local price a shopper in another market sees.) The product cards in the chat are built from that same response, never from a saved copy.
Two details matter here:
- Asking again means looking again. If a shopper says "show me those again", the bot is instructed to call the catalogue again rather than repeat its earlier list, because prices and stock may have moved.
- Matching can use an index, prices cannot. For "something warm for a winter hike" questions, QuackChat finds candidates in an index of your catalogue refreshed every six hours, then fetches them live before showing anything, so the price and stock a shopper sees are current.
For what else a connected store assistant does, see the WooCommerce storefront assistant and QuackChat for Shopify.
Which source should own each fact?
A store bot usually has more than one place to look, and the bugs live where two disagree. Decide in advance which source owns which fact, and never let a weaker one overrule a stronger one.
| Fact | Owner | Why |
|---|---|---|
| Product exists, price, sale price, stock, sizes, colours | Live catalogue call | Changes daily, sometimes hourly |
| Order status | An identity-checked order lookup | Belongs to one customer only |
| Store currency and category list | Your store's own settings | Set in the store, not on a page |
| Address, phone, email, opening hours | Structured data on your site, then your pages | Footers are hard to search |
| Shipping, returns, warranty, about | Your own pages | Written policy is the source of truth |
QuackChat's store prompt follows this split. A price, stock level or product list found in crawled text is treated as an old snapshot: the bot is told not to repeat it, not to skip a live lookup because of it, and not to let it contradict a live result. When a crawled passage can be matched to a product in your catalogue, it is also marked as an archived product page, so its description stays useful while its numbers do not.
What should happen when the store connection fails?
The bot should say it cannot check live product details right now, point the shopper to the store, and keep answering everything else.
Connections fail. A key gets revoked, a host has a bad hour, a security plugin blocks a request. A careless design quietly falls back to the crawled pages and keeps answering product questions from them, which is the stale-price problem with no warning attached.
QuackChat handles this in two layers. If a single lookup fails, the tool reports that it cannot check the store's live information and offers your storefront link, and the store rules still forbid filling the gap from crawled text. If the whole live part of a turn fails, the bot answers from your website instead, with an explicit instruction for that turn: any product name, price, stock level or order status in the crawled text may be wrong, so state none of them. Either way, the shopper is told live details cannot be checked right now and is sent to the store.
Business questions still work, because they never depended on the catalogue. Location, hours, shipping and returns all come from your pages.
What else should a store bot refuse to say?
Price is the obvious one. A few others belong in the same family, because each is a way of stating something as a live fact without checking it.
- Colours or sizes guessed from a product name. A product called "Green Hoodie" tells you nothing about which colours it comes in. When the catalogue lists no options, QuackChat is told to say the options are not listed rather than infer them from the name.
- Discount codes. QuackChat's store tools cannot create, apply or look up coupons. If an old code is still printed in a banner on a page it has read, it could repeat it, so take expired codes off your pages when a promotion ends.
- Someone else's order. On WooCommerce, order lookup needs the order number and the billing email on that order, and a mismatch gets the same reply as an order that does not exist. Order lookup is not available on Shopify in QuackChat yet.
- Cart changes on its own. Only the shopper can tap Add to Cart. The bot has no tool that writes to a cart or checkout.
Each refusal costs a little convenience and removes a whole class of wrong answers.
How can you test any store bot in five questions?
Run these on your own store bot, or on any vendor's demo, before you trust it with a sale weekend.
- Change a price, then ask. Edit one product's price in your store admin and immediately ask the bot what it costs. A live bot gives the new price. A crawl-based bot gives the old one.
- Ask about something that just sold out. Set an item to out of stock and ask if it is available.
- Ask for the cheapest item in a category. A bot that can sort your catalogue by price answers this from data. One working from passages guesses from whatever pages it found. (On Shopify, QuackChat sorts up to the first 200 matching products, because Shopify's API has no price sort, so a very large category can hide a cheaper item further down.)
- Ask two things at once. "Where are you based, and do you have this in a large?" Both halves should be answered, from the right source each.
- Ask for a discount code. A bot with no coupon access should say it cannot offer one, unless your own pages publish a current code.
You can try all five on our demo store. If you are comparing vendors more broadly, our WooCommerce chatbot buyer's guide lists more questions worth asking. Setup is in the WooCommerce store guide and the Shopify guide, and plans are on the pricing page.
Frequently Asked Questions
Why does my chatbot show an old price?
Most likely it answers from a crawl of your website, which saved your product pages as they looked on the day it visited. Unless it reads price from your catalogue at the moment someone asks, every price change after that crawl leaves it out of date.
Am I responsible for a price my chatbot gets wrong?
Probably. Australian Consumer Law prohibits false or misleading price statements even when you believed them correct at the time, and a Canadian tribunal held an airline responsible for its chatbot's answer. Get advice for your own situation.
Does re-crawling my site more often fix stale prices?
It narrows the window but never closes it, because a price can change between one crawl and the next. Only a live lookup at question time gives the price your product page shows right now.
What does QuackChat say if it cannot reach my store?
It tells the shopper it cannot check live product details at the moment and points them to your store for current prices and stock. It keeps answering questions about shipping, returns, hours and location from your pages.
References
- business.gov.au, Displaying prices. https://business.gov.au/products-and-services/fair-trading/displaying-prices (retrieved 8 October 2026)
- Moffatt v. Air Canada, 2024 BCCRT 149 (Civil Resolution Tribunal of British Columbia, 14 February 2024). https://www.canlii.org/en/bc/bccrt/doc/2024/2024bccrt149/2024bccrt149.html (retrieved 8 October 2026). Summary: Mondaq, Airline ordered to compensate a B.C. man because its chatbot provided inaccurate information. https://www.mondaq.com/canada/new-technology/1427926/airline-ordered-to-compensate-a-bc-man-because-its-chatbot-provided-inaccurate-information (retrieved 8 October 2026)