What happens during a Post Purchase Upsell?
Order processing flow with AMP Post Purchase Upsell
Post-purchase fulfillment holds
When a customer pays for their order in checkout, the order is created in Shopify. If the customer is shown a post-purchase upsell, the order will be created with a fulfillment status of On Hold.
The order is placed On Hold because the customer might accept a post-purchase upsell which would add an item to the order. The On Hold status is an indication that the order should not be fulfilled yet because additional item(s) may be added.
An order in the Shopify admin orders table with a post-purchase fulfillment hold
Detailed view of an order with a post-purchase fulfillment hold
Releasing post-purchase fulfillment holds
Once the fulfillment hold is released, the order fulfillment status will change to Unfulfilled.
An order after the post-purchase fulfillment hold has been released
The order hold will automatically release in the following scenarios:
- If the customer clicks Accept or Decline on all post-purchase offers.
- If 60 minutes has passed since the order's creation.
The following table describes the timeline of when the post-purchase fulfillment hold is released for various customer scenarios.
| Scenario | Order fulfillment status at time of creation | Fulfillment hold release timeline |
Number of transactions/ payments |
Order edited after creation? |
| Customer is not shown a post-purchase upsell | Unfulfilled | N/A | 1 | No |
| Customer sees a post-purchase upsell and declines | On Hold | Hold is released as soon as customer declines the offer | 1 | No |
| Customer sees a post-purchase upsell and closes browser tab | On Hold | Hold is released after a fixed delay (since we can't really tell if they closed the tab) | 1 | No |
| Customer sees a post-purchase upsell and accepts | On Hold | Hold is released as soon as customer accepts the offer | 2 (or 3 of the customer accepted two upsells) | Yes |
If you use a 3rd party Inventory Management source or 3PO, check with them to enquire if their systems can read the Fulfilment Status: On Hold.
Orders are typically created directly as Unfulfilled statuses so they usually dont need to hold orders back. However with Post Purchase Upsells, the importance of reading the status is required.
One such Inventory Management app we know supports this fully is ShipStation.


