Guide · Pricing page

How should a pricing page be written so AI answers your price correctly?

Updated 2026-11-06 · kagentx

Short answer

Write the price, currency, billing period, what each tier includes and its limits, upgrade rules, refund policy and update date as text on the page, then write the same numbers in Offer structured data. The commonest reasons AI gets a price wrong are that the price is not in the raw HTML, the same product is written differently in several places, or a third party's old price is cited; the last two are observation and inference, not rigorous experiments.

What belongs on a pricing page so AI answers correctly?

Price, currency, billing period, what each tier includes and the update date: write these five as text on the page. If one is missing, AI can only guess. Here is the item-by-item list.

ElementHow to write itWhat happens without it (inference)
Plain-text priceWrite $19 as text, not only in an image or a pop-up that needs a clickThe price can't be read, so an old price from elsewhere gets quoted
CurrencyWrite the currency code or symbol and say whether tax is includedCan't tell dollars from another currency
Billing periodState "one-time", "monthly", "yearly" or "per seat per month" outrightA one-time price gets answered as a monthly fee, or the reverse
What each tier includes, and its limitsList each tier's quantities, seats and feature caps in a tableCan't answer "which tier is enough"
Upgrade and repeat-purchase rulesState the price difference to upgrade and how renewals are chargedCan't answer how much it costs to upgrade from a lower tier
Refund policyState in one sentence whether refunds are possibleNo sentence to quote when a user asks "can I get a refund?"
Update dateWrite "prices updated 2026-11" on the pageCan't tell which price is the newer one
Structured dataOffer's price and priceCurrency, matching the page textThe machine-readable version and the page disagree and contradict each other

"What happens without it" in the table is inference: nobody has published why AI gets prices wrong. Only one item has an official basis: Google's merchant listing documentation requires a price above 0 and a three-letter ISO currency code, and structured data must match the visible page text.

What commonly makes AI get a price wrong?

CauseHow to spot itWhy
The price is in an image or needs scripts to renderFetch the page with curl and search the raw HTML for the priceCrawlers read the raw HTML the server returns
The same product shows different prices on different pagesSearch every page on the site that shows a priceInference: when sources contradict each other AI picks one, and which one is not controllable
A third-party article shows an old priceAsk AI the price and see who it citesObservation: AI quotes prices from roundups and reviews
A plan was renamed or removed but the old page remainsCheck whether the old URL 301-redirects to the current pageInference
It only says "contact sales"Ask AI what this tier costs and see how it answersThere is no number to quote, so it gives a range or does not answer

Of the "basis" column, only the first row has been checked by us; the rest are observations or inferences, not rigorous experiments. For whether crawlers run scripts see Do AI crawlers render JavaScript?.

What do two real pricing pages look like?

We read the raw HTML of kagentx's pricing page and MochiStamp's pricing section on its home page on 2026-11-06.

Itemkagentx /pricing/MochiStamp #pricing
Is the price text?Yes: $1, $19 and the $18 upgrade are in the body, and also in the title and descriptionYes: the four credit packs $5.99, $16.99, $26.99 and $59.99 are in the body
Currency and taxUS dollarsUS dollars, tax included, with approximate yen amounts
Billing periodStates it is one-time, no subscription, no auto-renewalStates one-time credit packs, no subscription
Structured dataNone on the pricing pageThe home page has an AggregateOffer: US dollars, lowest 5.99, highest 59.99, 4 offers, matching the four packs
Update dateNone on the pageNone on the page
Standalone pageYes, /pricing/No, it is a section of the home page; /en/pricing returns 404

Both pages fall short: kagentx's pricing page has no structured data and no update date, and MochiStamp has no standalone pricing page and no update date. We say so because these are exactly the two items most easily missed in the list above.

How do you write prices in structured data?

SoftwareApplication's offers can hold several Offers, each with name, price and priceCurrency. Google's software app documentation does not mark price as required, but one of aggregateRating or review is needed for rich result eligibility (checked 2026-11-06). The price numbers must match the page exactly.

{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "Your Product",
  "applicationCategory": "BusinessApplication",
  "offers": [
    { "@type": "Offer", "name": "Starter", "price": "19.00", "priceCurrency": "USD" },
    { "@type": "Offer", "name": "Team", "price": "49.00", "priceCurrency": "USD" }
  ]
}

For more types see Does structured data help AI search?; for ecommerce Product fields see How do you get ChatGPT to recommend your product on an export-focused independent store?.

How do you check when you're done?

  1. 1. Fetch the pricing page with curl and search for each price

    If every price can be found in the raw HTML, crawlers can read it.

  2. 2. Check that structured data and body text carry the same numbers

    If they differ, fix the page first and then the markup.

  3. 3. Ask AI: "How much is X? How many tiers does X have? How much to upgrade from the lower tier?"

    Ask several times, noting the number it gives and the URL it cites. If it is wrong, look at the page it cited.

  4. 4. When a price changes, update the page, the markup and the sitemap lastmod together

    For how to restructure see How to write content AI will quote: before and after; for the overall SaaS approach see How do you get a SaaS product visible in AI search?.

FAQ

How do I write a pricing page so AI answers the price correctly?

Write price, currency, billing period, what each tier includes and the update date as page text, and make the structured data match the body.

Can the price live only in an image?

Not recommended. Crawlers read the raw HTML, so a price in an image cannot be read.

Should I add Offer structured data?

Yes. The price numbers must match what is visible on the page exactly; a mismatch is worse than none.

Why does AI quote an old price?

Commonly a third-party article shows an old price, or your own pages disagree. There is no official explanation; this is observation and inference.

Should a pricing page show an update date?

Yes. With a date, readers and AI can tell which price is the newer one.

Sources

kagentx

Do AI answers
mention you?

An evaluation asks ChatGPT, Perplexity and Claude your buyers' questions (with web search on) and records who they recommend, which pages they cite and whether you are among them. Basic $1, results usually in 2–3 minutes.