An add-on is another product from your catalog that shoppers can buy together with the product they are looking at, such as a gift box, gift wrapping or a protection plan. It appears in the product’s buy column as a small card with the add-on’s photo, name and price, and a checkbox:
Add-On Gift Box Service
Gift Box · Only $7.00 $5.99
Upgrade to our elegant gift box.
☐ Choose to buy
When the checkbox is ticked, Add to cart, Buy it now and the express checkout buttons of that product section all add the add-on too. It goes in as its own cart line at its catalog price, the same way Shopify add-on apps add a gift box.

Add an add-on to a product page

1

Create the add-on product

Add the gift box (or other add-on) to your catalog like any product, with its price, optional compare-at price, photo and stock. Publish it.
2

Open the product page in the theme editor

Open Themes 2 (platformdtc.com/themes2), edit your theme and switch to the Product page template, or open the page that has a Featured product section.
3

Add the block

In the product section, click Add block and choose Add-on. Drag it where you want it, usually just above the buy buttons.
4

Pick the product

In Add-on product, search for and pick the add-on. The list shows your store’s products.
The Add-on block is part of the Product page and Featured product sections of PlatformDTC themes, including Origin. In the ported Silent Scale theme, use its Product upsells block instead.

Settings

What shoppers see

  • Your catalog’s data only. The photo, name, price and compare-at price come from the add-on product. If it has no photo, no image is shown. A compare-at price is crossed out only when it is higher than the price.
  • Nothing when it can’t be bought. If the add-on product is deleted, unpublished or sold out, or the chosen variant doesn’t exist or is sold out, the block is hidden. Nothing is added to the cart. In the theme editor, the block shows a note that explains why it is hidden.
  • Checked out at its real price. Checkout prices the add-on from its variant, like every other line, and it keeps counting toward stock, discounts and reports as its own product.

Personalised products

If the product is personalised by an app (for example a name or photo, see Line item properties), the personalisation stays on the product’s line. The add-on line is a plain line with no personalisation.

Subscriptions and gifts

When the shopper subscribes to the product (a Subscription options block) or sends it as a gift subscription, the add-on is not added. Checkout applies one plan to the whole order, so the add-on would otherwise be charged again on every delivery.

For theme developers

The block type is product-addon and it works in the main-product and featured-product sections. In a custom section, @/theme exports the same mechanism. setProductAddOn(productId, blockId, entry | null) registers a ticked add-on, and the cart’s addLine and buyNow add it when they are called for that product. Pass addOns: false to addLine when a button should not add it.