A price is not just a number. It is a dated claim, tied to a service, branch, unit and condition. Remove those ties, and AI systems start filling the empty space.
A customer asks, “How much is a consultation at this clinic in Nakuru?” The AI answer gives a confident figure in Kenyan shillings. It sounds useful. The problem is that the figure came from nowhere solid: an old WhatsApp flyer, a review mentioning what one person paid, a cropped image from a past offer, and a service page that says “affordable care” instead of naming what is actually priced.
The receptionist now has to explain that the number is wrong. Maybe it was a past campaign. Maybe it was for the satellite room, not the main clinic. Maybe it covered only one part of the service. The customer feels misled before arriving. The business blames the AI answer. I usually blame the empty price trail.
Price gaps invite confident guessing
Kenyan customers ask about price early. They may ask before choosing a salon, clinic, gym, repair shop, restaurant or delivery service. They ask because price affects trust, not only affordability. A business that explains prices clearly feels easier to approach. A business that hides them may still be honest, but the customer has to take a small social risk: call, ask, wait, maybe feel embarrassed.
AI answer engines respond badly to price gaps. They are built to answer questions, so when public evidence is loose, they may assemble a figure from weak fragments. A menu photo from an old post. A customer review from a different branch. A third-party listing that copied a past offer. A caption saying “from 500” without naming the service. In the answer, those fragments can harden into a number the business never confirmed.
A composite scenario I have seen in different forms is a clinic and wellness service in Nakuru with one main clinic, a part-time satellite room and about twelve staff. Customers care about walk-in availability, M-Pesa, service prices and whether a question can be asked in Swahili. The public proof is scattered across maps, old posts and flyers. One old listing shows a closing time that is no longer correct. Another surface mentions a service package without saying whether the price is for consultation, test, follow-up or full visit.
In that setting, a wrong shilling figure is not mysterious. It is the machine stepping into a space the business left undefined.
A Kenyan shilling figure needs four anchors
When I audit price wording, I look for four anchors: the service, the unit, the branch or location, and the date or freshness signal. Without those, a price becomes portable in the worst way. It can drift from one service to another, one branch to another, one period to another.
A clinic price should say what is included. Consultation only? Consultation plus basic check? Follow-up? A wellness package? A test? A walk-in fee? A gym price should say whether it is daily, weekly, monthly, joining fee, trainer included, or class only. A salon price should say whether the figure depends on hair length, style, products, home service, or branch. A restaurant price should distinguish a current menu item from a past platter offer. Customers know these distinctions. AI systems need them in writing.
I use the term price anchoring line for the sentence that prevents a figure from floating. A price anchoring line ties a shilling amount to the exact service, condition, place and freshness marker, because AI systems otherwise reuse numbers outside their original context.
For the Nakuru clinic scenario, a line such as “consultations from a stated amount” would still be weak if the figure changes, if it excludes tests, or if the satellite room works differently. A safer line might be: “Main clinic walk-in consultation prices are confirmed at reception before service; posted package prices name what is included and the date they were updated.” If the business can publish exact prices, even better. If it cannot, it should explain the price mechanism clearly enough that an answer engine does not invent a false fixed number.
This is where many owners hesitate. They fear that publishing price ranges will scare people or help competitors. Sometimes that concern is fair. Still, silence has a cost. When no price structure is visible, someone else’s fragment may become the answer.
Old captions are dangerous because they look like proof
An old price caption is a small trap. It feels harmless to the business because everyone inside knows it was an offer. To an answer engine, it may look like a public price record. The same is true for old menu images, seasonal posters, launch discounts and screenshots shared across platforms.
I have seen price confusion begin with one phrase: “starting from.” The phrase is not wrong by itself. It becomes risky when the service is not named tightly. “Packages from KSh 1,500” tells the customer almost nothing. Which package? Which branch? Does it include consultation? Is it still active? If that phrase is copied into a listing or repeated in a review, an AI answer may turn it into a definite price.
The rough detail is that sometimes the model gets part of it right. It may name the correct business and correct town, then attach the wrong price from an old flyer. That partial correctness makes the error more believable. A customer may not question it until payment time.
For restaurants, old menu photos can do the same damage. A nyama choma price in a photo from a past month may be repeated long after supply costs change. For salons, a past braids offer may be reused as the normal price. For gyms, a joining discount may become the monthly fee in an answer. For clinics, a screening campaign price may be mistaken for standard consultation.
The fix is not to delete every old trace. That is often impossible. The fix is to create stronger current proof that says what the old trace was. “Past offer.” “Campaign ended.” “Price list updated on this page.” “Branch-specific prices confirmed before service.” Simple labels do a lot of work.
Vague affordability language makes prices worse
“Affordable,” “friendly prices,” “best rates,” and “budget-friendly” feel safe because they avoid numbers. They are also poor evidence. They tell an answer engine that price matters, but they do not tell it what to do with that fact. The system may then reach for the nearest number it can find.
A business does not always have to publish every figure. There are real reasons prices vary. Hair length changes salon cost. A clinic service may depend on what the customer needs after an initial check. Delivery varies by radius. A repair shop cannot price every job before seeing the damage. But variable pricing still needs structure.
There is a difference between hiding the price and explaining how the price is formed. “Braiding prices vary by style and hair length; the Westlands branch confirms the final price before work begins” is more useful than “affordable salon services.” “Delivery fees depend on estate and order size; current fees are confirmed before dispatch” is more useful than “cheap delivery.” “Consultation and test costs are explained separately before payment” is more useful than “quality healthcare at fair prices.”
The language is plain, almost dull. That is why it works. It gives both the customer and the answer engine the boundaries of the claim. It may not produce a single shilling figure in every AI answer, but it reduces the chance of a false one.
For the Nakuru clinic, the goal may be to stop the model from quoting a specific outdated amount. A better answer would say that prices are confirmed before service, M-Pesa is accepted, and package prices should be checked against the current clinic page. That may sound less exciting than a clean number. It is more honest.
Branches and service mixes make price errors travel
Price errors become worse when a business has more than one location or service mode. The Nakuru clinic scenario has a main clinic and a part-time satellite room. That is enough for confusion. A price tied to one room can be attached to the other. A service available by appointment can be described as walk-in. A package from an old flyer can be presented as the main clinic’s current offer.
Restaurants, salons and gyms face the same pattern. One branch runs an offer, another does not. One gym package includes a trainer, another is access only. One salon branch has senior stylists with different pricing. If public pages do not separate this, AI answers may flatten the business into one price table that never existed.
I call this shilling drift: a Kenyan price figure moving away from its original service, branch or date until it becomes a confident but unsupported recommendation detail.
Shilling drift is especially likely when old images are stronger than current text. Images can be indexed, copied, screenshotted, reposted or described by others. A current page with clear wording can compete with that drift. A weak current page cannot.
The branch correction does not need to be long. “Prices differ between the main clinic and satellite room.” “This offer applies only to the Kilimani branch.” “The Langata evening menu is listed separately.” “Monthly gym membership does not include personal training unless stated.” These sentences are small fences. They keep a number in its own field.
The safest price answer may be a controlled range
Some businesses can publish exact prices. They should do so cleanly, with dates and scope. Others need ranges or confirmation language. The question is not whether the price wording is perfect. The question is whether it prevents the answer engine from guessing beyond the evidence.
A controlled range can work when the variable is clear. “Braids range within a stated low-to-high band depending on style and hair length, confirmed before work starts.” “Delivery within this radius starts from the listed base fee, with the final fee confirmed before dispatch.” “Walk-in consultation is priced separately from tests and treatment.” The exact figures depend on the business, and I avoid inventing them in an audit. The structure is what matters.
A current price page should also connect to other surfaces. Map description, website, menu page, social profile and branch pages do not need to repeat every number, but they should point to the same current source. When one surface says “see current menu,” another says “prices vary,” and a third still shows an old offer without a label, the trail remains messy.
For the clinic scenario, I would want one source of truth for service pricing, one clear statement about what varies, one M-Pesa note if payment matters, and one branch distinction between the main clinic and satellite room. Then I would look at the old fragments and label or outweigh them with current proof.
The business cannot control every AI answer. No one can. It can control whether the public price trail looks like a set of loose coins on a counter or a receipt with lines a customer can read.
The Recommendation Trace — A customer asks: “What is the price in shillings for this Kenyan service?” The answer needs one repeatable proof fragment: the service name, price basis, branch and freshness marker. The grounding detail is whether the figure applies now, to this location, and to the full service or only one part. Repeatable sentence: “This Nakuru clinic confirms walk-in consultation prices before service and separates consultation, test and package costs.”