Articles on: Widgets

Product Page Add-ons

To access this page, go to Supr Bundles & Subscriptions > Design and scroll to the Add-on settings card at the bottom of the page.


Widget add-ons are the extras around your subscription widget: a badge next to the product price, the add to cart button text, the delivery date picker and a few display rules. Each one is a row in the Add-on settings card. Switch a row on or off with its toggle, and click the row to open its settings.


Add-ons change the product page around the widget. They are not the add-on products you can attach to a bundle option, which are set on the offer.


Table of contents



Subscription badge


Displays a small badge next to the product price whenever a subscription option is selected. This badge highlights the discount so shoppers immediately see the value in subscribing.


  • Badge label

Set the text that appears inside the badge. Use {{ subscription_discount }} to insert the discount, for example SUBSCRIPTION • {{ subscription_discount }}. If your badge label has no variable in it, the badge shows only the text you typed and no discount.


  • Percentage discount text

Customize how percentage based discounts are shown using {{ subscription_discount_percentage }}.


  • Amount off discount text

Customize fixed discount amounts with {{ subscription_amount_off_discount }}.


  • Fixed price discount text

Show a fixed subscription price using {{ subscription_fixed_price_discount }}.


  • Animation

Choose from None, Pop, or Drop to draw attention when the badge appears.


The badge label holds the wording, and the three discount texts control how the discount itself is written. Whichever one matches your subscription option's discount type is inserted where you put {{ subscription_discount }}. To remove the badge, switch the row off.


Subscription price details


Shows the per delivery price and the unit price under the main product price. This helps customers understand the cost of a prepaid subscription or of products sold by weight or volume.


  • Per delivery price text (prepaid)

Label the cost of each delivery on a prepaid subscription option using {{ per_delivery_price }}, for example {{ per_delivery_price }} / delivery.


  • Unit price

Display the unit price with {{ unit_price }} and {{ unit_price_measurement }}. This uses the unit price you set on the product in Shopify.


  • Price per week or month

Choose Per week or Per month to add a line such as $7.82 / week, worked out from the price of each delivery and how often it is delivered. It helps customers compare options with different frequencies, and it follows the bundle option they pick. Word it with {{ per_week_price }} or {{ per_month_price }}. A month counts as 30.44 days. Tick Round to whole amounts to show $8 / week rather than $7.82 / week; the price charged does not change.


  • Later orders price

When later orders cost something different from the first, for example after a refill or a loyalty discount change, a line such as Then $5.00 from order 2 is added. Word it with {{ renewal_price }} and {{ order_number }}. The price is per unit, like the lines above, and it is the same later price Shopify shows at checkout.


These lines appear only when a subscription option is selected. The per item price printed inside the widget itself ("$3.50 each") is a different thing: it is switched on and off in Elements > Price per unit and worded in Labels, see The Subscription Widget.


Add to cart button text


Changes the add to cart button's label while a subscription is selected, so customers know they are starting a recurring order. It is on by default and reads Add subscription to cart.


  • Add subscription to cart button text

Enter any wording, such as "Subscribe now", to replace your theme's button text whenever a subscription option is selected. If the wording is too long to fit where your theme puts the button (beside the quantity, for example), the button keeps your theme's own text on that screen size rather than moving to a new line.


You can also put the saving on the button, using any of these variables:


  • {{ subscription_savings_amount }} the money the subscription saves
  • {{ subscription_discount_value }} the discount itself, as a percentage or an amount
  • {{ subscription_full_amount }} the price before the subscription discount
  • {{ subscription_discounted_amount }} the price after it


For example, Subscribe and save {{ subscription_savings_amount }} shows as "Subscribe and save £5.00". The figures follow whatever the customer has selected, so they update when they change the quantity, the variant or the delivery frequency.


To keep your theme's own button text at all times, switch this add-on off. The button then says whatever your theme says, whether a subscription is selected or not.


Subscription limit reached text


The wording shown when a shopper picks a subscription option that has reached a limit you set on it. Limits are set on the option itself, in the offer, under Limit active subscriptions (Max per option, Max per product and Max per customer).


  • Add to cart button text

Replaces the add to cart button text when a limited subscription is selected. The default is "Subscription limit reached".


  • Checkout validation message

