> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://supr-bundles-and-subscriptions.crisp.help/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Changing a product variant is not updating the widget prices/options

You added a product to an offer and enabled the widget. Now, when you switch between the product's variants (sizes, flavours, colours), the prices or the subscription and bundle choices in the widget do not change until you reload the page. This article explains why that happens and how we fix it for you.

### Table of contents

* [Why is this happening](#3-why-is-this-happening)
* [Recommended approach](#3-recommended-approach)
* [Technical explanation](#3-technical-explanation)
* [Common questions](#3-common-questions)

### Why is this happening?

For the widget to follow variant changes, your theme has to tell apps when a customer picks a new variant. Most themes do. Some custom, older or heavily modified themes do not, so the widget never hears about the change. Another app can also get in the way, most often another subscription app, or an app that replaces the theme's variant picker.

This is not something you need to fix in your settings. It is a theme compatibility issue, and our team fixes it on our side for your theme, usually without any change to your theme code.

### Recommended approach

| Get in touch with us through the live chat. Our team will add support for your theme.

To help us fix it quickly, please send:

1. A link to a product page where it happens. The product must be in a Published offer.
2. The widget must be enabled on your store (see [How to Enable the Subscription Widget in the Online Store](https://supr-bundles-and-subscriptions.crisp.help/en-us/article/how-to-enable-the-subscription-widget-in-the-online-store-enrffm/)).
3. If your online store is password protected, the storefront password ([how to find it](https://supr-bundles-and-subscriptions.crisp.help/en-us/article/how-to-share-your-online-store-password-with-support-18byyp2/)).

You can also email [support@subscriptions.super-simple.co](mailto:support@subscriptions.super-simple.co), but the live chat is the fastest way to reach us.

### Technical explanation

If you are a developer or have one in your team, this explains what the widget listens for.

When the widget loads on the product page, it listens for a `change` event on the cart form's variant input, which is one of these two elements:

* `form[action$="/cart/add"] input[name="id"]` or
* `form[action$="/cart/add"] select[name="id"]`

It also listens for the `variant:selected` and `variant:update` events that newer themes (such as Horizon) dispatch from their `variant-picker` element.

The most common reason the widget does not update is that the theme changes the variant input's value in code without firing a `change` event. Firing it after the value changes fixes that: `variantInputElement.dispatchEvent(new Event("change", { bubbles: true }))`.

To refresh the widget yourself, call this function, which is available on the window object in your online store:

`$superSubscriptions.triggerProductVariantRefresh(event?: Event)`

The `event` parameter is optional. Pass it only when the widget cannot pick up the new variant ID on its own.

### Common questions

**The widget price only updates after I refresh the page. Why?**
Your theme does not tell apps that the variant changed. Send us the product link through the live chat and we will add support for your theme.

**The price in the widget is different from the price in the cart. What should I do?**
Send us the product link and the variant you picked. If the widget missed a variant change, it can show the previous variant's price. We will check and fix it for your theme.

**Do I need to change my theme code?**
No. In most cases we fix it on our side. The technical explanation above is only for merchants who have their own developer.

**It happens only since I installed another app. Is that related?**
Possibly. Apps that replace the variant picker, or other subscription apps, can stop the widget from seeing the change. Tell us which apps you have installed when you contact us.