How to track ChatGPT and AI traffic in Google Analytics 4
GA4's new AI Assistant channel misses some assistants and app clicks land in Direct. The custom channel group, the regex, and what GA4 still can't see.
AI engines quote pricing pages constantly, but only when they can parse them. The patterns that make yours quotable, and the ones that make models guess.
Ask an AI engine "how much does [some SaaS] cost?" and watch what happens. For some brands you get a crisp, correct answer with tiers and limits. For others - often with public pricing right there on the site - you get hedging: "pricing isn't publicly available, contact sales." The hedging brands usually have perfectly public pricing. What they don't have is a page a machine can read it from.
Price is one of the most-asked questions in any buying flow, and it's a question with a verifiable answer - which makes engines cautious. If a model can't parse your price confidently, it won't guess; it will hedge, or worse, quote a competitor's clearer page in the same answer. Lose the pricing question and you also fade from every "best tool for X" answer where cost feeds the recommendation - the engine leans toward the competitor whose price it can verify.
The usual culprits:
<span>.Every tier name, price, currency, billing period and core limit should exist as text in the served page. Server-render it. If your fancy toggle needs JavaScript, fine - but make the monthly table the default markup.
Somewhere on the page, state it the way a model would say it: "Pro is $19 per month, or $190 billed yearly." Models tend to lift sentences that already read like answers, so write the answer yourself - one line, right next to the table.
Mark tiers up with Offer structured data - price, currency, plan name. It's the most direct machine-readable signal that these numbers are the official ones. (More in our schema guide.)
Is there a free plan? What happens when I hit the limit? Can I cancel? A short FAQ under the table catches the long tail of pricing phrasings - and is exactly the format engines like to quote.
Open your pricing page in another tab and be honest:
To a crawler, your pricing is a rumor. The good news: this is pure mechanics, fixable this week.
Pricing is the easiest GEO win on most sites because it's pure mechanics - no link-building, no content calendar, just making facts machine-readable. We eat our own cooking here: tryzene.com's three tiers are plain HTML with Offer markup. Do the view-source test on yours, then ask the engines what you cost.
Almost always because the page isn't one a machine can read the price from, not because the price is hidden. Price is a verifiable answer, so if a model can't parse it confidently it won't guess - it hedges, or quotes a competitor's clearer page in the same answer. The usual culprits are prices rendered by JavaScript only, baked into images, shown as a bare "From $X" with no tier table, or limits hidden in hover-only tooltips.
Put the facts in plain HTML: every tier name, price, currency, billing period and core limit should exist as served text, with the monthly table as the default markup even if a fancy toggle needs JavaScript. Then write the sentence you want quoted - something like "Pro is $19 per month, or $190 billed yearly" - right next to the table, because models lift lines that already read like answers. Add Offer schema and a short FAQ for the follow-ups, and you're done.
Yes. Lose the pricing question and you also fade from every "best tool for X" answer where cost feeds the recommendation, because the engine leans toward the competitor whose price it can verify. Pricing is the easiest GEO win on most sites precisely because it's pure mechanics - no link-building or content calendar, just making the facts machine-readable.
Put this guide into practice - get your free visibility score in minutes.
