An Assistant Said a $29 Tool Starts at $83. We Checked 30 Prices Against the Vendors' Own Pages.
We asked an assistant the price of 30 AI visibility tools and checked every answer against the vendor's own page. 13 of 20 right, and 4 invented prices.
A buyer asks an assistant what a tool costs. The answer says it starts at $83 a month. The vendor’s own pricing page says its cheapest plan is $29. Nobody lied, no number was invented, and the answer cites three respectable sources. This is what that failure actually looks like, and how often it happens.
We asked an assistant the price of 30 vendors and checked every answer against the vendor’s own page the same day. We ran it twice, and doubling it killed one of the two things we had predicted.
Disclosure and method: EchoWi sells AI visibility measurement and every vendor named here is a competitor. So the method is mechanical: one question per vendor,
How much does {vendor} cost per month?, Gemini, United States, English, 22 August 2026, in two batches whose vendor lists, deciding statistics and retraction thresholds were written down and committed before the first call of each. Every published figure was read off the vendor’s own pricing page that day, several rendered in a browser because a plain fetch returns the page without its numbers. The design, the deciding statistic and both predictions were written down and committed before the first call, and anyone can repeat this against us with the same fourteen questions.
The short version
- 13 of the 20 vendors that publish a price got that price right. The first ten ran at 8, and widening the sample brought it down to 65 %, not up.
- 4 of the 10 vendors that publish no price got one invented for them, and that number retracts what the first batch said. With four vendors it was zero; with ten it is four, and which four is the useful part.
- Being cited is not the same as being right, and it does not even correlate. 3 of the 6 wrong prices cite the vendor’s own page while printing somebody else’s number, and 4 of the 13 right ones never read the vendor at all.
- 3 of the 30 answers priced a different company. A guitar bridge, an aerial imagery service and three products that merely sound alike. Your name is part of your pricing page’s problem.
- Google’s own surfaces answered nothing. AI Overview returned no answer to this question shape at all, and AI Mode returned a list of links.
The $83 that is really $29
Opttab publishes a pricing page with a monthly and an annual view. The cheapest plan, Lite, is $29 a month billed monthly and $25 billed annually. The second tier, Starter, is $99 and $84.
The answer says the product starts at $83 per month, and cites three software directories: Software Advice, Capterra and an AI tool index. It cites the vendor not once.
So the figure is wrong twice over. It is the wrong tier, because $83 is nearest the second plan and not the first, and it is the wrong number for that tier too. Against the cheapest plan a buyer could actually pick, it overstates the entry price by 186 %.
If you are shopping, that is the difference between a tool you try on a card and a tool you take to a budget conversation.
The other failure gets the shape right and the money wrong
Peec AI is more interesting, because the answer is mostly excellent. It returns a four-row table. The tier names are right. The prompt counts are right: 50, 150, 350. The model counts are right. It cites the vendor’s own pricing page.
Every price in it is wrong. The cheapest plan on the vendor’s own page is 70 EUR and the answer states 95 USD.
| On the vendor’s page | In the answer | |
|---|---|---|
| Starter | €70 | $95 |
| Pro | €180 | $245 |
| Advanced | €360 | $495 |
The page prices in euros and shows annual billing only. There is no monthly rate anywhere on it and no dollar sign anywhere on it. The answer leads with a monthly dollar ladder, and the numbers it prints match what a third-party reviewer publishes rather than what the vendor does.
This is the failure mode worth naming, because it does not look like one. A confident table with the right structure, the right feature counts and the vendor’s own URL underneath reads as authoritative. The only way to catch it is to open the page.
We asked the same twenty in Germany, and the prediction died the other way
Everything above is one market. So the last axis left was the market itself, and the design went in with a written prediction: Germany would be worse, because less has been written in German about American vendors and a directory fills the gap. I put the number at 8 or fewer of 20, and set 13 or more as the line where that reading dies.
It came in at 15 of 20, higher than the 13 the same twenty scored in English.
Paired vendor by vendor, that is 12 right in both, 3 right only in German, 1 right only in English, and 4 wrong in both. The three Germany got right are the three worst English failures: the vendor whose second tier was named as its entry price, the vendor whose own page was cited while a figure that appears nowhere on it was printed, and the vendor an English answer said has no monthly subscription at all.
So the claim this kills is the intuitive one. Accuracy is a property of the vendor’s page and the sources around it, not of where the buyer is standing. The same page, the same day, two markets, and the market is the thing that did not matter.
The one Germany got wrong is the one that changed currency
Exactly 1 of the 20 German answers converted. The vendor charges 80 dollars a month and publishes that in dollars; the directory the answer leaned on lists dollars too; and the answer printed 99 euros. It is the only new error the German arm introduced, and it is the only answer that localised the money.
The third prediction was that this would be common: 5 or more of 20 in euros. It was 1, so the currency follows the vendor’s page and not the asker, which is the reassuring version and worth saying plainly. One answer even added the correct caution, noting the prices are in dollars and to allow for exchange fees.
The counter-example runs the other way and is sharper for it. Asked in German about a vendor that charges euros, the answer cited a German review site whose page says 85,00 euro, and stated a range in dollars. A euro price went through a German source and came out in the wrong currency.
The collisions are half local and half not
Germany produced 2 answers about a different company against 1 in English. One of the two is a German-market collision: asked about a vendor whose name is four letters, the answer priced a Chinese AI assistant and a German probiotic brand and never mentioned the vendor once, where the English answer had found the company and merely got its price wrong. The other collides identically in both languages, so that one belongs to the name and not to the market.
Underneath, Germany disambiguated far more often: a Swatch watch, a wireless carrier’s lookalike, motorcycle radar hardware, a speech synthesis company, a family of search APIs. It got the right company every time it did so, which is the behaviour you would ask for, and it is also a measure of how crowded these names are outside the category.
Why the two failures are different, and why that matters
There are six wrong prices across the two batches, and they do not share a cause. Here is where it stops being a story about assistants and starts being a story about pages.
Peec AI’s prices do not exist until JavaScript runs. Fetch the pricing page the way most automated readers do and you get a wall of text with not a single currency symbol in it. Render it in a browser and the euros appear. Anything reading that page without executing scripts sees a pricing page with no prices, and has to get its numbers somewhere else.
Opttab’s prices are right there in the HTML. Fetch the page plainly and $25, $29, $84, $99, $415 and $499 all come back. The page did everything right, and a directory’s number won anyway.
So there is no single fix, and pretending there is would be the easy version of this article. Making your price machine-readable is necessary and it is not sufficient. The second failure says that even a plainly published number can lose to an aggregator that repeats an older or wrong one, because the aggregator has the authority the assistant is reaching for.
We doubled it, and the better half of the finding died
The first batch was ten vendors with a published price and four without. Both numbers in it were a claim about ten and four as much as about the category, so the second batch doubled the axis the headline counts: ten more with a price and six more without, picked by most recent verification date and listed before anything was asked, with the thresholds for retracting each claim written down first.
One survived and one did not.
| First batch | Both batches | |
|---|---|---|
| Published price stated correctly | 8 of 10 | 13 of 20 |
| Invented a price for a vendor with none | 0 of 4 | 4 of 10 |
The accuracy claim held at the bottom of its band: I had said it would stay at 12 or more of 20 and it came in at 13, so “assistants usually get a published price right” survives, at 65 % rather than 80 %.
The other one is retracted. With four vendors, none got a price invented. With ten, four did. If you read the first version of this article, that is the sentence that changed.
Who gets an invented price, and it is not random
The four vendors that got a number invented for them are not a random four. Look at which vendors were in each batch and the pattern is hard to miss.
The first batch’s unpriced four were the loudest names in this category. That they do not publish pricing is itself widely written about, so the answer has plenty of material saying exactly that, and all four answers said it.
The second batch’s unpriced six are smaller. For those, nobody has written the sentence “they do not publish a price”, so the gap gets filled from wherever a number exists: a software directory, a comparison listing, a review index. One of them arrived to the cent, 349.99 a month, for a company whose site carries no figure at all. Another quoted 17 per editor per month from a comparison page. A third named 800 a month for a product while citing that product’s own pricing page, which says to book a demo.
So the actionable version is uncomfortable and specific: not publishing your price is only safe if you are famous enough that your not publishing it is itself documented. Below that line, the silence gets filled in for you, and the number that fills it is one you did not choose.
Three of the thirty answers priced a different company
This was not what the study set out to measure and it is the finding a founder will feel fastest.
- Ask what one vendor costs per month and the answer prices a guitar bridge, because a hardware company owns the same name. It gets there eventually, noting the software separately.
- Ask about another and the answer prices aerial imagery per acre and seismic equipment rental. The vendor is not mentioned once.
- Ask about a third and the answer prices three products that merely sound similar, then asks, in its own words, whether a different tool of that name was meant. It is the only answer in thirty that says it did not find the company.
Others found the right company but had to separate it from a beverage brand, a reggae artist, a wireless carrier and an engine diagnostic package first.
None of that is a pricing failure. It is a naming one, and it is upstream of every other thing you could do to your pricing page: an answer that is about somebody else cannot state your price correctly no matter how cleanly you publish it.
What actually predicts a right answer, and it is not what you would guess
The obvious theory is that answers are right when they read the vendor and wrong when they do not. It does not hold.
4 of the 13 correct answers never cite the vendor at all. One is sourced from Trustpilot, a revenue tracker and a YouTube short. One comes from a single independent reviewer. One is sourced entirely from a competitor’s blog post and still lands inside the right band. All of them are right.
And 3 of the 6 wrong answers cite the vendor’s own page while printing somebody else’s numbers. One of those states a figure that appears nowhere on the page it just cited.
Half the wrong answers read the vendor and half the right ones did not, which is as close to no relationship as a sample this size can show. What decides is simply whether the third party the answer leaned on happened to be right. Which is a less satisfying mechanism and a more useful one: you do not control whether you are cited, but you do control whether the people who get cited about you have your current number.
And we re-read the sources, because the price itself cannot be re-read
Everything above is one reading per vendor. The obvious way to test that is to ask again, and it does not work: repeat the same question and the answer comes back from cache. The tool that does bypass the cache returns the aggregate and not the answer text, so whether a stated price repeats is not measurable with anything we have. That stays a limit rather than something to work around.
What is measurable is which sources the answer leans on. Nine of the vendors, three runs each, cache bypassed: 3 of the 9 never see their own domain cited at all, in any run, on a question that is literally about their own price. Six of the nine have some third party cited in every single run.
And the control is the part that matters. Among the wrong answers, the vendor’s own domain keeps up with the top third party in 2 of 6. Among the right answers, 1 of 3. The same proportion. So being outranked by a directory on your own pricing question is not what causes a wrong price: it is the normal condition of this category, and it happens just as much when the answer is correct.
The part where we were wrong about ourselves
This study caught one of our own entries.
Our catalogue records an entry price for every vendor that publishes one, read off the vendor’s page with the URL and the date it was read. On 7 August we recorded Peec AI as publishing no price, because on that day its pricing page carried four named plans and a “Talk to Sales” button with no figures.
It publishes prices now. The reading was correct and the world moved, which is a different thing from an error and gets a different fix: the date and the number, not the method. But our review of that vendor led on the missing price, in two languages, and the German headline was literally the claim that they name no price at all. Both are corrected, dated, with the old claim stated so a reader who saw the earlier version knows what changed.
It is worth saying plainly because it is the same failure we are measuring in somebody else. A price you verified is a fact about the day you verified it.
What this changes if you sell in this category
- Publish the number, and publish it in the HTML. If your price only appears after your scripts run, every reader that does not execute them sees a pricing page without prices, and the number that fills the gap will be somebody else’s.
- Publish the monthly figure as well as the annual one. A page that shows only annual billing invites the answer to invent a monthly one, and here the invented one arrived in the wrong currency as well.
- Know which aggregators carry you, and check what they say. 4 of the correct answers here never read a vendor page, and every invented price came from one. The directories are doing the work whether you like it or not.
- If your name collides with something else, say what you are on the page. Three answers in thirty priced a different company, and no amount of pricing hygiene reaches that.
- Check the answer, not the ranking. Being cited is not the same as being described correctly, and a wrong number in a confident table costs more than not appearing.
If you want that checked on your own product rather than on this sample, that is what our platform does, and the full register of these 30 readings is public so you can see the shape of the check before you buy anything.
What this does not show
30 vendors and 50 readings, one question each, one surface, 2 markets, one day. This is a proportion over vendors and not a rate over runs: each vendor was asked once, so a cell that is right today might not be tomorrow, and the honest unit here is how many vendors got a right answer rather than how often any one of them does.
Gemini rather than ChatGPT, because that call does not complete by this route, and rather than Google’s own surfaces because they did not answer at all. That is recorded rather than worked around: AI Overview returned nothing to this question shape twice, and AI Mode returned a link list rather than a synthesised answer. A silence is a reading.
The sample is also not random. The 20 with published prices are the ones whose figures we had verified most recently, chosen so that “our data is stale” could not explain a mismatch, and every one of the 30 pages was read again on the day. The unpriced ones were chosen for prominence in the first batch and by the same recency rule in the second, both lists fixed before anything was asked. Neither selection is on the outcome, and both are stated so you can weigh them.
And nothing here is causal. We measured what was said and what was published, on one day.
Common questions about pricing in AI answers
How often do assistants get software pricing wrong?
Across 30 vendors, 6 of the 20 that publish a price had it stated wrongly, so 13 of 20 were correct, and separately 3 of the 30 answers priced a different company altogether. That is a proportion over vendors on one day and one surface, not a rate: each vendor was asked once. What the sample does support is that the failures were not random noise. Both wrong answers printed a number that a software directory publishes, rather than one that nobody publishes.
Do assistants invent prices for vendors that do not publish them?
For 4 of the 10 in this sample, yes. The first four we asked all got an answer saying plainly that there was no public price, and that is what the earlier version of this article reported. Widening to ten changed it: the four that got a figure invented are the smaller names, and the four that got an honest “they do not publish” are the ones whose not publishing is itself widely written about.
Does citing the vendor’s own page mean the price is right?
No, and this is the most useful single finding here. 3 of the 6 wrong answers cite the vendor’s own page and print somebody else’s numbers next to it. Meanwhile two correct answers never touch a vendor page at all, sourcing from a review site, a revenue tracker and a video. Citation and accuracy are separate things, and checking only whether you were cited will not tell you whether you were described correctly.
What should I do if my pricing page loads its numbers with JavaScript?
Put the numbers in the HTML. One of the two vendors that got a wrong price serves a pricing page whose text contains no currency symbol at all until scripts run, so any reader that does not execute them sees a pricing page with no prices and fills the gap from elsewhere. That said, it is necessary and not sufficient: the other wrong answer belongs to a vendor whose prices are plainly in the raw HTML, and it lost to a directory anyway.
Why measure this on Gemini rather than ChatGPT or AI Overview?
Because those are what answered. AI Overview returned nothing at all for this question shape, twice, and AI Mode returned a list of links instead of a synthesised answer, so there was no priced statement to check on either. ChatGPT does not complete by this route. A surface that declines to answer is recorded as declining rather than worked around, because a silence is a reading and pretending otherwise would put a zero where there is no measurement.
How do I check this for my own product?
Ask an assistant what your product costs, then open your own pricing page next to the answer and compare the entry tier, the currency and the billing period. Those three are where both failures here happened. If you want it run continuously and across surfaces rather than once by hand, that is what our platform measures, and the full register shows the shape of the check.
Ask an AI about this article
Opens your assistant with this page already loaded, so you can check the numbers, argue with the method or ask what it means for you.
- ChatGPT (opens in new tab. the question is pre-filled, press enter to send it)
- Claude (opens in new tab. the question is pre-filled, press enter to send it)
- Perplexity (opens in new tab)
- Google AI Mode (opens in new tab)
Perplexity and Google answer straight away. ChatGPT and Claude fill the box and wait for you to press enter, which is their behaviour and not something we can set.