How to add cross-sell products to an offer
Bundle products, also called cross-sells in older instructions, are the required paid parts of a Product bundle offer in Bundlex Bundles. For example, a cream and serum can qualify for a discount together. For a complete setup, follow Buy one product or the complete bundle.
What a cross-sell is
In this guide, a cross-sell means a required paid bundle product, even when its own discount is set to None. It is different from a free gift and from an optional paid upsell. You can add up to 10 cross-sells per offer. Removing a required product can stop the set qualifying for its discount.
Add a cross-sell to an offer
In the Offers tab, create or open a Product bundle offer and find Bundle products. Older quantity offers can still show an Additional products section when they already contain those products.
- Click Add products and choose Pick products. The product picker opens automatically.
- In the picker, choose the product and the specific variants you want to offer, then confirm. (If you close the picker without choosing, nothing is added.)
- If the Discount choice shows below the products, pick A different discount per product. Each product row then shows its pricing and quantity fields. Set the discount type on the row (see below). With One discount for the whole bundle, the Bundle discount applies to every product instead.
- If the discount type needs a value, enter the amount in the field next to it.
- Set the row's Qty, the number of units included in the set.
- Optionally open the row (the arrow at its end) and set a Title for the bundle product.
- Click Save. If the deal is a Draft, activate it when you are ready to test the storefront.
If the offer is using a linked set, its required products come from Show widget on instead. Use the linked-set and mix-and-match guide before changing that setup.
Discount types
Unless the bundle uses One discount for the whole bundle, each cross-sell has its own discount type, independent of the main offer's discount. The value field next to it changes depending on what you pick.
| Discount type | What it does |
|---|---|
| None | Includes the product at its normal selling price. |
| Percentage | Takes the entered percentage off this product. |
| Amount off per item | Takes the entered currency amount off each unit. |
| Fixed total price | Sets the price for this row's configured quantity. It does not set a price for the entire bundle. |
When you choose None, the amount is cleared and the amount field is hidden, so the add-on is offered at its normal price.
Quantity
The row's Qty field is how many units of the bundle product are added when the customer takes the offer. The discount type then applies to that quantity.
Title
Open the product row to edit its Title, the label shown in the widget. You can use template variables such as {{product_title}} in it. The widget title and checkout discount label serve different purposes. Checkout label settings can override the label used on the discounted product. See checkout discount labels.
Variant selection for cross-sells
Bundle products and gifts show their own variant controls when the available variant choices require them. Shopify's main-product picker cannot choose variants for a separate bundle product. The customer selects the variant directly inside the offer.
This is different from the main product on a regular offer, where the per-offer variant selector is controlled by the Variant selector switch in the Add-ons tab. On a Product bundle offer, the main product shows its own picker whatever that switch is set to. Pick the variants you want to make available when you choose the product in the picker.
How the bundle appears on your store
This example keeps a Buy 1 cream choice at $28 alongside a required cream and serum set. A 10% discount on the $28 cream and $32 serum makes the complete set $54 USD. The shopper chooses the set before using add to cart.
How cross-sells behave at checkout
An offer that carries a paid cross-sell is treated as a bundle: the discount on the main item is given because the add-on is in the cart. This makes the offer all-or-nothing.
If the customer manually removes a required paid cross-sell from the cart, the offer's discount is voided. The discount only applies while every required paid add-on is present.
A few things follow from this:
- Free gifts are exempt. Removing a free gift does not void the discount, because that only hurts the customer. Only paid cross-sells gate the discount.
- Bundle offers do not auto-promote. Because they depend on the add-on being present, an offer with paid cross-sells applies only when the customer explicitly chose that offer. Simple volume tiers (no paid add-ons) still ladder up as quantity grows.
- Check every targeted product page. A fixed bundle product can become the main product on another targeted page. For the same set across its product pages, use a linked set; for customer-chosen alternatives, use mix and match. Test the actual quantities instead of assuming a fixed companion changes automatically.
Tips and limits
- You can add up to 10 cross-sells per offer. Once you reach the limit, the add button is hidden.
- Each cross-sell can have its own title, and, unless the bundle uses One discount for the whole bundle, its own discount type. Different quantities use A different discount per product.
- Set the discount type to None when you want to bundle a related product at full price without a deal on it.
- Test the complete set in an empty cart, then remove a required product and confirm the remaining price. Check checkout without placing an order. If totals differ from your settings, see cart-total troubleshooting.
Was this article helpful?
Your feedback helps us improve our docs.