How do I replace a product with an upsell?
Set up a post-purchase offer that swaps an item in the buyer's order for the upsell and refunds the original item.
A replacement offer lets the buyer upgrade an item they've just bought. If they accept, the upsell is added to the order and the original item is refunded. For example, a buyer who bought a 1-month supply can be offered a 3-month supply in its place.
Set it up
- Open the post-purchase funnel and click Edit on the upsell product to open the editor.
- In the sidebar, under the Upsell Product widget, open Product Selection.
- Tick Replace upsell with item in original order.
- Click Select product to replace and choose the product and variants the upsell can replace.
- Under Replacement Settings, choose the options you want (see below).
- Click Save.
When you tick the box, the accept button text changes to Upgrade. If you untick it, the text goes back to Pay Now. You can still edit the text in Buttons.
Only cheaper items can be replaced
You can only pick variants priced at or below the upsell. The product picker hides more expensive products. If a product has some variants that cost more than the upsell, the editor shows a Price is higher than the upsell banner and doesn't save that selection.
Replacement Settings
| Setting | What it does |
|---|---|
| Allow replacement if target product has a discount applied | Off: the offer isn't shown if the item in the order was discounted. |
| Allow replacement if target product quantity is more than 1 | Off: the offer is only shown if the buyer bought exactly one of the item. |
| Send notification to customer when refunded | On: Shopify emails the buyer about the refund. |
When the offer is shown
The replacement offer only shows if the order has an item it can replace. That item must:
- be one of the variants you selected;
- have a quantity of 1, unless you allowed more;
- have no discount, unless you allowed discounted items;
- not be a subscription.
The order must also be refundable. Orders paid through a payment gateway that doesn't support this are excluded, as the editor's Replacement Limitations banner explains.
If the order doesn't qualify, the replacement offer is skipped completely. Other offers in the same step still show.
What the buyer pays
The accept button shows the net amount: the upsell total minus the price of the item being replaced.
Behind the scenes, these are two separate transactions:
- Shopify charges the buyer the full upsell amount, as for any post-purchase offer.
- The app then refunds the original item.
The buyer can therefore see a charge and a separate refund on their statement, not a single smaller charge.
How the refund works
- The refund only happens after Shopify confirms the upsell was added to the order. If the buyer didn't actually accept, nothing is refunded.
- One unit of the original item is refunded, even when you allow quantities above 1.
- The amount refunded is what the buyer paid for that unit, after any discounts.
- The unit is restocked.
- The refund carries the note "Upsell Master: Post-purchase product replacement refund", so you can find it on the order.
- Each replacement can only be refunded once, so retries can't refund twice.
If the refund can't be completed, the buyer has paid for both items and keeps both on the order. Check orders with replacement upsells, and refund the original item manually in Shopify if no refund with the note above appears.
Customer notification
The refund email is controlled only by Send notification to customer when refunded. If it's off, Shopify records the refund without emailing the buyer.
What does the buyer see for price, shipping and taxes?
How the post-purchase page shows the price, shipping, taxes and total, and how product images are displayed.
How do I customise the post-purchase page?
What you can change in the post-purchase editor, from widgets and text to buttons, discounts and the preview.