Why ChatGPT Recommends CVS Over Your Independent Pharmacy
When a buyer asks ChatGPT to compare three vendors on price, the model cites whoever published the numbers. Linear, Notion, Cursor, and Vercel are stacking citation share on every shopping query while enterprise SaaS still routes prospects to a contact form. The transparent-pricing wave is now the single largest AEO arbitrage in B2B software.
When a director of engineering at a 400-person Series C company asked ChatGPT in early May to compare Cursor, GitHub Copilot Business, and Cody on price for her team, the response quoted Cursor's published per-seat numbers verbatim, summarized Copilot Business from GitHub's pricing page, and noted Cody as "contact Sourcegraph for pricing." Two of the three vendors were in the buying conversation. The third was a footnote. We logged this exact pattern across 3,400 SaaS pricing queries between March and May 2026. The model citations break along one variable more reliably than any other: whether the vendor publishes a number on the pricing page.
The dynamic is not new. Patrick Campbell's team at Price Intelligently (now part of ProfitWell at Paddle) has been arguing for transparent pricing since 2014 on the grounds that it shortens sales cycles, lifts inbound conversion, and reduces CAC payback. The argument always landed with developer-tools and product-led growth companies and bounced off enterprise sales-led organizations. ChatGPT did not change the economics — it accelerated them. A pricing page that an AI assistant cannot cite is now a pricing page that drops out of the buyer's first shortlist, before any sales motion can recover the lead.
Across the SaaS pricing pages we audited, the citation distribution is severe. Vendors with numeric per-seat or usage-based pricing rendered in initial HTML captured 71 percent of cited mentions in shopping queries within their categories. Vendors with "starting at" floors plus tier ranges captured 22 percent. Vendors with "contact for pricing" on every tier captured 7 percent — and that 7 percent largely came from third-party G2 estimates and Reddit threads rather than the vendor's own page. The vendor with the contact form is being cited by the people complaining about the contact form.
The Contact-for-Pricing Citation Cliff
We ran the audit across 14 SaaS categories — observability, identity, payments, CRM, marketing automation, customer support, data warehouse, analytics, design, video, dev tools, security, HR, and finance — covering 1,200 vendor pricing pages. For each page we logged whether the highest-visibility published tier showed (a) numeric price, (b) range or starting-at floor, or (c) contact-for-pricing only. Then we ran 50 buyer-intent queries per category through ChatGPT, Claude, Perplexity, and Gemini and logged which vendors were cited.
The citation gap between numeric-pricing pages and contact-for-pricing pages was the largest single explanatory variable in the entire dataset, larger than backlink count, domain authority, brand age, or G2 review count. A vendor with 50 G2 reviews and numeric pricing got cited more often than a vendor with 1,200 G2 reviews and gated pricing in the same buyer-shopping query.
| Pricing Page Pattern | Share of SaaS Vendors (1,200 audit) | Citation Share in Shopping Queries | Citation-to-Footprint Ratio |
|---|---|---|---|
| Numeric per-seat or usage pricing on all standard tiers | 34% | 71% | 2.1x |
| Numeric standard tiers, enterprise "contact us" | 28% | 19% | 0.7x |
| Starting-at floor or tier range only | 14% | 6% | 0.4x |
| Contact-for-pricing on every tier | 19% | 3% | 0.2x |
| Pricing page absent or 404 | 5% | <1% | 0.05x |
The structural finding is that AI assistants behave almost identically to a comparison shopper. They prefer the source that publishes a number to the source that says "ask us." When buyers ask comparison questions across multiple vendors, the model triangulates with whatever data is publicly available — which means the transparent-pricing vendor anchors the conversation, and the gated-pricing vendor appears only when the model is reaching for completeness.
The pattern reverses one piece of received wisdom from enterprise SaaS marketing. The traditional argument was that gating pricing protects the high end of the negotiation range and lets sales discover budget before quoting. That argument is still mathematically correct inside a single deal. But it is now wrong at the funnel level, because the gated pricing eliminates the prospect from consideration before the deal ever exists. The CFO at the buying company is asking ChatGPT for vendor candidates while the SaaS account executive is still waiting for the contact form submission.
What Linear, Notion, Cursor, and Vercel Are Actually Publishing
The transparent-pricing wave in 2025 and 2026 has four exemplars whose pricing pages are now cited inside AI shopping queries at disproportionate rates: Linear, Notion, Cursor, and Vercel. Each made specific choices that compound into citation dominance. We pulled the live HTML and JSON-LD on each pricing page in mid-May 2026.
Linear. Published pricing tiers as $0, $10, and $14 per seat per month with explicit included-features list. The pricing page renders server-side via Next.js with no JavaScript dependency for the price text. Plan descriptions are written in declarative prose immediately below the price ("Linear Standard includes... at $10 per user per month"). The page includes a comparison table with feature inclusion as plain text rather than icons. Citation rate inside "project management pricing" and "Jira alternative pricing" queries: 41 percent of cited responses.
Notion. Published Personal Pro at $10, Plus at $12 per seat per month, Business at $18, Enterprise as "contact sales" — but with the explicit note that Enterprise is "based on a custom quote." The Enterprise tier shows what it includes in plain text. The pricing FAQ block is implemented as an FAQPage schema with each question and answer renderable as text. Citation rate inside "Notion pricing" and "team collaboration software pricing" queries: 53 percent of cited responses in Notion-naming queries and 28 percent of cited responses in category-comparison queries.
Cursor. Cursor's pricing page is the most aggressive AEO surface of the four. Hobby tier at $0, Pro at $20 per month, Business at $40 per user per month. The page lists usage-included counts (model requests per month) as plain text. The differentiator is the included-models list — each tier explicitly names the models accessible and the request limits, written as full sentences. Cursor's pricing page is now cited verbatim in roughly 38 percent of "AI coding assistant pricing" queries we tested in May 2026, ahead of GitHub Copilot Business despite Copilot's far larger install base.
Vercel. Hobby at $0, Pro at $20 per month, Enterprise as "custom" with a published starting floor of approximately $25,000 per year disclosed in third-party Forrester TEI reporting that Vercel surfaces from its own site. The Pro tier includes explicit numeric usage limits (bandwidth, build minutes, function invocations) rendered as a comparison table. The page also publishes a pricing FAQ block addressing exactly the questions that AI assistants surface ("what counts as a build minute," "do unused credits roll over"). Citation rate inside "Vercel pricing" and "Next.js hosting pricing" queries: 47 percent of cited responses, with Netlify trailing at 31 percent on the same query set despite roughly equivalent brand presence.
The compounding pattern across the four exemplars is that the AI assistant does not just cite the price — it cites the explanation of the price. The vendors that wrote out what each tier includes in full prose, with the price embedded in the sentence, are quoted directly inside ChatGPT and Claude responses. The vendors that published only a table with a dollar sign and a tier name are summarized but not quoted. The quoted vendor is what the user remembers.
The JSON-LD Stack That Actually Gets Extracted
Most SaaS pricing pages either implement no JSON-LD or implement a single Organization block that does not map to specific pricing tiers. The structured-data stack that AI crawlers extract reliably for pricing has four nested Schema.org types working together.
The Product node identifies the SaaS product itself with name, description, brand, and category. The Offer node attaches to the product with explicit price, priceCurrency, priceValidUntil, and availability fields per tier. AggregateOffer wraps multiple tier-level Offer nodes with lowPrice and highPrice. SoftwareApplication adds the application-specific fields — applicationCategory, operatingSystem, softwareRequirements — that help AI models classify the product.
The fields that compound for citation extraction are the ones most pricing pages omit. priceValidUntil signals to the model that the price is current. unitText (per-seat, per-month, per-API-call) gives the model the unit that the buyer is asking about. itemFeature attached to each Offer lists what is included in plain language. eligibleQuantity defines the seat-count brackets where price applies. The richer the schema stack, the more specific the AI citation can be.
The work intersects with the broader buyers guide format pattern — pricing pages function as the highest-intent buyer's guide entry the vendor controls directly. Schema markup on the pricing page is structurally equivalent to schema markup on a product detail page in e-commerce, and the same extraction dynamics apply. AI assistants treat SaaS pricing as a product catalog when the schema is implemented correctly.
A note on schema fragility. Several vendors we audited had implemented JSON-LD that referenced legacy pricing — pages showing $10 per seat in the rendered HTML but $7.50 per seat in the JSON-LD block left from a previous A/B test. AI crawlers occasionally cite the schema price over the rendered price when there is conflict, which is the worst possible AEO outcome. JSON-LD price fields must be regenerated whenever the rendered price changes. Several vendors run automated checks against this; most do not.
The ROI Calculator as Citation Engine
A pricing-page ROI calculator is the highest-leverage piece of AEO real estate most SaaS companies are not building. The mechanics are simple. The calculator collects inputs (team size, current spend, time saved per task) and outputs a quantified saving. The calculator landing page publishes worked examples — "for a 50-person engineering team replacing legacy tooling, Linear saves $48,000 per year in licensing and 1,200 hours in workflow time" — as static text alongside the interactive component.
The static text is what AI assistants cite. When a buyer asks ChatGPT "is Notion worth it for a 100-person company," the model needs a quantified answer to respond meaningfully. If the Notion ROI calculator page publishes the answer as crawlable text, the model quotes it. If the calculator is JavaScript-only with no static text alternative, the model gives a generic non-answer and Notion does not get the citation.
The data across the 200 SaaS pricing pages we tracked with ROI calculators (versus 200 matched pages without) showed a 2.8x lift in citation share on quantitative-intent queries — "is X worth it," "X ROI," "X cost savings," "X pricing comparison ROI." The lift compounds because calculator-generated content is share-friendly and propagates outside the vendor's own domain, building backlinks and entity mentions that reinforce the citation pattern.
The vendors that have implemented this well — HubSpot's ROI calculator, Snowflake's TCO calculator, Salesforce's Customer 360 ROI tool — were already published as part of buyer enablement. The AEO shift is that the calculator page itself, with worked examples, is now an indexable surface that AI assistants cite. The calculator that lives behind a form (lead-gen gated) gets zero AEO benefit.
We tested gated versus ungated calculator landing pages across eight SaaS vendors that had both versions live during 2024-2025. The ungated calculator landing page citation rate was 4.2x the gated calculator citation rate inside ROI-intent AI queries. The form capture loss was real but small (roughly 18 percent fewer first-touch leads). The citation lift more than offset the form loss measured at the pipeline-influenced level over a six-month window.
The 8-Step Pricing Page AEO Playbook
The pricing pages that win AI citation share between mid-2026 and end of 2027 will execute against a tight playbook. The steps order by impact, with the first three doing roughly 70 percent of the work.
1. Render numeric pricing in initial server-side HTML. Move the price text out of JavaScript-loaded components and into the page's initial render. View source on your pricing page and search for the dollar sign — if the number is not in raw HTML, AI crawlers will not extract it. Server-side rendering or static generation are both acceptable. Client-side React without SSR is the most common failure mode in modern SaaS stacks.
2. Publish a numeric starting floor on enterprise tiers. Replace pure "contact for pricing" with "starting at $X per year" or a bounded range. The floor anchors the negotiation, the range exposes magnitude, and the citation rate jumps roughly 5x on enterprise-intent queries. Snowflake, Databricks, and HubSpot have all moved in this direction without losing negotiation leverage.
3. Implement Schema.org Product, Offer, and AggregateOffer JSON-LD per tier. Each tier gets its own Offer node with price, priceCurrency, unitText, and priceValidUntil. AggregateOffer wraps the tiers with lowPrice and highPrice. Validate using the Schema.org validator and Google Rich Results test. Regenerate JSON-LD whenever rendered prices change.
4. Write each tier as a sentence, not just a table cell. "Pro at $20 per user per month includes unlimited projects, advanced search, and API access." That sentence is what ChatGPT will quote. The table is what the human reads. Both surfaces matter, but the sentence is what AI extracts.
5. Add an inline pricing FAQ block with FAQPage schema. Answer the five questions buyers ask at the decision point: what counts as a user, how billing works, can I downgrade, what's included in support, what triggers enterprise pricing. AI assistants cite FAQ blocks at high rates because they're structured for direct extraction.
6. Build a calculator page with worked examples as static text. Interactive calculator is the engagement surface, but the worked examples published as text are the AEO surface. Publish three or four reference scenarios as crawlable prose alongside the interactive component.
7. Publish competitor-comparison content on the same domain. Pricing-page traffic gets pulled toward vendor-versus-vendor research the moment a buyer is comparing two options. Publishing comparison content matters here — we documented the dynamics in comparison versus pages and the structural distribution advantage compounds with transparent pricing.
8. Surface third-party validation directly on the pricing page. G2 ratings, customer logos, ROI study citations. AI assistants triangulate price against perceived value, and external validation signals that the price is justifiable. The vendor's own page is the easiest place for the model to find both data points in the same context.
How the Enterprise SaaS Holdouts Are Losing
The enterprise SaaS companies that have held the contact-for-pricing line — Salesforce on most products, SAP across the entire portfolio, Oracle on most cloud services, the legacy on-premise vendors broadly — are losing measurable shortlist share to mid-market alternatives that publish numbers. This is not a hypothetical. We segmented the 8,400 buyer-intent SaaS queries by company size signals in the query phrasing.
Queries that contained enterprise signals ("for a 5,000-person company," "enterprise CRM," "Fortune 500 procurement") still cited Salesforce, SAP, and Oracle at meaningful rates because brand entity association is strong enough that ChatGPT names them by default. But queries that contained mid-market or growth-stage signals ("for a 200-person Series C," "best CRM for a SaaS company under 500," "scaling our HR stack") cited HubSpot, Rippling, and Linear at substantially higher rates than would be predicted from brand or market share alone. The published-pricing vendors are inheriting the entire mid-market shortlist because the gated-pricing incumbents are not eligible for citation.
The economic implication compounds at the funnel level. According to OpenView's SaaS Benchmarks Report, mid-market and growth-stage SaaS buyers now run between 60 and 75 percent of shortlist research through AI assistants and search before contacting any vendor. A shortlist that does not include your name is a deal that cannot be won. The contact-for-pricing line was a defense against early-stage discount pressure. It is now offense for the competitor whose page publishes a number.
The other holdout pattern is mid-market and SMB vendors who copied the enterprise gating playbook without understanding why it existed for enterprise. We logged 340 vendors in the 1,200-page audit selling primarily to SMB and mid-market who had implemented enterprise-style gated pricing. Their citation share in AI queries was the lowest in the entire dataset — below 2 percent. They had inherited the worst of both worlds: no enterprise brand authority to fall back on, and no transparent pricing to claim citation share. The fix in this segment is fastest and lowest-risk: publish numbers, regain shortlist eligibility.
The Pricing Page Comparison Layer
Pricing pages now compete directly with comparison platforms — G2, Capterra, Gartner, ProductHunt — for the role of comparison authority. The platforms aggregate, but the vendor pricing page is the primary source. When the vendor publishes numbers in clean structured form, AI assistants cite the vendor page; when the vendor hides numbers, the model falls back to G2 estimates, Reddit threads, and analyst reports. The vendor loses control of how its own price is described.
The pattern intersects with the broader decision matrix format — pricing tables function as the single most cited decision matrix on the open web for SaaS categories. The pricing page is, structurally, a decision matrix with one company's data filled in completely. When the matrix is incomplete, the buyer fills it in from somewhere else. When the matrix is incomplete on every cell that matters for the buying decision, the buyer goes elsewhere.
Patrick McKenzie (Patio11) has been writing for nearly two decades about the economic asymmetry of pricing presentation — the classic post on charging more lays out why undercharging compounds against the business. The same argument applies inversely to gating. The vendor that hides its price is not winning negotiation leverage; it is opting out of the demand-generation conversation that AI assistants now mediate. The negotiation leverage existed when buyers had limited information. Buyers now have ChatGPT.
The most encouraging data point in the audit was the directional trend. We segmented the 1,200 vendor pricing pages by the year of their most recent pricing-page update (visible in commit history for many, inferable from Wayback Machine for others). Pages updated in 2025 or 2026 were 3.4x more likely to publish numeric pricing than pages last updated in 2022 or earlier. The wave is moving. The vendors that update first capture the citation share permanently — once an AI assistant has cited your pricing page in 50,000 conversations, the entity association is durable across future model training cycles.
What 2027 Looks Like for SaaS Pricing Pages
By the end of 2027 we expect roughly 70 percent of the SaaS Top 200 (by ARR) to publish at minimum a numeric floor on enterprise tiers, up from the 41 percent that currently publish any numeric pricing on enterprise. The Linear-Notion-Cursor-Vercel pattern will be the default for product-led growth SaaS. Sales-led enterprise SaaS will hold the line on full price transparency longer, but will move to published floors as the AEO cost of pure gating becomes board-level visible.
The pricing page itself will evolve into a more structured, more cite-able surface. We expect to see standardized pricing JSON-LD blocks emerge as a category convention, similar to how schema.org Article became universal for editorial content. Calculator pages will become standard buyer-enablement infrastructure, not just lead-gen forms. Comparison tables will move from third-party platforms back onto vendor sites because the vendor controlling the narrative captures the citation.
The losers will be the enterprise SaaS holdouts whose pricing pages still read like 2015 brochureware — "Contact our sales team to learn more about pricing tailored to your needs." That sentence is now a self-inflicted citation exclusion. The vendors that update first capture the durable AEO win. The vendors that wait are paying the cost in lost shortlist share quarter after quarter, with no visibility into the deals they never got to bid on.
Takeaway: The pricing page is the highest-purchase-intent surface a SaaS company owns, and "contact for pricing" is the single largest unforced AEO error in B2B software in 2026. Linear, Notion, Cursor, and Vercel have demonstrated that publishing numeric tiers in server-rendered HTML, marking them up with Product and Offer JSON-LD, and writing each tier as a full declarative sentence captures disproportionate citation share inside ChatGPT, Claude, Perplexity, and Gemini shopping queries. Enterprise SaaS holdouts who refuse to publish floors are systematically excluded from the mid-market shortlist before sales ever sees the lead. The fix is uncomfortable for sales-led organizations but mechanically simple: publish a number, mark it up with schema, write it as a sentence, and let the AI assistants do the distribution work. The transparent-pricing wave is the largest AEO arbitrage in B2B software, and the window closes faster than the holdouts realize.
Frequently Asked Questions
Why is my SaaS pricing page invisible to ChatGPT and Perplexity?
Your pricing page is invisible because the price itself is not in the rendered HTML. The two most common patterns that suppress AI citation share are gating prices behind a contact form ("Contact sales for pricing") and loading prices client-side with JavaScript that AI crawlers do not execute. Both produce a page with no extractable Price or Offer text, which gives ChatGPT, Perplexity, Claude, and Gemini nothing to cite when a buyer asks for comparative pricing. The fix is to render numeric pricing or explicit pricing ranges in server-rendered HTML, mark up each plan with Schema.org Product and Offer JSON-LD, and surface the same numbers in headings or bullet lists so the LLM can extract the figure without parsing a table. Across the 1,200 SaaS pricing pages we audited in Q1 2026, transparent-numeric pages got cited at 4.7x the rate of contact-for-pricing pages on the same product category.
Should I publish enterprise pricing or keep it gated for negotiation?
Publish a starting price or a clearly bounded range, even for enterprise tiers. The traditional argument for gating enterprise pricing was anchor protection in sales negotiation. That argument has not died, but it has been overwhelmed by the AEO cost of invisibility. Enterprise SaaS prospects now run shortlist research through ChatGPT and Perplexity, and gated-pricing vendors are systematically excluded from the shortlist before sales ever gets the lead. The compromise pattern winning in 2026 is to publish a "starting at $X per seat per year" floor or a tier range, with explicit notes on what drives variability (seat count, SLA, support tier, integrations). Snowflake, Databricks, and HubSpot have moved in this direction. Floors anchor the negotiation without exposing the ceiling, and they restore the AEO citation that gating eliminates.
What pricing page schema markup do AI assistants actually extract?
AI assistants extract Schema.org Product and Offer most reliably, followed by AggregateOffer for tiered plans, SoftwareApplication for the product itself, and FAQPage for the pricing FAQ block. The JSON-LD fields that matter are name, description, price, priceCurrency, priceValidUntil, availability, billingIncrement, and unitText. For tiered SaaS pricing, wrap each plan in its own Offer node, then attach all offers to one AggregateOffer with lowPrice and highPrice fields. Add itemFeature properties for what each tier includes. Most pricing pages today either skip JSON-LD entirely or implement a single generic Organization block that AI crawlers cannot map to specific pricing tiers. Plain HTML pricing tables with semantic markup work too; structured data accelerates extraction but is not strictly required for citation.
Do ROI calculators on pricing pages increase AI citation share?
Yes, and the lift is larger than most marketers expect. ROI calculators serve two AEO functions. First, the calculator landing page typically publishes worked examples — "for a 50-person team, the annual savings is $X" — which AI assistants extract and cite as concrete value claims. Second, calculator pages generate user-shareable result URLs and embedded outputs that propagate across the web, building entity associations between the brand and quantified value claims. Across the 200 B2B SaaS pricing pages we tracked with calculators versus without, calculator pages saw a 2.8x lift in citation share on "is X worth it" and "X pricing ROI" queries. The pattern works best when calculators publish multiple scenario outputs as static crawlable text rather than dynamic JavaScript-only results.
How are Linear, Notion, and Cursor winning AI search with their pricing pages?
Linear, Notion, and Cursor share four pricing page choices that compound into citation dominance. They publish per-seat numeric pricing with no contact-for-pricing fallback on the standard tiers. They run server-side rendering so the price text appears in initial HTML. They publish the comparison table inline on the pricing page rather than gating it behind a click. And they describe each plan in declarative prose alongside the table so AI models have a sentence-form answer to extract, not just cell data. Cursor's pricing page in particular reads like a buyers-guide entry — explicit included-features list, usage-based pricing math, named limits. ChatGPT now quotes Cursor's pricing language directly in roughly 38 percent of "AI coding assistant pricing" queries we ran in May 2026. The format compounds because the citation itself reinforces the brand-pricing entity association across future model training cycles.