Offer your customers an additional product right after they place their order, via WhatsApp, while keeping the original purchase. This flow increases average order value, creates a sense of urgency and offers a smooth, personalized experience.
Why set up this flow?
Increase order value. The order is temporarily put on hold in Shopify to give the customer time to add an extra product, while keeping the original purchase.
Boost engagement via WhatsApp. Send offers instantly for a personalized, smooth experience.
Create a sense of urgency. A 2-hour countdown is recommended to prompt the decision.
Concrete results. Our customers increased their order value by 3 to 5% on average with this flow.
Before you start
This section covers everything to check on the Shopify side before setting up the flow, to avoid back-and-forth during implementation.
Compatible carrier: your carrier must be able to receive Shopify fulfillment events and respect an order put "on hold" for the set duration (2 hours recommended). Not all carriers support this: see the How it works technically section to share with them if needed.
One product at a time: the upsell can only offer one product per offer (no multiple choice for the customer).
We recommend starting with a single test product before considering an A/B test on several variants, while you validate the mechanics and the conversion.
No subscriptions: the upsell only works on one-time products (Purchase Option "one-time purchase"), not on subscription products.
Avoid during the 30-day plan: this flow has no quick replies and is a more sensitive experience that should be tested carefully before a wide rollout.
Opening hours: an upsell triggered outside the hours set in WAX is not sent, and not postponed.
Order source: you can exclude orders placed through a third-party app (subscription, headless, marketplace).
Steps to set up the Upsell flow
1. Open the template
Go to Flows > Library > Upsell Flow.
Add the flow to your workspace and customize the messages.
Select the Limited Time Offer template: it triggers an immediate upsell message, with no delay or multiple choices.
2. Set the trigger
Trigger: Shopify post-purchase.
No wait needed: the message is sent right after the purchase.
3. Set up the order hold in Shopify
WAX automatically puts the order on hold (
fulfillment on hold) so the upsell product can be added.
⚠️ Check with your carrier beforehand that the order can be kept on hold for the set duration (2 hours recommended).
Shopify confirmation email: sent immediately for the original order, then a second email is sent if the customer buys the upsell.
Not compatible with all delivery methods: check with your carrier that it receives Shopify fulfillment events.
4. Choose the product to offer
The upsell can be:
A complementary product: it completes the main purchase (e.g. a face cream after a serum).
An additional product: unrelated but relevant to the customer (e.g. a fashion accessory, a treat).
Reminder: start with a single test product before expanding. Once the mechanics are validated, you can test several products in an A/B test to find what converts best.
5. Set the display conditions
Target by products and variants: for example, upsell only on a best-seller or a specific size.
A/B test recommended once the first product is validated, to fine-tune conversion.
6. Customize the messages
2-hour countdown
A special discount if you wish
A clear, engaging, reassuring message
How it works technically: webhooks & order hold
This section explains what actually happens in Shopify when an Upsell flow is live, to make discussions with your technical team or carrier easier.
General principle: WAX automatically puts the order in fulfillment on hold via the Shopify API when the message is sent, and releases the hold at the end of the set duration. This relies on Shopify fulfillment webhooks: this is the event your carrier must be able to receive and respect so the order isn't shipped during the set duration.
FAQ
What if the upsell product is out of stock?
What if the upsell product is out of stock?
Change the product or deactivate the flow.
Can I offer several products?
Can I offer several products?
No.
Does it work with all carriers?
Does it work with all carriers?
No. Ask your carrier whether it receives Shopify fulfillment events. Feel free to share this article with them.
What happens in Shopify when an upsell flow is live?
What happens in Shopify when an upsell flow is live?
When a template from an upsell flow is sent, the order's fulfillment is automatically put on hold (fulfillment on hold).
Possible scenarios:
The customer doesn't click the button at all
The hold is released after the set duration
The logistics provider resumes normal processing after that time
The customer clicks after the duration has expired (e.g. after 2 hours)
The action no longer applies to the existing order
A separate new order (
draft order) is created
The customer clicks within the valid duration (within the 2 hours)
The original order is updated to include the new product (no extra shipping cost, only the product price)
Fulfillment stays on hold (
fulfillment on hold)When the duration expires:
If the order is fully paid → fulfillment is released ⇒ successful upsell
If it isn't paid → the added product is removed and fulfillment is released ⇒ failed upsell
How can I let customers choose the Purchase Option, especially a subscription?
How can I let customers choose the Purchase Option, especially a subscription?
Upsell only works on one-time products, not on subscriptions.