The error shown at checkout if the customer still has the limited product in their cart.


  • Customer already at their limit (checkout)

The error shown at checkout when a signed-in customer already holds as many subscriptions on an option as its Max per customer allows. Translate it in Settings > Translations under Widgets.


Plan group order


Sets the order in which subscriptions from different offers appear, when a product is in more than one offer.


Each offer's subscription options form one group on the product page, headed by the offer's Subscription name. Click the row, move the groups up and down with the arrows, then click Save. The top group is shown first. The same order is used everywhere Shopify lists them, including checkout.


To change the order of the options inside one offer, drag their rows in the offer instead. See The order things appear in.


Loyalty bonus


Shows the rewards of a loyalty program on the widget, so shoppers see what they earn by subscribing. It is off by default.


Switch it on with its toggle and click the row to set its wording and look. The rewards themselves come from the loyalty program attached to the subscription option. See Loyalty programs.


Hide when single option


Hides the subscription widget whenever a shopper has only one way to buy, because there is nothing left for them to choose.


That covers a product with one subscription option and no one-time purchase row. On an offer with bundle options it is also judged on the bundle option the shopper has selected: while it leaves only one way to buy, because it is One-time purchase only, or Subscription only with a single delivery frequency, the widget steps aside and that way to buy is used. Pick a bundle option that offers more and the widget comes back.


It is off by default. Turn it on to let your bundle options carry the whole choice, see One choice instead of two. It is also the way to hide the widget on a subscription-only product that has a single delivery frequency.


Update product page prices


Keeps your theme's own product price in step with what the shopper has chosen. When they pick a subscription option or a bundle deal, the large price at the top of your product page changes to what they will actually pay, with the original price crossed out beside it whenever the choice saves them money.


This is on by default. Turn it off to leave your theme's price alone: your subscription widget and your bundle options still show their own prices, only the theme's price stops changing.


Where your theme already knows how to display a sale, the app puts your theme into that state and fills in your theme's own price and crossed out price, so a subscription or bundle discount looks exactly like a markdown you set yourself, in your fonts and your colours. Where a theme has no sale styling of its own, the crossed out price is built from your theme's price so it still matches your type and colour, with a plain line through it.


This is checked directly against Horizon, Dawn and the themes built on Dawn (Refresh, Craft, Sense, Ride, Taste, Studio, Crave, Colorblock, Publisher, Origin, Spotlight, Trade, Concept), the newer Shopify themes Ritual and Tinker, and Impulse, Empire, Motion, Turbo, Focal, Pipeline and Highlight. Other themes usually work too. If your product page price does not change, tell support which theme you use and we will add it.


Because the theme's price follows the selected option, the price a shopper sees when the page opens is the price of whichever option is selected first. If a subscription option or a bundle pack is the default, the discounted or pack price shows at the top. To open on the regular price, click Make default on the One-time purchase row of the offer.


Currency code on prices


Decides whether the prices in your subscription widget and your bundle options carry the currency code, for example $24.00 USD instead of $24.00.


  • Same as theme (the default): the widget and the bundle options follow your theme's own currency code setting, so they match the rest of your store.
  • Show: always print the currency code, whatever your theme does.
  • Hide: never print it, even if your theme shows currency codes elsewhere.


The choice saves as soon as you pick it and applies to every price in the subscription widget and the bundle options, including the prices that update when a shopper changes the variant, the selected option or the quantity. Savings such as "Save $5.00" are written without the code either way. On Same as theme the preview on the Design page shows prices without the code, because it cannot read your theme's setting; your storefront still follows the theme.


Cents on whole prices


Decides how a price with no cents is written in your subscription widget and your bundle options.


  • Show ($24.00) (the default): every price keeps its cents.
  • Hide ($24): a price with no cents is written without them, so $24.00 reads $24 and $1,200.00 reads $1,200. A price like $24.50 always keeps its cents, so what a shopper sees is always exactly what they pay.


The choice saves as soon as you pick it and applies to every price in the subscription widget and the bundle options, custom designs included, and to the subscription price details under the product price. It also applies to the prices that update when a shopper changes the variant, the selected option or the quantity. It follows your store's money format, so a store that writes prices as 24,00 € gets 24 €. Your theme's own product price is not changed.


Date picker


Lets customers choose their delivery date from a calendar under the widget. Useful for local delivery or whenever you want customers to pick their first delivery date.


