NotionCue
AI Visibility Platform
All systems live
Sign in →
AEO Guidellms.txt GeneratorRobots.txtBLUF TemplatesBlogChangelogAbout
← Blog
AEO StrategyJul 17, 2026·8 min read

Your Pricing Page Is Answering a Question You Never Wrote Down

How much does it cost is one of the highest intent questions anyone can ask, and it is increasingly asked to an AI rather than typed into a search box. If your pricing lives behind a contact form, something else is answering on your behalf.

SS
Sudhir Singh
Senior SEO & AEO Specialist · NotionCue
💰

Pricing questions have a property most queries do not. The person asking has already decided they want the thing. They are working out whether they can afford it, which is the last question before a decision.

When that question goes to an AI system and your page says contact us for a quote, the system does what anyone would do. It finds an answer somewhere else. A review site with outdated figures, a competitor's comparison page, a forum thread from two years ago. Something always answers.

Hidden Pricing Does Not Stay Hidden

The argument for gating pricing is that it qualifies leads and protects you from competitors. Whatever merit that had, it assumed the only way to find your price was to ask you.

That assumption broke a while ago. Review platforms publish pricing. Comparison sites publish pricing. Customers mention what they pay in forums and podcasts. If you sell software at scale, your approximate pricing is already public, assembled from sources you do not control and cannot correct.

So the real choice is not between disclosed and undisclosed. It is between your number and somebody else's guess at your number. Given that framing I would publish, and I recognise this is genuinely contested for enterprise sales motions where pricing is negotiated per deal. The B2B SaaS guide covers where that tension sits in a longer sales cycle.

What to Do If You Genuinely Cannot Publish a Number

Some businesses cannot. Deal size varies by an order of magnitude, pricing is contractual, sales leadership will not agree. Fine. There is still a version of this that beats contact us.

Publish the structure without the figure. What are you charging for, per seat, per usage, per site. What tiers exist and what separates them. What drives cost up or down. Whether there are implementation fees. What a typical engagement range looks like even loosely.

That gives a retrieval system something factual to work with and it answers most of what the question was actually asking. Someone wanting to know whether you are a thousand dollar or hundred thousand dollar decision gets an answer, which is usually the real question underneath how much does it cost.

The Number Has to Be in the HTML

This trips up more sites than the disclosure decision does. Pricing pages are frequently built as interactive components with toggles for monthly and annual, sliders for seat count, and currency switchers. Those are usually JavaScript, and if the figures only appear after that JavaScript runs, a non rendering crawler sees a page about pricing containing no prices.

The situation is exactly the one in the SSR versus CSR guide, and pricing pages are among the worst offenders because the interactivity feels essential to the design.

Ship a default state in the server rendered HTML. One currency, one billing period, real numbers present in the markup. Let JavaScript enhance from there. The interactive experience survives and the page stops being blank to crawlers.

Offer Schema Is the One Schema Type Worth Prioritising Here

Prices in Offer schema are unambiguous in a way prose is not. A parser reading "starting at forty nine" has to work out currency, period, and unit. A parser reading structured Offer data does not.

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "NotionCue Growth",
  "description": "Citation tracking across five AI engines for up to 250 prompts.",
  "offers": {
    "@type": "Offer",
    "price": "149.00",
    "priceCurrency": "USD",
    "priceValidUntil": "2026-12-31",
    "availability": "https://schema.org/InStock",
    "url": "https://notioncue.com/pricing"
  }
}

The priceValidUntil field matters more than teams expect. It tells a system how long to trust the figure, which is a hedge against your old price being quoted indefinitely after a change. Set it and update it.

For tiered pricing, use an AggregateOffer with low and high price, or separate Offer objects per tier. Both are valid. Separate objects are clearer when tiers differ in what they include, as covered in the schema markup guide.

Stale Pricing Is Worse Than No Pricing

A price that changed six months ago and still sits in your schema is actively misleading. Someone gets quoted the old figure by an AI, arrives expecting it, and discovers a different number. That is a worse first interaction than having found nothing.

This is the freshness problem from the content decay guide with unusually direct consequences, because the damage lands on a specific person in a specific sales conversation rather than showing up as a diffuse ranking effect.

Pricing changes should trigger a schema update in the same deploy, not a follow up ticket. If your pricing lives in a CMS field that feeds both the visible page and the schema, that happens automatically. If schema is hardcoded separately, it will drift, and it always drifts in the direction of the old number persisting.

Comparison Queries Are Where Pricing Pages Earn the Most

People rarely ask what one product costs in isolation. They ask how two compare, which is the query shape covered in the data tables guide.

A pricing page with a real semantic table comparing your tiers is directly usable for that. A pricing page built from styled divs is not, regardless of how clear it looks to a person.

I would also state plainly, in one sentence somewhere on the page, which tier suits which situation. Machines extract sentences more reliably than they infer recommendations from a grid, and it is the sentence a comparison answer will quote.

Free Tiers and Trials Should Be Explicit

Whether a free option exists is its own query class and it gets asked constantly. Make the answer unambiguous rather than leaving it implied by a tier named Starter that happens to cost nothing.

State it in text. Free tier, no card required, these limits. Then mirror it in schema with a zero price Offer. A page where the free option is a visual badge on a pricing card and nothing else is a page where the answer exists only in the design.

Checking What Gets Quoted

Ask an engine what your product costs and see what comes back. Wrong figures, competitor figures, or a shrug all tell you something specific and they have different fixes.

The NotionCue Citation Tracker can carry pricing prompts alongside your other tracked queries, which surfaces both whether you are the source and whether the quoted number is current. Those diverge more often than teams expect after a price change.

Start your free NotionCue trial and add pricing prompts explicitly. They are usually missing from tracked sets and they sit closest to revenue.

Fastest check available: ask ChatGPT and Perplexity what your product costs, right now. If either quotes a figure you no longer charge, that number is being given to prospects today and you did not know.

Common Questions

Does publishing pricing help competitors more than customers?
Competitors already know your pricing. They ask for quotes, they read review sites, they talk to your churned customers. The information asymmetry that gating protects is mostly imaginary at this point.

What about regional pricing in multiple currencies?
Serve one as the default in server rendered HTML with schema, and handle the rest through the multi region approach in the multilingual guide. Do not leave the default state empty pending a geo lookup.

Should I mark up custom enterprise tiers?
Only with a real number or range. Marking up a tier as Offer with no price adds nothing. Describe the structure in prose instead and leave schema to the tiers you actually price.

Share this post
Check your AEO score
Scan your domain free — get your AI visibility score across 5 LLMs in 30 seconds.
Scan my site →
SS
Sudhir Singh
Senior SEO & AEO Specialist · NotionCue

Senior SEO and AEO specialist with 12+ years across e-commerce, global education, and healthcare. Building Notion Cue to track brand citations across ChatGPT, Perplexity, Gemini, and AI Overviews.

View all →
Get AEO updates weekly.

Citation shifts, algorithm changes, and what's actually working.