Fix: AI shows old/wrong pricing for my products
Step-by-step guide to diagnose and fix when AI search engines and LLMs show outdated or incorrect pricing for your products. Includes technical fixes and prevention strategies.
How to Fix: AI shows old/wrong pricing for my products
Stop AI tools from hallucinating old costs by aligning your structured data, merchant feeds, and public-facing content.
TL;DR
AI models often pull pricing from cached versions of your site or third-party resellers. Fixing this requires updating Schema.org markup, refreshing Google Merchant Center feeds, and ensuring your robots.txt allows AI bots to see the most recent price updates.
Quickest fix: Update your Schema.org Product markup and request a re-crawl via Google Search Console.
Most common cause: Outdated Schema.org structured data or 'ghost' pricing in old PDF catalogs and promotional blog posts.
Diagnosis
Symptoms: AI chatbots like ChatGPT or Perplexity quote sale prices that expired months ago; Google Search Generative Experience (SGE) shows pricing for a discontinued version of a product; AI search results display a 'starting at' price that no longer exists
How to Confirm
- Query the product name + 'price' in Perplexity and check the cited sources
- Use the Rich Results Test tool to see what price is currently being extracted from your product page
- Check Google Merchant Center for 'Price Mismatch' warnings
Severity: high - High bounce rates, customer frustration, potential legal issues regarding false advertising, and loss of brand trust.
Causes
Outdated Schema.org Markup (likelihood: very common, fix difficulty: easy). Check the HTML source code for 'ld+json' blocks containing old price values.
Google Merchant Center Desync (likelihood: common, fix difficulty: medium). Compare the price in your Merchant Center feed against the live price on your website.
Third-Party Reseller Pricing (likelihood: common, fix difficulty: hard). AI cites a third-party retailer (Amazon, Walmart, or a niche distributor) as the source for the wrong price.
Historical PDF Catalogs (likelihood: sometimes, fix difficulty: easy). Search for 'site:yourdomain.com filetype:pdf' to find old price lists indexed by AI.
Aggressive CDN Caching (likelihood: rare, fix difficulty: medium). Check if your Cloudflare or Akamai edge cache is serving a version of the page from weeks ago to bot user-agents.
Solutions
Implement Dynamic Schema.org Update
Audit JSON-LD: Ensure your 'Offer' object includes the 'price', 'priceCurrency', and 'priceValidUntil' properties.
Sync with CMS: Hardcode the schema to pull directly from your inventory database rather than a static field.
Timeline: 1-2 days. Effectiveness: high
Refresh Google Merchant Center Feed
Trigger Fetch: Manually trigger a 'Fetch Now' in Merchant Center to sync your product feed.
Enable Automatic Item Updates: Turn on settings that allow Google to update pricing based on your website's structured data.
Timeline: 24 hours. Effectiveness: high
Purge Old PDF and Asset Files
Locate Assets: Identify all PDFs or static HTML files containing old pricing.
Apply Noindex or Delete: Add an 'X-Robots-Tag: noindex' header to old PDFs or delete them and set up 301 redirects to the new product page.
Timeline: 3-5 days. Effectiveness: medium
Deploy 'PriceValidUntil' Property
Add Expiry Dates: Include the priceValidUntil property in your Schema markup for any promotional pricing.
Clear Search Cache: Submit the URL to Google Search Console to signal the change in availability/pricing terms.
Timeline: 1 week. Effectiveness: medium
Manage Reseller Data Parity
Identify Violators: Find which retailers are undercutting or using old prices that AI is citing.
Enforce MAP Policy: Contact resellers to update their listings to match current MSRP.
Timeline: 2-4 weeks. Effectiveness: medium
Force Bot-Specific Cache Purge
Analyze Headers: Check if bots are receiving a different 'Age' header than human users.
Purge Edge Cache: Clear the cache specifically for your product directory on your CDN.
Timeline: 1 day. Effectiveness: medium
Quick Wins
Submit URL to Google Search Console for re-indexing. - Expected result: Google updates the snippet and SGE data within 24-48 hours.. Time: 5 minutes
Update the 'Last Modified' date in your XML Sitemap. - Expected result: Encourages AI bots to re-crawl the page.. Time: 10 minutes
Delete old 'Sale' blog posts from 2 years ago. - Expected result: Removes old pricing data points from the AI training/retrieval set.. Time: 30 minutes
Case Studies
Situation: An electronics retailer saw ChatGPT quoting a $499 price for a laptop that was now $649.. Solution: The brand archived all old promotional blog posts and updated their Schema to include 'priceValidUntil'.. Result: Within 10 days, AI bots began citing the current $649 MSRP.. Lesson: AI prioritizes specific numbers found in 'content' if structured data is missing or vague.
Situation: A SaaS company changed its monthly subscription, but Perplexity kept showing the old tier.. Solution: Deleted the PDF and set up a 301 redirect to the live pricing page.. Result: Perplexity updated its answer within 4 days of the PDF being removed from the index.. Lesson: PDFs are a major source of 'truth' for LLMs and must be managed like HTML pages.
Situation: An apparel brand had 'Price Mismatches' in Google SGE.. Solution: Aligned the Schema 'price' field to exactly match the visible text on the page.. Result: SGE results stabilized and showed the correct consumer-facing price.. Lesson: Discrepancies between what a human sees and what a bot reads cause AI to default to the lower (often wrong) price.
Frequently Asked Questions
How long does it take for ChatGPT to show my new price?
ChatGPT (via Search) typically updates within a few days of a re-crawl. However, if the information is part of its core training data, it may take longer or require 'Search' to be triggered. Ensuring your site has high authority and frequent updates encourages more frequent crawls.
Can I block AI from seeing my prices?
Technically yes, via robots.txt, but this is not recommended. If you block AI bots (like GPTBot), the AI will rely on third-party sources or old cached data to guess your price, which is more likely to be wrong. It is better to provide the correct data.
Why does AI show a lower price than my website?
AI often fetches the lowest price it can find across the web. This usually happens because an old sale price is still live on a reseller site, or because your Schema markup doesn't clearly distinguish between 'MSRP' and 'Current Price'.
Does my XML sitemap affect AI pricing accuracy?
Yes, indirectly. A sitemap with accurate <lastmod> tags tells AI bots which pages have changed. If you update a price but don't update the sitemap date, the bot may deprioritize crawling that page, leaving the old price in its memory.
Should I use 'priceRange' or 'price' in my markup?
For specific products, always use 'price'. 'priceRange' is intended for local businesses (like restaurants). Using 'priceRange' for a single product can confuse AI, leading it to display the lowest possible value as the definitive price.