# Add-ons and variants
Let customers add related products, variants, upgrades, and optional line items during checkout.
Source: /docs/offers/add-ons
Last modified: 2026-06-18
Add-ons and variants help customers tailor the purchase before they pay.

## Use cases

- add a workbook to a course purchase
- choose a license or seat variant
- add priority support to a service package
- choose event ticket tiers
- bundle a template pack with a core product

## Checkout behavior

Add-ons should update the visible total before payment. The completed session should carry the selected line items so invoices, integrations, and automations know exactly what the customer bought.

## Code path

The embed code does not change for add-ons:

```js
const result = await plandalf.present("course-offer");
```

Inspect the completed session to read selected items:

```js
if (result.status === "complete") {
  console.log(result.session.line_items);
}
```

## Related docs

- [Order bumps](/docs/offers/order-bumps)
- [Products](/docs/offers/products)
- [Live events](/docs/sdk/events)