Checkbox add-on
Offer one extra product — gift wrap, shipping protection, a greeting card — as a single tick box in the cart drawer, priced live from your Shopify catalogue.
What it is
The Checkbox add-on adds one row to your cart drawer. The row has three parts: a tick box, a short line of words, and a price.
When a shopper ticks the box, one of that product is added to their cart. When they untick it, it comes out again.
When to use it
Use it for a yes-or-no decision about the whole order, not for something a shopper browses. For example:
- Gift wrapping
- Shipping protection
- A greeting card
- A handling or assembly charge you already sell as a product
If you want to recommend products a shopper picks between, use the Upsell module instead. If you want to give something away once a cart passes a total, use Free gift.
The add-on has to be a real product in your Shopify catalogue, with a price. The drawer reads the price from Shopify every time it opens — there is no price field here to keep in step.
Set it up
- In Shopify, create the add-on as a normal product and give it the price you want to charge. Keep it simple: one variant, in stock.
- In Smart Cart, open the cart you are editing.
- Scroll to
Add a module, chooseCheckbox add-onin the Module list, and selectAdd. - Find
Checkbox add-onin the module list above and selectSettings. - Under
The add-on, selectChoose from your catalogueand pick your product. - Optionally fill in
What the row says. Leave it empty to use the product's own name. - Select
Save. You will see a note that the change goes live the next time you publish. - Select
Back to modules, thenReview and publish.
Back on the module list you can move the row up and down with the arrow buttons, or use Hide and Show to switch it off without deleting your settings.
Settings
| Setting | What it does |
|---|---|
The add-on | The product that gets added when a shopper ticks the box. Chosen with the catalogue picker. Its price comes from your catalogue every time the drawer opens, so changing the price in Shopify changes the row. Required — without it the row does not appear at all. |
What the row says | Optional. The wording next to the tick box, for example Add gift wrapping. Leave it empty and the row uses the product's own name from Shopify. |
Those are the only two settings this module has. There is no price field, no quantity field, and no option to start the box ticked.
How it behaves
It can never be ticked in advance
Shopify does not allow paid add-ons to be pre-selected, and this module has no setting that could do it. The box can only ever be turned on by a shopper clicking it. If you import settings from another app that carried a "pre-ticked" or "selected by default" option, it is ignored.
The price is always today's price
The price shown in the row is fetched from your catalogue when the drawer opens. Nothing is saved here, so the row can never quote an old price and charge a new one.
The price sits inside the tick box's label, which means screen readers read out the wording and the price together. A shopper never has to tick something to find out what it costs.
The tick reflects the cart, not our own memory
The box is ticked whenever that product is in the cart — even if the shopper added it from the product page rather than from this row. Shopify merges those into one line, so the box tells the truth: the add-on is in their cart.
Unticking the box removes that line from the cart, whatever quantity it holds.
Quantity
Ticking the box adds exactly one. Shoppers cannot choose a quantity from this row. Tapping quickly twice will not add two.
Products with more than one variant
The module uses the first variant that is available for sale. It is built for simple, single-variant products, so pick one of those if you can.
Sold out add-ons
If the add-on is sold out, the row is not shown — offering it would only produce an error the shopper cannot fix. The one exception is a shopper who already has it in their cart: they still see the row, so that they can take it out.
What the shopper is told
After a successful tick or untick, the drawer announces it for screen reader users. The default wording is {{product}} added to your cart. and {{product}} removed from your cart.
If the cart cannot be updated, the shopper hears Couldn't update your cart and the tick box is put back to match what is really in the cart.
You can reword both messages, per language, on the Shopper copy screen of the cart, under the Checkbox add-on group.
Who sees it
By default the row is shown to every shopper whenever the module is switched on. To narrow that — carts over a certain value, one country, shoppers on a phone — use Add a display rule on the module's settings screen. Display rules are part of the Launch plan and above.
When the row does not appear
The module renders nothing at all, rather than a broken row, in each of these cases:
- No product has been chosen.
- The product was saved without a handle — re-pick it with
Choose from your catalogueif this happens. - The product cannot be read from your storefront, for example because it is not published to the Online Store sales channel.
- The product has no usable price.
- There is no wording to show: you left
What the row saysempty and the product has no title. - The add-on is sold out and is not already in the shopper's cart.
An add-on with no product saved does not warn you in the admin. The cart publishes normally and the row simply never appears. If you cannot see your add-on on the storefront, check this page's list above first.
Limitations
Things a merchant reasonably expects that this module does not do today:
- One product per module. Each Checkbox add-on offers a single product. To offer two add-ons, add the module a second time and pick a different product. If you paste several products into the field, only the first usable one is saved.
- No quantity. It always adds one, and there is no way to let shoppers choose more from this row.
- No variant choice. On a multi-variant product the shopper gets the first sellable variant, with no way to change it. There is no size or colour selector in this row.
- No discounting. The shopper is charged the product's normal catalogue price. There is no "free above $X" behaviour here — that is what Free gift is for.
- No pre-tick, ever. This is deliberate and cannot be enabled, because Shopify does not permit pre-selected paid add-ons.
- No stock warning in the admin. If the add-on sells out, the row quietly stops appearing on your storefront and nothing tells you in Smart Cart.
- No built-in condition. "Only offer gift wrap over $50" is not a setting on this module — it needs a display rule, which requires the Launch plan or above.
Changes here are not live until you publish. Open the cart and select Review and publish — see Publishing. If the row still does not show up on your storefront, work through Troubleshooting.