Switch it on with the toggle on the Date picker row, then click the row to set it up:


  • Date picker heading

The heading above the calendar field.


  • First delivery date label and Next delivery date label

The names of the dates added to the cart and checkout on a subscription.


  • Single delivery date label

Used for one-time and bundle purchases, which have no next order.


  • Available delivery days

Choose which days of the week customers can select.


  • Processing days before delivery

Add a buffer between order placement and the earliest available delivery date.


  • Maximum first order delivery date

Limit how far in the future customers can choose their first delivery (in days, weeks, or months).


  • Disabled delivery dates

Block out specific dates or date ranges such as holidays.


  • Order cutoff time

The last time customers can order for the earliest available delivery date, with its Time zone.


What the date field looks like is not set here. Once the date picker is on, a Delivery date section appears in Elements on the Design page, with its heading, field and border, so the field matches the widget it sits under.


Offer countdown


Offer countdown shows how long is left on an offer, such as Ends in 2d 4h, on the product page under the offer title. Each offer turns it on for itself: set an End date under Offers > Schedule and tick Show a countdown on the product page (see Scheduling an offer). It updates while the page is open and disappears when the offer ends.


This row has no switch of its own. Click it to change the Countdown text, where {time} prints the time left in days, hours and minutes in the shopper's language, and its Text color (the offer title's colour by default). The text is translated with your other labels under Settings > Translations > Widgets.


Sticky add to cart


Sticky add to cart keeps an add to cart bar on screen once your theme's add to cart button has scrolled out of view. It shows the product's name, the variant, the price of what the shopper has chosen (the subscription option, the one-time price or the selected bundle option) and an add to cart button.


The button presses your theme's own add to cart, so your cart drawer or cart page, bundles and everything else work exactly as they do from the main button, and it carries the same wording, including Add subscription to cart while a subscription is chosen. Switch it on with the row's toggle, then click the row to set:


  • Show on: Phones (the default) or All screens.
  • Layout: a Bar across the foot of the page, or a Floating card with the product image, rounded and centred.
  • Show option pickers in the bar: small dropdowns for the subscription options and the bundle options, so shoppers can change them without scrolling back up. They change the options on the page, so the price and the cart are the same as choosing there.
  • Style: the background colour, text colour, corner radius and font size. Left empty, they follow your widget design. The button keeps your theme's look.


It is off unless you turn it on. If your theme has a sticky add to cart bar of its own, turn one of the two off so shoppers see only one.


Custom fields


Custom fields ask shoppers questions on the product page, such as a pet's name or a grind preference, and save each answer on the order and on the subscription, so it follows every renewal. Each subscription option asks its own: in Offers, open the option, click Custom fields (under Display, after Benefits) and add up to 5 fields. For each one, set:


  • Label: the question. It is also the name the answer is saved under, so changing it later saves new answers under the new name.
  • Type: Text or Dropdown, with its Choices separated by commas.
  • Placeholder (or Prompt for a dropdown).
  • Default answer: what the field starts with, so shoppers only change it when it does not fit. Type it for a text field, or pick one of the choices for a dropdown. The shopper can change or clear it; a required field with a default is already answered. A subscription you create yourself starts with the same answers.
  • Required: the shopper cannot add to cart until it is filled in, and sees Please fill in followed by the field's name.
  • Customers can change it in the portal: the answer shows in the customer portal under Your details, where the customer can change it. Untick it to show the answer without letting them change it.


Know when customers change their answers. When a customer changes an answer in the customer portal, they get the Subscription contract updated email. Like every subscription email, it shows the subscription's answers in its Subscription summary, each under its field's name, leaving out empty ones. Tick Email me a copy on that email under Settings > Notifications > Customer notifications to get the same email whenever it is sent, so you can keep packing lists up to date. You also get a copy for the subscription's other changes, such as products or quantities.


