If you changed a product price in Shopify Admin but the storefront still shows the old price, do not assume that the update failed or that clearing the browser cache will automatically solve it. The old value can come from several different layers: the wrong variant, Shopify Markets or catalog pricing, theme Liquid, JavaScript, an app, or temporarily stale storefront data.
Quick answer: first confirm that you changed the correct variant. Then check the product from the same country, currency and market as the affected customer. Open the product’s Shopify Ajax Product API response at /products/product-handle.js and compare its current variant price with the price displayed on the page. If Shopify’s product data contains the new price but the page displays the old one, investigate the theme, JavaScript and pricing apps. If a particular market has a fixed price configured, changing the base product price may not change the price that customers in that market see.
A Shopify Community discussion from August 18–23, 2026 describes this exact problem: updated prices were visible in Shopify Admin while some product pages temporarily continued displaying previous values, including in private browsing sessions. The discussion also highlighted why this needs to be diagnosed layer by layer rather than treated simply as a browser-cache problem.
Last updated: August 26, 2026.
Why Shopify Can Show an Old Product Price
A Shopify storefront does not always have only one possible source of a displayed price.
The price visible to a customer can depend on:
- the selected product variant;
- the product’s base price;
- Compare-at price;
- Shopify Markets;
- market-specific catalogs;
- fixed prices for a country or region;
- currency conversion;
- customer or B2B catalog context;
- theme Liquid;
- JavaScript that replaces the initial price;
- subscription apps;
- bundle apps;
- discount or dynamic-pricing apps;
- external ERP or PIM integrations;
- cached browser resources;
- temporarily stale storefront responses.
This is why two customers can sometimes report different prices without either customer being wrong.
The goal is to identify the first point at which the price stops matching Shopify Admin.
The Fastest Way to Identify Where the Old Price Comes From
Choose one affected product and record:
- product handle;
- variant ID;
- SKU;
- old price;
- new price;
- currency;
- customer country or market;
- exact time when the price was changed;
- where the old price appears.
Then compare the price in this order:
- Shopify Admin;
- market or catalog configuration;
- Shopify Ajax Product API;
- raw page HTML;
- displayed page after JavaScript runs;
- cart;
- checkout.
This creates a simple diagnostic chain:
Admin → market pricing → Shopify product data → Liquid HTML → JavaScript → visible storefront → cart → checkout
The first layer showing the wrong value is where troubleshooting should concentrate.
1. Confirm That You Changed the Correct Variant
Many apparent stale-price problems are actually variant problems.
A product may contain:
- Small for $20;
- Medium for $25;
- Large for $30.
If you change Large to $35 but the storefront initially selects Small, the product page may correctly continue showing $20.
Open the product in Shopify Admin and check the exact affected variant.
Verify:
- variant title;
- SKU;
- price;
- Compare-at price;
- availability;
- variant ID if you are debugging technically.
Then open the public product page and deliberately select that same variant.
If the price changes to the expected new value only after you select the variant, the update is not stale. The storefront was simply displaying another variant.
If selecting another size or color also produces unexpected cart behavior, review our Shopify troubleshooting guides for variant and storefront problems.
2. Check Shopify Markets and Market-Specific Pricing
This is one of the most important checks when the Shopify Admin price appears correct but customers in another country still see a different amount.
Shopify Markets can customize pricing for different groups of customers and regions.
A market can have its own:
- currency;
- price adjustments;
- catalog;
- fixed product prices;
- product availability;
- localized storefront experience.
Go to:
Shopify Admin > Markets
Check the market associated with the affected customer.
Also review:
Products > View as
where available in your current Shopify Admin interface, and select the relevant market.
Shopify’s current documentation confirms that the product list can display pricing in a selected market’s currency and show which catalogs apply to each product.
If the customer reports an old price only in one country, this should be one of the first places you investigate.
3. Test the Same Country, Currency and Customer Context
Do not compare two storefront screenshots unless both sessions represent the same pricing context.
Record:
- country;
- market;
- currency;
- whether the visitor is logged in;
- whether the visitor is a B2B customer;
- whether a VPN is active;
- whether a country selector has been used.
For example, a visitor in the United States may legitimately receive USD pricing while a visitor in Germany receives EUR pricing defined by a different market.
Shopify Markets can also apply fixed prices rather than simply converting the store’s base currency.
This means:
same product + different market does not always equal the same underlying price converted into another currency.
When diagnosing a stale price, reproduce the customer’s exact market whenever possible.
4. Check the Product Price Using Shopify’s Ajax Product API
Shopify provides an official Ajax Product API that lets a Shopify-hosted theme retrieve storefront product data.
For a product whose URL is:
https://example.com/products/blue-shirt
open:
https://example.com/products/blue-shirt.js
For localized storefronts, Shopify recommends using locale-aware URLs.
The response contains product information including:
- product ID;
- product handle;
- current price;
- minimum and maximum price;
- Compare-at price;
- variant IDs;
- variant titles;
- individual variant prices;
- variant availability.
Shopify returns monetary values in minor currency units.
For example:
"price": 2999
commonly represents:
29.99
in a two-decimal currency.
More importantly, Shopify states that Ajax Product API monetary values are returned in the customer’s presentment currency. That makes market and currency context important when comparing results.
If the .js endpoint shows the new price
Shopify storefront product data already contains the new price.
If the visible page still shows the old price, investigate:
- theme Liquid;
- JavaScript;
- apps;
- incorrect variant selection;
- stale section rendering;
- custom price elements.
If the .js endpoint shows the old price
Do not immediately edit the theme.
First check:
- market context;
- fixed prices;
- catalog pricing;
- variant ID;
- external pricing integrations;
- whether the update has propagated to the storefront data.
Check a Specific Variant From the Browser Console
You can also inspect Shopify’s current product data directly from the browser console.
On the affected product page, run:
fetch(window.Shopify.routes.root + 'products/' + location.pathname.split('/products/')[1].split('?')[0] + '.js')
.then(response => response.json())
.then(product => console.table(
product.variants.map(variant => ({
id: variant.id,
title: variant.title,
price: variant.price,
compare_at_price: variant.compare_at_price,
available: variant.available
}))
))
The table lets you compare all current storefront variants.
Remember that the numeric price is normally expressed in the currency’s minor unit rather than formatted exactly as it appears to customers.
This test reads product information. It does not change the product.
5. Check the Raw HTML Source
The next question is whether the old price already exists in the HTML Shopify delivered to the browser.
Open the affected product page and use:
View Page Source
Then search for:
- the old formatted price;
- the new formatted price;
- the affected variant ID;
- the product price element if you know its markup.
If the raw HTML already contains the old price
The browser did not invent that value after the page loaded.
Investigate:
- the market and catalog context;
- Liquid output;
- server-rendered theme sections;
- storefront response caching or propagation.
If raw HTML contains the new price but the visible page shows the old price
That is a strong indication that client-side code changes the price after the initial document loads.
Move directly to JavaScript and app troubleshooting.
6. Check Whether JavaScript Changes the Price After Page Load
Modern Shopify themes frequently update product information dynamically when a customer changes a variant.
Apps can also replace price elements after the initial HTML has loaded.
Common JavaScript-controlled pricing features include:
- variant selection;
- subscription pricing;
- volume discounts;
- bundle prices;
- currency conversion;
- personalized prices;
- selling plans;
- Quick Add;
- sticky product bars;
- dynamic product sections.
A useful test is:
- load the page;
- watch the displayed price immediately;
- observe whether it changes a moment later;
- select another variant;
- compare the Shopify product data with the visible value;
- inspect the browser Network tab for requests occurring after page load.
If the correct price briefly appears and then is replaced by an old value, a JavaScript or app layer is an especially strong suspect.
7. Check Apps That Modify Product Pricing
Many Shopify applications introduce another pricing layer.
Pay particular attention to apps handling:
- subscriptions;
- bundles;
- quantity breaks;
- wholesale pricing;
- B2B pricing;
- currency conversion;
- personalized pricing;
- product options;
- members-only pricing;
- discount displays;
- upsells;
- ERP synchronization;
- PIM synchronization.
If the stale-price problem began immediately after an application was installed or updated, duplicate the theme and test relevant app blocks or embeds there.
Do not disable several unrelated apps simultaneously on a production store.
Change one variable at a time so you know which component caused the behavior.
8. Check Price and Compare-at Price
Make sure the value you are seeing is actually the product’s selling price rather than its Compare-at price.
Shopify products can contain both:
- Price – the amount the product is currently sold for;
- Compare-at price – typically used to show the previous or regular price when a product is on sale.
A theme might display both values using different styles.
For example:
$49.00 $39.00
If you changed one field but the theme displays the other prominently, it can look like the update did not work.
Also check every variant separately. Different variants can have different Price and Compare-at price values.
Shopify notes that the exact way sale pricing appears on the storefront depends on the theme.
9. Check Whether Collection Pages Show a Different Price
The product page is not the only place where Shopify displays a price.
Also check:
- collection pages;
- search results;
- homepage product cards;
- featured collections;
- recommended products;
- recently viewed products;
- cart upsells.
A product page may show the new price while a collection card still shows the old value.
This can indicate that the two areas use different:
- Liquid snippets;
- JavaScript;
- section responses;
- apps;
- variant-selection logic.
Do not assume that fixing the product page automatically fixes every product card in the store.
10. Check Quick Add, Product Cards and Recommendations
Quick Add implementations can maintain their own product state.
Test an affected product through:
- the main product page;
- a collection page;
- Quick Add;
- recommended products;
- featured-product sections.
Compare the visible price before clicking Add to Cart.
If the main product page is correct but Quick Add shows an old price, investigate the Quick Add section or associated JavaScript rather than the base product configuration.
11. Test the Product in an Unpublished Clean Shopify Theme
A clean theme is one of the best ways to separate product data from live-theme code.
You do not need to replace your live storefront.
In Shopify Admin:
- go to Online Store > Themes;
- add a clean Shopify theme to the theme library;
- do not publish it;
- preview it;
- open the affected product;
- select the same variant;
- compare the price.
If the clean theme shows the new price
The product data is probably correct.
Focus on the live theme’s:
- Liquid;
- JavaScript;
- custom product snippets;
- app blocks;
- app embeds;
- custom pricing code.
If the clean theme also shows the old price
Check Markets, catalogs, the Ajax Product API and integrations before modifying theme code.
12. Test the Product With a Unique Query String
A useful diagnostic technique suggested in the August 2026 Shopify Community discussion is to request the same product URL with a unique query parameter.
For example, if the normal URL is:
https://example.com/products/blue-shirt
test:
https://example.com/products/blue-shirt?price-test=827431
Use a random value that has not previously been requested.
If the normal URL shows the old price but the unique URL shows the new price
That is useful evidence that a cached response may be involved.
The product data did not change between those requests. Only the URL changed.
If both URLs show the old price
The problem may exist earlier in the pricing or storefront-data chain.
Check:
- Markets;
- fixed prices;
- Ajax Product API data;
- integrations;
- server-rendered product data.
This is a diagnostic test, not a permanent fix. Do not start adding random query parameters to customer-facing links to work around stale prices.
13. Test Browser Cache Correctly
Browser cache can cause stale resources, but it should not be used as a universal explanation for every Shopify pricing problem.
Test the page using:
- a private browser window;
- a different browser;
- a different physical device;
- another network;
- a hard reload through browser developer tools where appropriate.
Remember that a private browsing session can still cache resources during that session.
If several unrelated devices and networks consistently show the same old price, repeatedly clearing one browser’s cache is unlikely to provide useful information.
Move upstream and check the actual product data.
14. When to Suspect Delayed Storefront or CDN Data
A particularly useful clue is when the price eventually corrects itself without anyone changing the product, theme or application.
For example:
- Admin shows $39;
- storefront shows $35;
- nothing is edited;
- 20 minutes later the storefront shows $39.
That pattern is different from a hard-coded theme bug that consistently displays the same incorrect value.
If the issue self-resolves, capture evidence while it is happening.
Record:
- variant ID;
- old price;
- new price;
- time the Admin change was saved;
- time the storefront was checked;
- market;
- currency;
- result from the
.jsproduct endpoint; - raw page source;
- affected URL.
This is much more useful than reporting that “Shopify sometimes caches prices.”
15. Check ERP, PIM and Price-Sync Integrations
If another system updates Shopify product data, confirm that it is not rewriting your manual change.
Examples include:
- ERP systems;
- PIM systems;
- warehouse integrations;
- marketplace connectors;
- dropshipping applications;
- supplier feeds;
- bulk product tools;
- custom Admin API integrations.
A common sequence can look like this:
- you manually change a price in Shopify;
- the new price appears correctly;
- an integration performs its next synchronization;
- the integration writes the old external-system price back to Shopify;
- the storefront appears to have “reverted.”
This is not storefront caching.
Check:
- integration logs;
- synchronization schedules;
- which system is considered the price source of truth;
- whether manual Shopify edits are supposed to persist.
If the Admin itself changes back to the old value, investigate external write operations before looking at the theme.
Why Changing the Shopify Admin Price May Not Change a Fixed Market Price
Shopify Markets and catalogs can define fixed prices for products or variants.
This is important because a fixed price can override the normal base price for customers using that catalog or market.
For example:
| Pricing layer | Price |
|---|---|
| Base Shopify product price | $50 |
| European market fixed price | €45 |
You change the base Shopify price from:
$50 → $60
but the European market may still intentionally display:
€45
if that fixed catalog price remains configured.
No amount of waiting or browser refreshing will cause the fixed €45 price to become the new converted base price automatically if the fixed price is still overriding it.
Shopify’s current documentation explicitly states that fixed catalog prices can override other pricing adjustments.
Therefore, if one market permanently shows an apparently old amount, investigate its catalog before treating the issue as cache propagation.
How to Identify the Source of the Stale Price
| What you see | Most likely area to investigate |
|---|---|
| Admin has new price, .js endpoint has new price, visible page has old price | Theme JavaScript, app or frontend rendering |
| Admin has new price, .js endpoint has old price only in one market | Markets, catalog or localized pricing |
| One variant is correct and another is old | Variant-specific pricing |
| Product page is correct, collection card is old | Product-card Liquid, section or JavaScript |
| Page source contains new price, visible page changes to old price | Client-side JavaScript or app |
| Page source already contains old price | Server-rendered data, market context or stale storefront response |
| Only one country sees the old price permanently | Fixed market price or catalog |
| Old price disappears later without any edit | Possible caching or delayed propagation |
| Admin itself changes back to old price | External integration or user/API update |
| Clean theme shows new price | Live theme or app integration |
| Clean theme also shows old price | Product data, Markets, catalogs or upstream data |
Check the Cart and Checkout Before Declaring the Problem Fixed
A storefront pricing issue is not completely understood until you know what happens further down the purchase path.
Add the affected variant to the cart and compare:
- product-page price;
- cart drawer price;
- full cart price;
- checkout price.
Product page old, cart correct
This strongly suggests a display-layer problem rather than the product’s actual transactional price.
Product page and cart both old
Investigate market context, variant data and pricing applications.
Product page correct, checkout different
Check:
- automatic discounts;
- selling plans;
- Markets;
- B2B catalog pricing;
- bundle logic;
- discount functions;
- customer-specific pricing.
Do not assume every difference between product page and checkout is caused by stale data.
Check Whether an Automatic Discount Is Being Confused With the Product Price
An automatic discount normally does not rewrite the product’s base Admin price, but it can affect what the customer ultimately pays.
If the storefront, cart and checkout show different values, review:
Shopify Admin > Discounts
Check for:
- automatic discounts;
- amount-off discounts;
- Buy X Get Y offers;
- app-generated discounts;
- Shopify Functions controlling discounts.
Separate these from an actual stale product-price problem.
What to Collect Before Contacting Shopify Support
If the problem appears to exist in Shopify storefront data rather than your theme, give Shopify Support a reproducible case.
Prepare:
- store domain;
- product URL;
- product ID;
- variant ID;
- SKU;
- old price;
- new price;
- currency;
- market;
- exact time of the Admin update;
- screenshots from Admin;
- screenshot of the storefront;
- output from the product
.jsendpoint; - whether another browser reproduces the issue;
- whether another network reproduces it;
- whether a clean unpublished theme reproduces it;
- whether the problem self-corrects and, if so, when.
A report saying:
“My price doesn’t update”
contains very little diagnostic information.
A report saying:
“Variant 123456789 was changed from 39.00 USD to 45.00 USD at 14:03 UTC. Admin shows 45.00, but the US storefront Ajax Product API still returned 3900 at 14:22 UTC in two browsers and two networks. A clean theme reproduces it.”
gives support a specific event to investigate.
What Not to Do
Do not respond to every stale price by making random production changes.
Avoid:
- repeatedly saving the product without recording results;
- clearing browser cache dozens of times without checking underlying data;
- editing theme code before checking Markets;
- disabling all apps at once;
- deleting and recreating products;
- deleting and recreating variants;
- changing customer-facing URLs to work around cache permanently;
- assuming all customers receive the same market price;
- assuming the value shown in Shopify Admin is always the final price for every market;
- installing another pricing app as a test;
- editing the live theme without a duplicate backup.
Diagnose the price from the data source outward.
Best Troubleshooting Order
- Record the affected product and variant.
- Confirm the new price in Shopify Admin.
- Check the exact variant.
- Identify the affected market and currency.
- Check Shopify Markets and catalogs.
- Check for fixed market pricing.
- Open the product’s
.jsAjax API response. - Compare the affected variant price.
- View the raw page source.
- Compare raw HTML with the visible price.
- Watch for JavaScript changing the price after page load.
- Check pricing-related apps.
- Check Compare-at price.
- Check collection cards and Quick Add.
- Test an unpublished clean theme.
- Test another browser and device.
- Test another network.
- Try a unique query-string request as a cache diagnostic.
- Check external pricing integrations.
- Compare cart and checkout.
- Collect evidence before escalating to Shopify.
Frequently Asked Questions
Why is Shopify still showing the old price after I changed it?
The storefront may be showing another variant, a fixed market price, a catalog price, JavaScript-generated pricing, app-generated pricing or temporarily stale storefront data. Check the affected variant and market before assuming browser cache is responsible.
How long does Shopify take to update a product price?
Normal product changes are generally expected to propagate without requiring merchants to manually clear a Shopify cache. If a specific storefront continues displaying an older value for an extended or unpredictable period, diagnose the data path rather than relying on a fixed waiting time.
Does Shopify cache product prices?
Shopify uses caching and distributed storefront infrastructure, but an apparently stale price can also come from Markets, theme code, JavaScript or apps. Do not diagnose cache based only on the fact that a value looks old.
Why does Shopify Admin show the new price but my website shows the old one?
First confirm the correct variant and market. Then check the product’s Ajax Product API response. If the API contains the new price but the page displays the old one, investigate the storefront theme or apps.
How can I check the real Shopify storefront product price?
Shopify’s official Ajax Product API provides product and variant information at the locale-aware /products/product-handle.js endpoint. Compare the affected variant’s price there with the visible storefront.
Why is the Shopify .js product price a large number?
Monetary values are returned in minor currency units. In a two-decimal currency, a value such as 2999 usually represents 29.99.
Does the Shopify Product Ajax API respect customer currency?
Yes. Shopify states that monetary values returned by the Ajax Product API use the customer’s presentment currency. Always consider market and currency context when comparing prices.
Why does the old price show only in one country?
Check Shopify Markets, catalogs and fixed prices. Different markets can have different pricing rather than simply receiving automatic currency conversion from one base price.
Why did changing the base price not change the international price?
A market or catalog can contain a fixed price that overrides other pricing calculations. If that fixed amount remains configured, changing the base product price does not necessarily replace it.
Why does one product variant have the new price but another still shows the old one?
Shopify variants have their own pricing. Confirm that you edited the exact variant customers are viewing.
Why does the product page show the new price but the collection page shows the old price?
The collection product card may use different Liquid, JavaScript or app logic. Troubleshoot the product-card section independently from the main product template.
Why does the price change after the page finishes loading?
JavaScript or an app may be replacing the initial server-rendered price. Check variant scripts, subscriptions, bundles, currency apps and dynamic-pricing applications.
Can a subscription app cause the old Shopify price to appear?
Yes. Subscription and selling-plan interfaces can display prices that differ from the product’s standard one-time purchase price. Verify which purchase option is active.
Can a currency converter cause stale prices?
A third-party currency tool can add another client-side pricing layer. Compare the raw Shopify product data with the final visible price and temporarily test the relevant integration in a duplicate theme.
Does incognito mode completely eliminate browser caching?
No. A private session starts with separate browser data but can still cache resources during that session. Use several diagnostic methods rather than treating incognito mode as definitive proof.
Can I force Shopify to refresh a product by adding a query string?
A unique query string can be a useful diagnostic comparison when testing suspected cached responses, but it is not a recommended permanent solution for customer-facing stale-price problems.
Should I delete and recreate the product?
No. Recreating a product can change handles, variant IDs and integrations and may create additional problems. Identify the pricing layer responsible first.
Should I reinstall my Shopify theme?
Not initially. Preview the affected product in a clean unpublished theme first. If the clean theme shows the correct price, investigate the live theme rather than replacing the entire storefront.
Can an ERP change my Shopify price back?
Yes. If an external system is configured as the price source of truth, its next synchronization can overwrite manual Shopify Admin changes. Check integration logs if the Admin value itself reverts.
Why is the price correct in the cart but wrong on the product page?
This strongly suggests the transactional product price may be correct while the storefront display layer is stale or incorrectly rendered. Check theme Liquid, JavaScript and apps.
Why is checkout showing a different price from the product page?
The difference can result from market pricing, discounts, selling plans, B2B catalogs, bundles or other checkout pricing logic. It is not automatically a cache problem.
Can Compare-at price make it look like Shopify ignored my price change?
Yes. Themes often display both Price and Compare-at price. Confirm which field you changed and how the theme formats sale pricing.
Bottom Line
If Shopify Admin shows a new product price but customers still see an old one, do not start with theme edits or endless cache clearing.
Start with three questions:
- Am I looking at the correct variant?
- Am I looking at the same Shopify market and currency?
- What price does Shopify’s storefront product data actually return?
If the Ajax Product API already returns the new price but the page shows the old one, investigate the theme, JavaScript and apps.
If only one country permanently sees a different price, check Markets and fixed catalog pricing. Shopify officially supports market-specific prices, and fixed prices can override normal pricing adjustments.
If the storefront product data itself temporarily returns the old value and later corrects itself without any configuration changes, preserve a reproducible example with the variant ID, timestamps, market and API response before contacting Shopify Support.
The key is to find the first layer where the price becomes wrong. Once you know whether the discrepancy begins in product data, market pricing, Liquid, JavaScript or an app, the problem becomes much easier to solve.
Browse more practical Shopify troubleshooting guides for storefront, checkout, product and integration problems.
Sources and Further Reading
- Shopify Developer Documentation: Ajax Product API
- Shopify Developer Documentation: Ajax API
- Shopify Help Center: Markets
- Shopify Help Center: Creating catalogs for Markets
- Shopify Help Center: Pricing in local currencies
- Shopify Help Center: Setting sale prices for products
- Shopify Community: Product pages displaying old prices after product updates, August 2026