ChatGPT Showing the Wrong Price or a Sold-Out Variant? Where It Comes From
AI shopping answers repeat prices they got from somewhere: Shopify Catalog, a product feed, your page’s structured data or an old copy. How to find the wrong source and fix it.
A shopper sends you a screenshot: ChatGPT is showing the wrong price for your product, or a size you sold out of last week is listed as available. ChatGPT is usually repeating a price it got from somewhere, so the fix starts with finding that source. Google gives the same advice for its own AI features: Making sure your structured data matches the visible text on the page
(Google’s page on AI features and your website).
Below: where AI shopping prices come from, how to find the wrong one, and what to change on each platform. You control your own data; when ChatGPT shows the change is up to OpenAI.
Where does ChatGPT get my prices from?
There are four places a price can come from, and a fifth that matters for Google’s AI answers.
- Shopify Catalog (Shopify stores). Shopify sends your products to AI channels, including ChatGPT. Shopify’s Catalog help says
Shopify Catalog continuously updates your product data, so AI channels receive your latest inventory and prices.
If Catalog has the wrong price, your admin usually has it too. - A product feed sent to OpenAI. Some feed apps and plugins build a file in OpenAI’s format. OpenAI’s product feed spec is plain about prices:
Submit the current price; update the feed when a sale starts or ends.
A feed generated once a day is up to a day behind your store. - Your product page. ChatGPT’s search reads web pages through OpenAI’s crawler (OpenAI’s crawler page). OpenAI doesn’t say which parts of a page it uses for prices. Our reading: keep the visible price and the structured data identical, because tools that parse pages may read either one.
- Other copies of your product. A reseller, a marketplace listing, a comparison site or an old cached page can carry a different price. OpenAI’s shopping help article says the first price shown usually comes from the first merchant listed, which may not be you or the lowest price.
- Google Merchant Center (Google’s AI answers, not ChatGPT). OpenAI doesn’t say it reads Merchant Center. Google’s page on its AI features does mention it, listing
Checking that your Merchant Center and Business Profile information is up-to-date
among its recommendations.
For how products reach ChatGPT in the first place, see Will my Shopify store appear in ChatGPT Shopping?
How do I find which source is wrong?
Start with the product in the screenshot.
- Write down what ChatGPT showed. Price, currency, variant, availability, the store it named, and the date.
- Click the link in the answer. Does it land on your product page, an old URL or another seller? Another seller’s price may be right for them; you can only fix your own listing.
- Open your product page as a shopper. Use a private window, logged out, and the shopper’s country if you sell in several. Note the price shown, any “was” price and whether the variant can be added to the cart.
- Check the structured data. View the page source and search for
"price"inside theapplication/ld+jsonblock. Compare it with what the page shows. Check which variant it describes: many themes describe only the first or selected variant. - Check your admin. The variant’s price, compare-at price, inventory count and whether it can still be sold at zero stock.
- Check what you send out. On Shopify, the Catalog settings on the Channel mapping page. With a feed app, open the OpenAI feed file and find the product’s row. For Google, open the product in Merchant Center.
Then read the pattern:
| What you found | Likely source | Where to fix it |
|---|---|---|
| Wrong in your admin too | Your product data | The product or variant in your admin |
| Right in admin, wrong in structured data | Theme or an app that writes the markup | Theme code or the app’s settings |
| Right on the page, wrong in the feed | Feed app or plugin, or its schedule | Feed settings; regenerate the feed |
| Right everywhere you control | Another seller, an old copy, or a delay | Nothing to fix on your side; check again later |
The last row is the hard one: OpenAI doesn’t publish how long a price change takes to show.
Why does a sold-out variant show as available?
Because the availability the AI tool received said it could still be bought. The usual causes:
- Selling at zero stock is switched on. On Shopify, “Continue selling when out of stock” keeps a variant purchasable. Our reading: any channel that asks “can this be bought?” will get “yes”.
- Inventory isn’t tracked for that variant, so it never runs out.
- The structured data describes one variant only. The page says “Sold out” for size M, but the markup still says in stock because it describes size S.
- The feed sends one value for the whole product instead of one row per variant.
OpenAI’s spec makes availability a required field for every row: Omitted, empty, or unrecognized values reject the row.
A rejected row is a different problem from a wrong one, but both come from the same field.
Google’s rule for Merchant Center is the same idea, stated for variants: Product variant availability in the data source should match the availability on the landing page
(Google’s availability attribute page). It also asks you to Show a consistent availability across the landing page, structured data (if available), checkout page, and your data source
. Our availability mismatch fix guide covers the Google side.
Why is ChatGPT showing the wrong price, or a sale that ended?
Shopify’s 9 October 2026 change. Shopify’s developer changelog says The Catalog API now returns a merchant’s compare-at price as list_price on each product variant.
and Your app or agent can use list_price to tell when a product is marked down and by how much.
(Shopify’s changelog post). Shopify sends it only when you share compare-at prices through Catalog Mapping, and only when the compare-at price is higher than the price. On sharing, the post says Shopify turns this on by default for most stores and turns it off for stores that use compare-at for MSRP or another reference price.
What that means for you: your compare-at price is now a claim that can reach AI agents. Shopify’s help page says AI agents might use the list price to advertise strikethrough pricing for products that are on sale.
A compare-at price left over from a past sale, or one that is really a supplier’s suggested price, can turn into a markdown you never meant to advertise. On the Channel mapping page you can choose whether Catalog uses the price or the compare-at price as the list price.
The rules elsewhere. OpenAI’s spec ignores a sale price that isn’t lower than the regular price: A nonpositive, equal, higher, or different-currency sale is not used.
Google asks you to Submit a value that matches the sale price you display on your landing page and at checkout
and to Clearly display both non-sale and sale prices on your landing pages
(Google’s sale price attribute page).
Other common causes:
- A sale app that changes the price in the browser after the page loads, while the HTML and structured data keep the old one.
- A currency switcher or market setting that shows a local price while the markup keeps the store’s base currency.
- A cache serving last week’s page.
- A price formatted with thousands separators in a feed, which OpenAI’s spec doesn’t allow.
These are the same causes behind Google’s price mismatches. Google says Googlebot crawls the data present in the HTML returned from your web server.
(Google’s mismatched product price page). Our price mismatch fix guide and the post on preemptive item disapproval cover what happens when Google finds them.
On Shopify, WooCommerce and other platforms
Shopify
- In your admin, go to Sales channels → Agentic and open the Channel mapping page for Shopify Catalog. Check whether the list price uses the price or the compare-at price.
- Clear compare-at prices that no longer describe a real sale, and any compare-at price at or below the selling price.
- For variants that sold out, check that inventory is tracked and whether “Continue selling when out of stock” is selected in the variant’s Inventory section.
- If you sell in several markets, check the product page in each market’s currency and compare it with the structured data.
- Check what any price or sale app changes: the price in your admin, or only the price shown in the browser.
WooCommerce
There’s no Shopify Catalog. AI tools get your prices from your pages, from a feed plugin if you use one for OpenAI, or from other sites.
- In the feed plugin, check the availability values against OpenAI’s spec. The spec also asks for prices with a decimal point and no thousands separators.
- Make sure each variation is its own row with its own price and stock status.
- Check that your SEO or schema plugin writes the variation’s price, not a price range or the parent product’s price.
- Clear the page cache after a price change, and set end dates on sales so they don’t run on by hand.
Other platforms
The rule is the same everywhere: one price and one availability per variant, in the page, the structured data and every feed. If you can’t edit the structured data, ask your platform which variant it describes.
What we see in real cases
Paraphrased from public forum threads posted before this article, with no names or stores.
- In a Shopify Community thread from late September 2026, someone compared Shopify Catalog entries with live product pages across several stores. They found sold-out variants still listed as available, wrong pack sizes, and reseller offers at lower prices. A reply pointed at selling at zero stock as a cause of stale availability.
- Practitioners on the same forum described comparing the raw HTML, the rendered page and the structured data each night, to catch prices and stock that drift after sale apps or variant changes.
- An agency testing stores with an AI shopping agent found the price or availability on the buy button disagreeing with the structured data, and prices in the wrong market’s currency.
- A WooCommerce store’s OpenAI feed lost about half its rows. The causes were availability values in the wrong format and prices with thousands separators.
- In a discussion of ChatGPT’s checkout earlier in 2026, shoppers reported out-of-stock items and old prices.
The pattern: the price in the store was usually right. Something between the store and the AI tool was not.
Can a tool check this for me?
Not ChatGPT itself: nothing outside OpenAI can see what ChatGPT will show a given shopper. You can check your own side. ShieldKit’s Price Watch compares each product page’s structured-data price with the price the page shows and, on Shopify, with Shopify’s own variant prices, and flags “was” prices at or below the selling price. It reads your store; it doesn’t read ChatGPT. The free store check shows its counts, on any platform.
What OpenAI and Google don’t say
- How often ChatGPT refreshes a price after your feed or Catalog changes.
- Which source wins when your feed, your page and another seller disagree.
- Whether a merchant can ask for one answer to be corrected.
If someone promises a fix for any of these, ask where OpenAI says it.
FAQ
Why is ChatGPT showing the wrong price for my product?
Usually because one of its sources holds an old or different price: Shopify Catalog, a product feed sent to OpenAI, your product page’s structured data, or another seller’s page. Compare the price in each place, fix the one that differs, and keep them identical from then on.
Why does ChatGPT show a sold-out variant as available?
The availability it received said the variant could still be bought. On Shopify, check whether the variant tracks inventory and whether “Continue selling when out of stock” is on; in a feed, check that each variant row carries its own current availability value.
Can I ask OpenAI to correct one price?
We haven’t found an OpenAI page that describes a way for merchants to correct a single price in an answer. Fix the price at its source; OpenAI decides when ChatGPT shows the change, and OpenAI doesn’t say how long that takes.
Does a wrong price in ChatGPT affect my Google Merchant Center account?
Google doesn’t say it looks at ChatGPT. But the causes are often the same: a page whose structured data disagrees with its visible price can also make Google disapprove a product for a mismatched price.
Did Shopify change how sale prices reach AI shopping tools?
Yes. Since 9 October 2026, Shopify’s Catalog API returns a variant’s compare-at price as list_price, which agents can use to show a markdown. Shopify sends it only when compare-at prices are shared through Catalog Mapping and the compare-at price is higher than the price.