Recover the buy-online-pickup-in-store orders that the customer placed and never collected, with the cross-system identity and the in-store inventory signal that the recovery has to coordinate around
Buy-online-pickup-in-store is a meaningful share of retail orders and a small but real share of those orders never get collected. The customer placed the order, may have paid for it, and either forgot, changed their mind, or could not get to the store before the hold window expired. The retailer is left with a paid order the customer does not have, inventory that is held in the store and unavailable to other customers, and a recovery problem that sits at the intersection of marketing, store operations, and inventory management.
The recovery is harder than the equivalent online abandonment because the dependency on store operations is real. The hold window is finite (typically three to seven days), the inventory return point is hard, and the message has to reach the customer with enough time to act on it. The customer's identity has to resolve across the online order, the in-store hold, and the channel the recovery message will use, which is exactly the cross-system join that most retailers' stacks have not done well. The channel choice matters because the customer is not at the website; they are wherever they are, and the recovery has to reach them through their actual channels (email if they read it, SMS if they have consented, push if the app is installed) rather than relying on the channel the order was placed on.
This recipe builds the recovery as a coordinated multi-channel sequence anchored to the store's hold window, with the cross-system identity that makes it work.
A recovery sequence that lifts BOPIS collection rates against the do-nothing baseline, with the inventory-return-cost recovery measured alongside the customer recovery. The metric is the collection recovery rate: the percentage of would-be-abandoned orders that the customer actually collects after the recovery sequence fires, measured against a baseline of comparable orders without the sequence. The value shows up in both directions, the customer keeps the order they placed (which is the most retention-aligned recovery the brand can run, because the customer already committed), and the retailer avoids the inventory return that would otherwise happen at the end of the hold window.
The second outcome is the operational visibility the recipe forces into existence: the cross-system identity that resolves the online order to the in-store hold to the customer's channel preferences, which is the omnichannel infrastructure that supports many subsequent recipes once it is built.
A trigger evaluation that watches for orders approaching the hold-window edge, an orchestration layer that fires the recovery across the customer's available channels with the timing the window allows, and an in-store signal that confirms collection or non-collection. Composable stacks suit this because the order data lives in the e-commerce system, the customer data lives in the CDP, and the in-store signal lives in the store-operations system, and the recovery composes the three. The capability that decides whether the recipe works is the cross-system identity: a recovery that fires against the order but cannot reach the customer because the channel preferences are in a different system not joined to the order is the recovery that does not happen.
Compare the tools on Martech Stack Builder
Marketing ops owns the recovery sequence, the channel mix, and the orchestration with store operations. Store operations is critical because the hold window, the inventory return policy, and the in-store affordance for the collection are operations decisions, and a recovery that lifts the collection rate but breaks the store's inventory cadence is a recovery the store will push back on. Data engineering owns the order-to-customer join, the in-store signal flow, and the trigger evaluation that ties it together. Analytics measures the collection recovery and the inventory-cost recovery alongside, because the recipe's value is in both. The recipe ships in weeks where the cross-system identity already resolves; longer where the online order and the in-store hold live in separate systems that have not been joined. The slip is rarely the recovery sequence; it is the join that makes the sequence possible.
Work in this order. The in-store signal gates every message.
Behavioral trigger covers steps 2 and 3, timed message sequence step 4, and channel eligibility check step 5.
The first failure is the recovery that arrives after the inventory has been returned. A sequence keyed to the order date rather than to the hold-window edge sends the reminder on a fixed cadence and misses the customer who placed the order at the end of one hold window only to have the next reminder arrive after the inventory has been returned. The timing has to track the actual return point, with the trigger evaluating against the in-store signal rather than against a calendar.
The second is the channel that has not been consented to. A customer who placed the order through the website may not have consented to SMS, and a recovery that fires SMS because the urgency is high but the consent is missing is the recovery that creates the regulatory exposure and the complaint at the same time. The consent and preference state has to be authoritative, and the urgency does not over-ride it. Where the customer has not consented to any channel that can reach them in the window, the recovery degrades to email-only and accepts the lower recovery rate.
The third is the false-positive recovery. A customer who collected the order an hour ago, receiving a "come collect your order" SMS in the afternoon, has the experience of the brand not knowing what the store knows. The in-store inventory signal has to be the gate, and a recovery that fires without checking it produces the most annoying version of the failure mode: messaging the customer about something they have already done. The collection confirmation has to land before the recovery fires, and the system has to know.
The Workshop works out with your team which of these matter for your stack right now, and what to do first: a 90-minute session with the people who own the decision.
The order-to-customer join that lets the recovery reach the customer through their channels, the in-store signal that gates the send and confirms the collection, the sequence timed to the hold window, and the channel choice that respects preferences without ignoring the urgency: those are the decisions that turn BOPIS abandonment from an inventory loss into a recovery the customer experiences as a useful reminder.
Did this recipe match your situation?Anonymous response. Sign up to leave a longer note tied to your account.
Recognize tenure and usage milestones with a touch that reads as personal rather than as a template with a date merged in
Warn the customer before the overage, the roaming charge, or the plan-mismatch cost lands on the bill, so the conversation is about what to do next rather than about why the bill is what it is
Follow up with shoppers who viewed products but never added to cart, filtering out the low-intent browsers so the sequence does not dilute itself