Shopify price not updating when selecting a variant
If the price stays the same when a shopper picks another size or colour, the theme’s variant script has stopped running, usually because it throws an error looking for a page element that custom code or an app removed or renamed. Because the same script also sets the hidden variant ID, the cart then receives the default variant at the default price. Capture the first console error while changing options, then compare against a fresh copy of your theme to see which edit broke it.
What you'll see
You choose Large or Blue on a product page and the price, the main image, the stock message and the ?variant= value in the address bar all stay as they were. The order then comes through for the first variant at its price, which is how many owners find out: a customer complains they were charged for the wrong option or sent the wrong size.
Why it happens
1. The variant script throws an error and stops
When an option changes, the theme script updates price, media, availability and the hidden ID field in sequence. If one of those steps fails, for example because it expects a product image element that no longer exists, the code stops there and nothing after it runs.
2. The picker markup was replaced
Swatch apps, custom option apps and hand-edited snippets sometimes replace the theme’s dropdowns or radio buttons with their own. The theme script then cannot find the inputs it listens to, so selecting an option changes nothing behind the scenes.
3. Options changed after code was customised around them
A developer may have hard-coded option names or their position, such as assuming Size is always Option 1. Renaming an option, reordering options or adding a new one in the product admin breaks that assumption silently.
How to fix it
- Open the affected product on the live store, open DevTools > Console, then switch between several options. Copy the first red error and note which file and function it mentions.
- Go to Online Store > Themes > Add theme and add a fresh copy of the same theme from the Theme Store. Preview the product in it; if the price updates there, your theme’s edits are responsible.
- Compare the product template, the main product section and the variant picker snippet in your theme with the same files in the fresh copy. Shopify’s code editor shows file history for many files, which helps you see recent changes.
- In the theme editor’s App embeds, disable swatch, custom option and bundle embeds one at a time and retest the picker in preview.
- If the product’s options were recently renamed or reordered, check any custom code for literal option names or index numbers and update it.
- After the fix, change options again and watch the address bar: the ?variant= number should change with each choice.
How to check it's fixed
- Step through every combination of options and confirm price, compare-at price, main image and availability text change to match each one.
- Add two different variants to the cart and check on /cart that each line shows the option you picked at its own price.
- Load a variant URL directly (with ?variant= in it) in a private window and check the page opens with that option already selected.
What a QAlaunch scan shows for this
- JavaScript errors on product pages included in a paid report, with the file that threw them.
- Failed requests for theme or app scripts that the picker depends on.
- It does not click through every option combination and has no way to know which price belongs to which variant, so price correctness needs your own check.
See exactly what a full report contains in the sample report.
Frequently asked questions
Why does the wrong variant end up in the cart?
The form submits a hidden variant ID. When the picker script fails, that ID never changes from the default, so the cart gets the first variant regardless of what the shopper selected on screen.
The image changes but the price does not. Is that the same bug?
Usually. The variant script handles each element in turn, so a failure partway through can update some parts and not others. The console error tells you which step stopped.
Could this be a Shopify outage?
Rarely. Variant switching runs in your theme in the shopper’s browser. If the same product works in a fresh copy of your theme, Shopify itself is fine and the problem is in your theme or apps.
Rather have a QA engineer test it by hand?
If this is a site you're launching or handing to a client, I'll go through it by hand, including the Shopify-specific issues a scan can't reach, like logged-in flows.
- Up to 10 key pages tested by hand, not a scan
- Every flow a customer uses: forms, sign-up, checkout, booking
- Real mobile and desktop browsers
- A written report in plain language, with screenshots
- A 15-minute call to walk you through it
- 10 years of professional QA experience
Tell me about your site and I'll reply personally, usually the same day.
No payment now. I'll confirm scope and price first.
Related fixes
More for Shopify: all Shopify fixes · Shopify testing · Shopify mobile checkout bugs
Written by Waqas Ahmad, QA engineer with 10 years of professional testing experience. Last checked October 26, 2026.
Sources: Shopify Community: variant picker doesn’t work · Shopify Community: price not changing after choosing variant