The Product add-on block offers a single, specific product you choose as an add-on inside the cart, promoting one known product (a warranty, a sample, a best-seller) as a quick add directly in the cart.
Unlike Upsells, which surfaces products chosen by a strategy, the Product add-on always shows the exact product you pick.

Behavior
- If no live variant resolves — the product is unset, archived, or out of stock — the block renders nothing rather than a dead button.
- The control reflects whether this block’s own add-on line is in the cart, so switching it off removes the line it added (and won’t affect the same product added elsewhere).
- A compare-at price strikes through when there’s a genuine markdown; the ”% off” label is hidden if the discount rounds below 1%.
- The add-on image falls back to the product’s featured image when the chosen variant has none.
Settings
Title, Price label, and Description all support the same four tokens:
{{product_title}}, {{price}}, {{compare_at_price}}, and {{savings}}.
Placement and limits
- Region: body or bottom.
- Maximum: 3 per cart state — the filled cart and the empty cart each get their own allowance.
- State: both filled and empty cart.
- Not added by default. Not locked — you can remove or hide it.
Custom template
Supports a custom template from its Code tab, which replaces this block’s built-in markup with your JSX. These are the props it receives.Content
State and actions
Design
Style this block with its Design section in the settings panel. These are per-block overrides that layer on top of your global design and fall back to it when blank.Text
The Text section in Design lets you control the typography of three elements. Use the Text element picker to switch between them. Title — the product name. Also supports a custom font family. Bold and text color are set in the Rich Text Editor above (in the Settings tab), not here.
Price — the price line. Bold and text color are set in the Rich Text Editor above.
Description — the supporting copy. Bold and text color are set in the Rich Text Editor above.
What are design settings? Learn more here: Design settings.