Selling Bundles After Checkout on Shopify: Every Option Compared
TLDR
- There are five moments after add-to-cart where you can sell a bundle: in checkout, on the post-purchase page, on the thank you and order status pages, by email, and on reorder
- In-checkout offers need Shopify Plus, go through the cart, and the bundle expands like any other purchase
- The post-purchase page is the one-click offer between payment and the thank you page; it edits the paid order, so the bundle only expands if Flex Bundles is set to expand on order edits
- Thank you and order status page offers start a second checkout and a second order, work with every payment method, and convert at a fraction of the post-purchase rate
- Email and reorder are the slow options: cart permalinks put a fixed bundle one click from checkout days later, and Buy Again brings a customer's saved selections back
The product page is not the only place a bundle sells. Once a customer has decided to buy, there are five more moments where a well-placed bundle offer converts, and they are not interchangeable. Each one sits at a different point in the flow, asks something different of the customer, and, if you are selling bundles, has a different answer to the question that matters most for fulfillment: does the bundle expand into its components?
This is the map. For each option: where it appears, whether the customer pays again, what plan it needs, and what happens to the bundle.
The flow, in order
- Checkout: information, shipping, and payment steps
- Payment authorized
- The post-purchase page: Shopify's one-click offer, shown before the confirmation
- The thank you page: the order confirmation
- The order status page: the same page the customer returns to from their emails while they wait
- Later: email, SMS, and the next order
Options one through five below follow that order.
1. In checkout
An offer rendered inside checkout itself, usually at the shipping or payment step, built with a checkout UI extension. The customer ticks a box or clicks add, and the item joins the cart they are already paying for.
- Pays again: no. Same checkout, one payment.
- Plan: Shopify Plus. Extensions on the information, shipping, and payment steps are Plus only.
- Bundle expands: yes. The item is added to the cart, so Cart Transform runs at checkout like any other purchase. Nothing to configure.
This is the cleanest option for bundles because it is the only post-cart offer that still goes through the cart. It is also the one most merchants cannot use, and it competes for attention with the checkout form itself, so keep it to one small, obviously relevant add-on.
2. The post-purchase page
The one-click offer. After the customer's payment is authorized and before the thank you page, Shopify can show a full-page offer built with a post-purchase extension. The customer accepts or declines with one click. Accepting adds the item to the order they just placed, charged to the same card, with no second checkout.
- Pays again: no. Same card, charged again without re-entry.
- Plan: every plan except Starter. Live stores need Shopify to approve the app for post-purchase use, which the major upsell apps have.
- Bundle expands: not on its own. This is the trap.
Nothing here touches the cart. The order already exists, and the offer app adds the product to it with an order edit. Cart Transform runs on carts, never on order edits, so a fixed bundle sold on this page lands on the order as one parent SKU with no components. The warehouse has nothing to pick.
Flex Bundles fixes this with a per-bundle setting, Expand bundle on order edits. When it is on, Flex Bundles watches for the parent arriving without its components and expands it after the fact: adds the components, removes and restocks the parent, and prices the components so they sum to exactly what the customer paid, allowing for re-applied discount codes and per-line tax rounding. The full story, including a walkthrough video, is in How to Sell Post-Purchase Bundles on Shopify's Thank You Page. Fixed bundles only; a flex bundle has no fixed component list to expand into.
The post-purchase page is also the pickiest surface. Shopify only shows it when it can charge the card again silently, which rules out:
- Wallets and installments: Apple Pay, Google Pay, Shop Pay Installments, Klarna, Affirm, Afterpay
- Third-party gateways without card vaulting, including Braintree and PayPal Payments Pro
- Orders with duties, or in a currency other than the store currency
- Local delivery, and any order without a shipping address
- Orders under 50 cents, and orders from channels other than the online store
Upsell apps put the share of orders that never see the page at around a fifth, and they report take rates in the low-to-high single digits for the orders that do. That is still the highest-converting post-cart surface by a wide margin, because the customer has just committed and there is nothing to type.
3. The thank you page and the order status page
The order confirmation, and the page the customer comes back to from their confirmation and shipping emails. Both take checkout UI extensions on every plan except Starter, and both can show an offer.
- Pays again: yes. The order is complete, so an offer accepted here is a new purchase: a new checkout, a second order, and a second shipment unless you combine them by hand.
- Plan: every plan except Starter.
- Bundle expands: yes. The second purchase goes through checkout, so Cart Transform runs and the bundle arrives fulfillment-ready.
The friction is the point and the problem. Because it is a full checkout, every payment method works, including the wallet and installment customers the post-purchase page skipped, so this is where you catch them. But conversion is a fraction of the post-purchase page's, since the customer has to decide to buy again and pay again. The order status page has one thing going for it that the thank you page does not: customers revisit it, several times on average, while they wait for the parcel, so an offer there gets more than one look.
Treat these two as the fallback for the customers the post-purchase page could not reach, not as the primary upsell.
4. Email and SMS
Days later rather than seconds. A post-purchase flow in Klaviyo or your SMS tool can offer a bundle that complements what the customer bought, and with a cart permalink the link adds the bundle to a cart and lands on checkout in one click. Using Bundles with Klaviyo covers the setup.
- Pays again: yes, a normal checkout.
- Plan: any.
- Bundle expands: yes. Permalinks go through checkout. Fixed bundles only, since the link carries a parent variant, not a customer's selections.
Lower urgency than anything on the confirmation pages, but it reaches every customer, it is the only option that can be timed to a replenishment cycle, and it costs nothing per send.
5. Reorder and Buy Again
The next order. Flex Bundles can rebuild a customer's previous bundle, with the components they chose last time, when they come back to reorder. It is opt-in per bundle, because not every bundle should be reconstructed automatically.
- Pays again: yes, it is a new order.
- Plan: any.
- Bundle expands: yes. The saved selections are added to a cart and go through checkout.
This is less an upsell than a retention mechanic, but for consumable bundles it is the one that compounds: a build-your-own coffee box that comes back exactly as the customer built it is a subscription without the subscription app.
Side by side
| Option | When | Pays again | Plan | Bundle expands |
|---|---|---|---|---|
| In checkout | During checkout | No | Plus | Yes, automatically |
| Post-purchase page | After payment, before confirmation | No, same card | All but Starter | Only with Expand bundle on order edits |
| Thank you / order status | On the confirmation, and on return visits | Yes, new order | All but Starter | Yes, automatically |
| Email and SMS | Days later | Yes, new order | Any | Yes, fixed bundles via permalink |
| Reorder | Next order | Yes, new order | Any | Yes, automatically |
Which to use
- Start with the post-purchase page. It is where post-cart bundle revenue actually comes from, and the expansion setting removes its one bundle-specific problem. Put your best-selling fixed bundle there.
- Add a thank you or order status page offer for the customers the post-purchase page skips, which is a meaningful share if you take Shop Pay Installments or a lot of Apple Pay. Expect low single-digit conversion and count it as found money.
- Use in-checkout offers if you are on Plus and the add-on is small and obvious. A gift wrap bundle at the shipping step, not a second product.
- Run the email flow regardless. It is the only one of these that reaches everyone, and permalinks make a bundle a one-click add.
- Turn on reorder for consumables. It is free retention.
What fulfillment sees
In every case except one, the bundle goes through checkout and arrives on the order as component line items, each carrying the _flex_bundle identifier, exactly as a product page sale would. Your 3PL or warehouse system does not know which surface sold it.
The exception is the post-purchase page, where the bundle is added to a paid order by an order edit. With Expand bundle on order edits turned on, Flex Bundles brings that order to the same shape within seconds, and tags it flex-bundles-expanded so you can see which orders it touched. Without it, the order carries a parent SKU that nobody can pick. If you sell bundles post-purchase, that setting is the whole difference between an upsell and a support ticket.
Frequently Asked Questions
What is the difference between the post-purchase page and the thank you page?
Timing and payment. The post-purchase page appears after the customer's payment is authorized and before the thank you page; an offer accepted there is added to the order they just paid for, in one click, with no second payment step. The thank you page is the order confirmation that comes next. An offer accepted there is a new purchase: a second checkout and a second order.
Which of these work without Shopify Plus?
All of them except in-checkout offers. Checkout UI extensions on the information, shipping, and payment steps are Plus only. The post-purchase page, the thank you page, and the order status page are available on every plan except Starter, and email and reorder do not touch checkout at all.
Why does the bundle not expand on the post-purchase page?
Because nothing goes through the cart. Shopify's Cart Transform, which expands a bundle into its components, runs on carts at checkout. A post-purchase offer is added to an order that already exists, by an order edit, and Cart Transform never runs on order edits. Flex Bundles handles this with a per-bundle setting, Expand bundle on order edits, which expands the bundle after the fact and prices the components to match what the customer paid.
Why do some customers never see a post-purchase offer?
Shopify only shows the post-purchase page when it can charge the same card again without asking. Wallets and installment services such as Apple Pay, Google Pay, Shop Pay Installments, Klarna, Affirm, and Afterpay are excluded, as are orders with duties, orders in a currency other than the store currency, local delivery, orders without a shipping address, and orders under 50 cents. Upsell apps typically report that around a fifth of orders fall outside the offer for one of these reasons.
Does a bundle sold by email or on reorder need any special handling?
No. A cart permalink adds the fixed bundle parent to a cart and sends the customer to checkout, and Buy Again rebuilds the customer's previous selections in a cart. Both go through checkout normally, so the Cart Transform expands the bundle as it would on the product page.