You Changed the Price at 9 a.m. When Did ChatGPT Find Out?
Quote lag is the gap between a price or stock change and when ChatGPT, Gemini or Perplexity shows it. Learn how to measure it and how to shrink it.
Your catalog updated the moment you saved the change. AI engines find out later, sometimes hours later, sometimes days, and they tell shoppers the old number in the meantime. That delay has a name now, and you can measure it.
What Is Quote Lag?
Quote lag is the time between a change to a product's price, stock status or promotion in your store and the moment an AI engine such as ChatGPT, Gemini, Perplexity, Claude or Google AI Overviews first shows the new value in its answers. It covers the whole path from your system of record to an answer a shopper actually sees.
The Alhena Quote Lag Index is the benchmark we're building for it: median and 90th-percentile quote lag from real catalog changes, starting with price changes in ChatGPT.
Key Takeaways
- Crawlers are busy in the wrong places. Cloudflare says more than half of good-bot crawl traffic goes to re-fetching pages that haven't changed, while the pages that did change wait their turn.
- Your catalog is already fast. Shopify, WooCommerce, Magento and Salesforce Commerce Cloud record a price change in seconds. The delay comes after, in how and when outside engines re-fetch that data.
- Pushing beats waiting. Merchant feeds, merchant APIs, IndexNow, accurate sitemap
lastmodand correct HTTP caching all tell engines what changed so they don't have to guess. - You can't fix what you don't measure. Track median and P90 quote lag for each engine and each change type, then judge every freshness fix by what it does to those numbers.
Why Does a Price Change Take So Long to Reach AI Answers?
Because most AI engines don't learn about your update when it happens. They learn about it the next time their crawlers or data providers look at the page, and the web's crawl budget is badly misallocated.
Cloudflare is used by 25.7% of all websites, according to W3Techs figures from September 15, 2026. [1] In July 2026 it reported that its data "suggests that more than 50% of crawl traffic from good bots goes to re-fetching pages that haven't changed." [2] It launched a research program to share freshness signals with answer engines so crawlers can skip pages that haven't moved. The problem isn't new. When Cloudflare introduced Crawler Hints in July 2021, it had already concluded that 53% of good-bot traffic, most of it from search crawlers, was wasted on pages that hadn't changed. [3]
Commerce gets a large share of that attention. TechnologyChecker's analysis of Cloudflare Radar data found that Shopping has taken roughly 31% of all AI crawling every month of 2026. [4] Heavy crawling doesn't mean fresh answers, though. A bot can visit your "About us" page a dozen times and still miss the product page where a markdown went live this morning.
OpenAI says as much. Its help center article on shopping in ChatGPT search notes that prices come from third-party providers and that "when merchants update their pricing or shipping terms, there may be some delay before it is reflected." [5] That is an honest statement. It also leaves the length of the delay undefined, and nobody is measuring it.
What Does Quote Lag Cost a Store?
Quote lag hurts in both directions, and each direction costs money differently.
- Markdowns that go out late. You cut a hero SKU by 20% for a weekend promotion. Shoppers asking an AI assistant for "the best deal on X" see the full price and pick a competitor. You're paying for the discount without getting the demand.
- Price increases that go out late. An AI answer shows the old, lower price. The shopper clicks through, sees a higher number at checkout and loses trust in both the engine and your brand.
- Stock that's out of date. A sold-out variant keeps getting recommended, or a restocked bestseller stays hidden because the engine still thinks it's unavailable.
- Launches that nobody sees. A new product sits in your store for days before any AI engine knows it exists, and those days are often the ones your launch campaign is paying for.
The wider accuracy picture is poor. A September 2026 Product.ai study sent 220 shopping questions to ChatGPT, Claude, Gemini and Perplexity. Only 85% of 913 verifiable price references matched current listings, and wrong prices missed by a median of $300. [6] Product.ai sells verification tooling and tested through APIs, so read the figures as directional. The pattern still matches what merchandisers see every day.
The Thesis: Your Catalog Is No Longer What Slows Freshness Down
For most of ecommerce's history, stale data was an internal problem: slow ERPs, batch exports, nightly jobs. That problem is largely solved. Modern platforms fire webhooks the moment a price or stock level changes.
What's left sits outside your walls. Each AI engine gets product data through its own mix of crawling, merchant feeds, third-party data providers and cached indexes, and each updates on its own schedule. So the useful question has changed from "is our catalog accurate?" to "how long until each engine agrees with our catalog?"
That question has an answer in hours. It deserves a metric, a benchmark and an owner.
Does a Shopper's ChatGPT Plan Change the Price They See?
Before you measure anything, know this: two people asking ChatGPT the same question won't always see the same product card. OpenAI's help center says product results weigh the shopper's query along with context such as Memory and custom instructions. It also says the price in ChatGPT's first answer usually comes from the first merchant listed, which isn't always the lowest price available. [5]
That context varies by plan. The free plan comes with limited memory, while ChatGPT Plus and Pro subscriptions expand it. [7] Business and Enterprise workspaces run under admin controls and don't offer the memory sources that consumer plans do. [8] So a power user on a paid tier, or a merchandising team checking from a company workspace, can get a different answer from a shopper using the free ChatGPT app on their phone.
None of this changes how fast ChatGPT learns about a new price. It changes what you see when you go looking for it. When you check quote lag yourself:
- Check from a clean account. Use the free plan or turn memory off, so your own chat history doesn't steer the results.
- Keep the plan and model the same. Standard and reasoning models may search and summarize differently, so don't switch between them from one check to the next.
- Match your shoppers' country and currency. Compare the same region, currency and treatment of local taxes, or a tax-inclusive price will look like a stale one.
- Read the merchant on the card. A different price from a reseller isn't quote lag. It's another merchant's offer.
- Log every check. Record the time, plan, model and price, so you can see how the answer changes over time.
The Alhena Quote Lag Index follows the same discipline: a fixed set of prompts, run the same way each time, counting only cards from the brand's own store in the store's currency.
The Alhena Quote Lag Index: How We Measure It
To measure quote lag fairly you need three things: an exact timestamp for the change, repeated observation of what each engine actually shows, and honest treatment of changes that never show up at all. Here is the methodology behind the Alhena Quote Lag Index.
- 1. Start the clock when the change goes live. Each price change (T0) is logged with its exact time the moment it goes live in the store. Catalog snapshots show only the current price, not when it changed, so T0 has to be recorded as the change happens. We never estimate T0 from a crawl.
- 2. Sample real price changes. Price changes are split into decreases and increases. If a SKU's price changes again before the first change shows up, both changes are left out. Stock changes and new product launches are out of scope for now.
- 3. Observe what ChatGPT shows, not what it crawled. Alhena AI Visibility runs a fixed set of shopping-intent prompts in ChatGPT and saves every run as its own timestamped snapshot, including each product card's price, currency, merchant and product URL. For the study, prompts are re-run at short, fixed intervals after T0, so each lag figure is precise to within one polling interval.
- 4. Define "reflected" strictly. A card counts only if its product URL points to the changed product on the brand's own store and its currency matches the store's. A change counts as reflected only when ChatGPT shows the new price in consecutive observations. This prevents one lucky answer from being logged as a real update.
- 5. Handle changes that never land. Some changes are still missing when the observation window closes. We report these as a separate "not reflected" share and never quietly drop them. Dropping them would flatter the results.
- 6. Report median and P90, not averages. The median shows the typical experience. P90 shows the tail that ruins a weekend sale. Averages hide both.
- 7. Split by delivery channel. Each result is tagged by how the store sent the change: merchant feed or API push, IndexNow ping, or crawl only. This split tells you which fixes actually help.
How Do You Shorten Quote Lag? A Step-by-Step Playbook
The rule behind every step is to push changes out so engines don't have to find them. Work through these in order. The first steps cut the most lag for the least effort.
Step 1: Measure Your Own Baseline First
Pick 20 to 50 SKUs whose prices or stock change often. Log each change with a platform timestamp, then check what every engine shows over the following days. Without a baseline you can't tell whether any later fix helped.
Step 2: Feed ChatGPT Directly, with Daily Snapshots and Intraday Updates
OpenAI's merchant documentation describes a full product feed snapshot, sent as a file upload over SFTP, with a recommended cadence of at least once a day. [9] Its setup guide advises sending the full feed daily and pushing updates through OpenAI's API during the day. [10] Put the API channel on your price and availability changes instead of waiting for the next snapshot. Our ChatGPT product feed setup guide covers the fields and onboarding.
Step 3: Push Changes to Google Through the Merchant API, and Keep Structured Data Honest
Google's Content API for Shopping was sunset on August 18, 2026, and its successor, the Merchant API, now offers attribute-level updates to price and availability through its patch method. [11] Use it for every price and stock event.
Then turn on automatic item updates as a safety net. Google can use the Product and Offer structured data on your pages to correct price, sale price, availability and condition. [12] Google's developer guidance says automatic item updates are "designed to fix small problems with product price and availability, not to be the main method of updating product data." [13] Merchant Center Help says the markup must be present in the HTML returned from the web server, can't be generated with JavaScript after the page loads, and must match the values shown to the user. [14]
Step 4: Enroll in Microsoft Merchant Center and Perplexity's Merchant Program
Copilot's shopping experiences draw on Microsoft Merchant Center feed data, and Perplexity's Merchant Program accepts a Google Shopping-style product feed. Each feed you control is one less engine relying on its own re-crawl schedule. Our Perplexity merchant setup guide walks through onboarding.
Step 5: Ping IndexNow the Moment a PDP Changes
IndexNow lets you tell participating engines, Bing included, that a specific URL was added, updated or deleted. [15] Microsoft's Bing team recommends pairing it with sitemaps: the sitemap gives full coverage and IndexNow handles freshness. [16] If your store sits behind Cloudflare, Crawler Hints can send IndexNow signals automatically when cached content changes. [17]
Step 6: Make lastmod True
Google Search Central's sitemap documentation says Google uses lastmod only if it's "consistently and verifiably (for example by comparing to the last modification of the page) accurate." [18] A sitemap that stamps every URL with today's date teaches crawlers to ignore the field completely. Update lastmod only when price, stock or content actually changes, so a real markdown stands out.
Step 7: Return 304s for Pages That Haven't Changed
This is the other half of the Cloudflare problem. Google's crawlers support conditional requests using ETag / If-None-Match and Last-Modified / If-Modified-Since, and Google recommends ETag. [19] When a page hasn't changed, return 304 Not Modified with no body. Crawl effort saved on unchanged pages can go to the ones that did change. Make sure the ETag actually changes when price or stock changes, or you'll lock in stale data.
Step 8: Keep schema.org Offer Data Complete
Every PDP should carry Product and Offer markup with price, priceCurrency and availability. For time-boxed promotions, add priceValidUntil so machines know when the sale price ends. [20] Our PDP optimization checklist shows the full attribute set.
Step 9: Re-measure After Every Fix
Rerun the baseline from Step 1. A fix counts only if it moves median or P90 quote lag for a specific engine. If an engine's P90 stays flat after you've pushed through every channel it accepts, you've found where your control ends.
Where Alhena Fits
Alhena AI Visibility was built for product-level measurement. It tracks five engines in every paid plan (ChatGPT, Google AI Overviews, Gemini, Perplexity and Claude), records the product cards ChatGPT shows along with their price, image and carousel position, and syncs live catalogs from Shopify, WooCommerce, Magento and Salesforce Commerce Cloud. With the catalog's actual price on one side and the price ChatGPT displays on the other, quote lag becomes a number you can measure instead of a guess. Our comparison of Profound, Peec AI, Scrunch and Alhena explains how these capabilities differ across the category.
This isn't the same problem as keeping your own on-site assistant accurate. Alhena handles that internally through Variant Stock Refresh and a scheduled knowledge pipeline. Quote lag is about engines you don't control, which is exactly why it needs outside measurement. It's also where SKU-level AI visibility goes after spotting a stale price on a product card: from the symptom to the clock behind it.
If peak season is coming, add quote lag to your BFCM AI visibility plan now. A Black Friday markdown that shows up on Sunday is a markdown you funded for someone else.
Frequently Asked Questions
What is quote lag in AI search?
Quote lag is the time between a price, stock or promotion change in your store and the moment an AI engine first shows the new value in its answers. It covers the whole path: your platform, the engine's data intake, its index and the final answer.
Why does ChatGPT show an old price for my product?
ChatGPT gets product prices from third-party providers and merchant feeds, and OpenAI notes there may be a delay before price changes appear. If your change reached ChatGPT only through a later crawl or a stale data source, the old price stays up until that source refreshes.
Why is the price in ChatGPT different from my store's price?
Either your change hasn't reached ChatGPT yet, which is quote lag, or ChatGPT is showing another merchant's offer. OpenAI's help center says the price in ChatGPT's first answer typically comes from the first merchant listed, which may not be the lowest. Check the merchant name on the product card before treating a price as stale.
Do ChatGPT Plus or Pro users see different prices than free users?
They can see different results. OpenAI says product results take a shopper's context into account, such as Memory and custom instructions, and memory is limited on the free plan but expanded on the ChatGPT Plus and Pro subscription tiers. To check quote lag fairly, use a clean account with memory off, in your shoppers' country and currency.
How often should I update my ChatGPT product feed?
OpenAI's current documentation recommends a full snapshot at least daily, plus updates during the day through its API. Send price and availability changes as they happen instead of waiting for the next snapshot.
Does IndexNow help with AI answers?
IndexNow tells participating engines, including Bing, which URLs changed, and Microsoft recommends combining it with accurate sitemaps for freshness in AI-powered search. It doesn't guarantee a new answer, but it removes the wait for a crawler to find the change.
What is the Alhena Quote Lag Index?
It's the benchmark Alhena is building for median and 90th-percentile quote lag. It starts with price changes in ChatGPT: real price changes logged the moment they go live, observed through repeated, timestamped captures of ChatGPT's product cards.
Is structured data enough to keep AI prices fresh?
No. Structured data helps engines read the right price once they fetch the page, and Google can use it to fix small feed mismatches. It doesn't make anyone re-fetch sooner. Pair it with feeds, APIs and IndexNow.
Why report P90 instead of just the average?
Averages hide the long tail. The 90th percentile shows how bad the slow cases get, which is what decides whether a 48-hour sale reaches AI shoppers in time.
Measure the Gap Before Your Next Markdown
Your team already knows when every price changed. The open question is when ChatGPT, Gemini, Perplexity, Claude and Google AI Overviews caught up. Alhena AI Visibility tracks your brand across all five and captures the prices ChatGPT shows on your product cards, so you can spot the ones that have fallen behind your catalog. See what ChatGPT is showing for your catalog with Alhena AI Visibility.