martech cookbookSearch recipes & patternsSign up
Recipe·Updated 23 September 2026

BOPIS abandonment recovery

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

01Problem

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.

02Outcome

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.

03Ingredients
  • Bopis order record
  • Customer identifier
  • Store hold window
  • In store inventory signal
  • Channel preference
04Equipment

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.

05Staff
  • Marketing ops
    CriticalThe recovery sequence, the channel mix, the orchestration with store operations
  • Store operations
    CriticalThe hold window, the inventory return policy, the in-store affordance for collection
  • Data engineering
    CriticalThe order-to-customer join, the in-store signal flow, the trigger evaluation
  • Analytics
    SupportingRecovery rate measurement, the inventory-cost recovery alongside customer recovery

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.

06Technique
INPUTSPROCESSACTIVATIONBopis order recordStore hold windowIn storeinventory signalChannel preferenceIdentityresolutionAbandonmenttrigger orchestrRecoverytarget listChannel eligibilityand sendSequencestate storeEmailEARLYSmsMID

Work in this order. The in-store signal gates every message.

  1. Join the order to the store hold and to the customer's channel preferences. Online order, in-store hold and consent live in different systems; the recipe starts by connecting them.
  2. Trigger on the hold-window edge, not the order date. The reminder has to arrive before the inventory is returned.
  3. Gate every send on the in-store collection signal. A customer who collected an hour ago never gets a "come collect" message.
  4. Sequence the recovery to the window. A soft reminder two days before the return point, a firmer one the day before with the return point stated, and a hold extension or ship-to-home option where store operations support it.
  5. Check channel eligibility at each send. Urgency can justify SMS for a customer who consented to transactional SMS; where no consented channel reaches them in time, the recovery falls back to email and accepts the lower rate.
  6. Measure collection recovery alongside inventory cost recovered, with store operations agreeing the hold policy and return cadence.

Behavioral trigger covers steps 2 and 3, timed message sequence step 4, and channel eligibility check step 5.

07Gotcha
Failure 01

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.

Failure 02

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.

Failure 03

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.

WorkshopFor your stack·The questions this recipe raises

Eight questions this recipe raises for your stack.

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.

  1. 01Cross-system identity join: online order to in-store hold to channel preferencesThe join most stacks have not done, and where the recovery dies without it.
  2. 02Hold-window edge detection versus order-date cadenceAnchoring the trigger to the actual inventory return point, not a fixed clock.
  3. 03In-store inventory signal as the collection gateCatching the order collected an hour ago before the reminder fires.
  4. 04Multi-channel recovery sequence timingThe day-minus-two and day-minus-one steps, and where the extend-or-transfer option lands.
  5. 05Channel eligibility with urgency weightingWhen the inventory return justifies SMS, and when missing consent overrides the urgency.
  6. 06Store-operations coordination: hold policy and return cadenceThe recovery that lifts collection but breaks the store's inventory rhythm.
  7. 07Consent and transactional-versus-marketing boundary for the recoveryThe regulatory exposure when high urgency reaches for an unconsented channel.
  8. 08Measurement: collection recovery rate alongside inventory-cost recoveryCrediting both the customer kept and the return avoided, against a comparable baseline.

If your BOPIS abandonment recovery is per-system fire-and-forget and you are losing the inventory at the end of the hold window, the Workshop is where we build the cross-system orchestration.

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.

take this to the martech workshop→

Did this recipe match your situation?Anonymous response. Sign up to leave a longer note tied to your account.

Related recipes