Of everything a chatbot can get wrong, this is the one that costs money. A customer who was quoted £X and then told £Y is not confused, they are annoyed, and they tell people.
Why it happens
Nine times out of ten it is not the model. It is that the price exists in more than one place on your site and the versions disagree.
An old pricing page still live. A PDF brochure from two years ago. A blog post from a promotion that ended. A footer that says "from £49" when the real floor moved to £65.
Retrieval finds the closest match by meaning, not by recency. It has no way to know which of your three prices is the current one, because nothing on the page says so.
The second cause: nothing published at all
If you publish no prices, a poorly grounded bot will invent something plausible. A well-grounded one will say it does not have that information and offer to get someone.
Which of those you get is a product-configuration question, and it is worth checking on purpose rather than discovering from a customer.
How to check, in five minutes
Ask your own agent:
- "How much does X cost?"
- "What is your call-out fee?"
- "Do you have a minimum charge?"
- "Is VAT included?"
- "Do you offer a discount for Y?"
Compare each answer to what you actually charge today. Any mismatch is live right now on your website.
The fix that holds
Find every price on your site and make them agree. Search your own domain for the currency symbol. You will find more than you expect.
Delete the old ones. Not update — delete. An outdated pricing page that nobody links to is still crawlable and still retrievable.
Say what the price depends on. "From £X, depending on property size and access" is far more useful than a bare number, and it stops the bot presenting a floor price as a quote.
Date anything time-bound. A promotion should say when it ends, in the text.
The disclaimer trap
It is tempting to add "prices are indicative" to the bot's persona and move on.
It does not work well. It makes every answer hedged and less useful, and a customer who was quoted a specific number does not feel reassured by boilerplate. Fix the content instead; it is a smaller job than it sounds and it improves your website regardless.