Features
Marketing
Service Add-ons

Service Add-ons

Offer warranties, protection plans, and other services on the product page. Each has variations (e.g. 1-year, 2-year, 3-year).

Where to find it

Admin: /commerce/addons Storefront: shown on product detail page above the price

Creating a service add-on

  1. Click Create Service Add-on
  2. Fill in:
    • Name (e.g. "Extended Warranty")
    • Service type — Insurance, Plan, Warranty, Protection, Setup, Other
    • Pricing model:
      • Flat price — same price regardless of item
      • Percentage — % of item price, with optional min/max caps
      • Tiered — different price depending on item price range
  3. Save

Variations (coverage tiers)

Most warranties have tiers (1-year, 2-year, 3-year). Click into the service and add variations:

  • Name (e.g. "2 Year")
  • Price modifier type:
    • Multiplier — e.g. 1.5× the base price
    • Flat override — a fixed dollar amount replacing the base calculation

Customers see the variations as selectable pills on the product page.

Assigning to categories

An addon only shows on products in the categories you assign it to. Click into the service → "Add Category" → pick a category.

You can flag an addon as required per category — the customer must pick one to add to cart.

Item price eligibility

Limit when an addon shows:

  • "Only items over $X"
  • "Only items under $X"
  • Useful for warranties that only make sense at certain price points

Cart + order flow

  1. Customer picks an addon (and variation) on the product page
  2. Adds product to cart — addon is attached to the cart item with its price
  3. Cart subtotal includes addon prices
  4. On order creation, addon is saved as a line on commerce__order_item_addons
  5. Cart and checkout both display the addon with its variation name

Pricing logic

Pricing modelHow price is calculated
Flatflat_price
Percentageitem_price × (percentage / 100), clamped between min_price_cap and max_price_cap
TieredLookup in commerce__addon_service_tiers matching the item price

Variation modifier is then applied:

  • Multiplier — base × modifier
  • Flat override — just the modifier value

Related features