See and change the answers. Open the subscription from Subscriptions: its answers are in the Custom fields card on the right, which every subscription has. Click the pencil to change an answer or fill in one the customer left empty. You can change every field, including the ones customers cannot change in the portal, but fields the subscription option asks cannot be removed: a required one left empty shows Required but still saves. Click Add field to add your own field, a name and a value, to any subscription, even one whose option asks nothing; the bin icon removes your own fields and answers saved under a name no field uses any more (a field you renamed or removed). Fields you add are saved on future orders, where the customer can see them, but not in the customer portal unless Other order details under Settings > Customer portal includes them. Changes apply from the next order. The order the shopper placed keeps the answers they gave, listed under the product on the order page in Shopify. When you create a subscription yourself (Subscriptions > Create subscription contract), the same Custom fields card lets you answer the option's fields and add your own.


The fields appear under the subscription options while that option is chosen, in every design, and work with bundle options too; the offer editor's preview shows them as you type. They take your widget design's borders, corners and text colour. Click the Custom fields row here to override them under Style (including Field background, the inputs' fill; left empty, the inputs take your design's option background, or white), and to reword the message for a required field. Translate the labels, placeholders, choices, text default answers and the message under Settings > Translations > Widgets > Custom fields; a translated dropdown still saves the choice in your store's main language, so your orders read the same whatever the shopper's language.


Colours follow your design. Every add-on with a Style section (custom fields, gift subscriptions, sticky add to cart, cart upsell and Add to my subscription) takes its colours and corners from your widget design when you leave them empty, so it matches your subscription options. Fonts follow your theme.


Gift subscriptions


Gift subscriptions holds the texts and look of the Send as a gift toggle that shows while a shopper picks an option that can be gifted (in Offers, a one-off Prepaid subscription with Shoppers can send it as a gift ticked). Switched on, it asks for the recipient's email (always) and, if you choose under Also ask for, their name and a gift message (the message is on unless you switch it off). Click the row to reword the toggle, the field names and the messages, and to set their Style (left empty, they follow your widget design); translate them under Settings > Translations > Widgets > Gift subscriptions. The recipient gets the Gift received email once the subscription starts. See Can I offer gift subscriptions? for the whole setup.


Cart upsell


Cart upsell adds a Subscribe and save 10% button to each product bought one time, in your cart page and cart drawer, just above its quantity. One click switches that line to a subscription, at the subscription price, without leaving the cart.


  • The button offers the product's first subscription option that its product page would show on its own (or all of them, see Let shoppers choose the frequency below), so options only sold inside a bundle, options you keep off the online store, free trial options and prepaid options are never offered. Options limited to tagged customers are left out too; options for signed-in customers show only to signed-in customers.
  • The saving is the option's discount. With no discount, the button reads Switch to a subscription.
  • A quantity break (a 2 pack, a 3 pack) gets the button too, when that bundle option's discount applies to subscriptions. The line keeps its bundle discount with the subscription discount on top, the same price your product page charges for that pack on a subscription, and only an option that pack allows is offered. Other bundle lines (fixed bundles, build-a-box, Buy X Get Y, gifts and add-ons) and lines carrying another app's details never get a button.
  • Let shoppers choose the frequency (in the row's settings, off by default) puts a dropdown of the product's subscription options beside a Subscribe button, each option with its own saving ("Delivery every month, save 10%"). The first option is chosen, so one click still does it. A product with only one option keeps the single button. Option names come from your subscription options, in the shopper's language.
  • Let shoppers switch back to one-time (off by default) gives subscription lines a Switch to one-time purchase button. It is not shown for products sold on subscription only, or for a bundle option sold on subscription only.
  • Under Style, choose an outline or filled button, its colour and text colour, the corner radius, the font (your theme's body or heading font, system, serif or monospace), its weight and size, and with the dropdown on, the dropdown's text colour. The dropdown's arrow takes the button colour. Left empty, the colours and corners follow your widget design (the border of the chosen option), read from the product page; on a page with no widget they use the design this shopper last saw, and your theme's only before they have seen one.
  • It needs the app embed switched on, because a cart drawer can open on any page.


Click the row to reword the buttons and the dropdown entries ({discount} is the saving, {option} the option's name), and translate them under Settings > Translations > Widgets > Cart upsell. Most themes are supported; if the button does not show in your cart, tell us which theme you use.


Spend more, save more


An order discount once the cart reaches a spend tier, for example 5% off from $50 and 10% off from $100, with a progress bar at the top of the cart page and the cart drawer: "Spend $20.00 more to save 5%".


  1. Click Spend more, save more, set up to 5 tiers (Spend at least in your store's currency, and Percentage off), and choose what Counts: every item in the cart, one-time items only, or subscription items only.
  2. Reword the Progress text ({remaining} is the amount still to spend, {discount} the next tier's percentage) and the Last tier reached text ({discount}), and set the bar's colour, corners and type under Style. Both texts translate under Settings > Translations > Widgets.
  3. Click Save, then turn the toggle on.


How it works:


  • Each tier is a Shopify automatic discount the app creates, so checkout applies it, and you will see them under Discounts in your Shopify admin. Change them here: every save replaces them.
  • Shopify applies the best tier the cart reaches. The tiers combine with bundle discounts, subscription discounts and shipping discounts, but not with other order discounts.
  • Counts decides both what the bar adds up and which items the discount comes off: with One-time items only, subscriptions neither count nor get the discount.
  • The Discount name at checkout ({minimum}, {discount}) is shown on the order in your store's language only: Shopify does not translate discount names.
  • The bar needs the app embed on. Minimums are converted for shoppers paying in another currency.
  • While it is on, the preview on the Design page also draws the bar under the widget, captioned In the cart and cart drawer, with this product: it shows what a cart holding the previewed product at its selected price would read, in your Style.


Add to my subscription


Add to my subscription lets a customer who already subscribes add the product they are looking at to that subscription, straight from the product page, with no new checkout. The button appears under the subscription options only for customers who are signed in to your store and have an active subscription; nobody else sees it.


It shows as a card: the button, and under it the date the product will ship (Ships with your next order on October 23). The card appears while the customer has a subscription option selected, not on a one-time purchase, and offers only their active or paused subscriptions on that same subscription option, so the product is added at the price the page shows. With one such subscription there is no list; with more than one, they pick which from a list (Subscription #1234, next order October 23).


Clicking the button opens a confirmation before anything changes. It lists everything already in the subscription, then the new product highlighted and marked New with its price on each delivery, and the subscription's next order with the product added: subtotal, discounts, shipping, tax and total, worked out by Shopify. When the product brings a bigger discount or cheaper shipping, that row is highlighted and tagged New saving. Only when the customer clicks Add to subscription is the product added, to every order of that subscription at its subscription price, and they get the usual Subscription updated email.


A product already in the subscription. Adding a product the subscription already has raises the quantity of that line instead of adding a second one, so the confirmation shows the line once with its new quantity. A line that is part of a bundle or a subscription box, a free gift or reward, or one carrying the customer's own details (an engraving, for example) is left as it is, and the product is added on its own.


Quantity breaks. If the subscription already holds the product as a quantity break pack on the same subscription option, the product joins that pack instead of becoming a line of its own, when that earns a bigger pack. For example, one more can on a Double turns it into a Triple, with the Triple's saving on every following order, priced exactly as your checkout prices it. The confirmation shows the pack with its new quantity and name. If no pack fits the new quantity, the product is added on its own and the existing pack keeps its price. Other bundle types are not combined this way yet.


It follows the same rules as adding products in the customer portal: it needs Add products on under Settings > Customer portal, and it is refused inside your Lock changes before the next order window. Click the row to reword every text on the card and in the confirmation, and to set its Style: an outline or filled button, the accent and text colours, corners, the font, its weight and size, and the list's text colour. A preview shows the card and the confirmation as you edit. The texts are translated with your other labels under Settings > Translations > Widgets.


Common questions


The button changed to "Add subscription to cart". How do I keep my theme's "Add to cart"?
Switch off Add to cart button text in Add-on settings, or type the wording you want in Add subscription to cart button text.


The price at the top of my product page does not change when a subscription or bundle is selected.
Check that Update product page prices is on. If it is and your theme's price still does not change, tell us which theme you use and we will add support for it.


My product page shows a discounted price instead of the price I set.
The theme's price follows the option selected when the page opens. Make the One-time purchase row the default on the offer, or switch off Update product page prices.


Prices in the widget show "USD" (or do not show it).
Change Currency code on prices to Show or Hide. If the widget shows a different currency from the rest of your store, message us with the product link.


Can I show prices without .00?
Yes. Set Cents on whole prices to Hide. Prices with cents, such as $24.50, keep them.


My product is subscription only with one frequency. Can I hide the widget?
Yes. Switch on Hide when single option.



Updated on: 10/15/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!