There is no universal cart-abandonment or recovery rate that can be applied safely to every store. Start from your own eligible carts, completed orders, channel permissions, time window, device mix, products, traffic, and refund data.
1. Establish a baseline
Define a cart, an abandonment, a recovered order, an exposure, and the attribution window before changing the experience. Reconcile the event count with the commerce platform. Segment by device, market, new or returning shopper, product type, traffic source, and checkout state only when sample size supports it.
2. Detect carefully
Use the weakest intervention that matches the evidence. Idle, exit intent, repeat cart activity, policy views, errors, and checkout state can be useful, but each can misclassify an engaged shopper. Apply frequency caps, consent checks, and exclusions.
3. Match the intervention
- Answer a verified product, shipping, returns, inventory, sizing, or compatibility question.
- Offer a human handoff when identity, order, policy, or high-value context needs review.
- Use a discount only when an active merchant rule approves the offer and the checkout total confirms it.
- Do not fabricate urgency, scarcity, price, inventory, social proof, or a cart hold.
4. Follow up with permission
Choose cadence from your product cycle, consent basis, audience, channel, and baseline-not a copied three-touch recipe. Verify suppression, unsubscribe, identity, content, links, sender configuration, delivery results, retries, duplicate protection, and purchase exits.
5. Measure incrementality
The current Zubby dashboard can record recovery and recommendation interactions associated with an order. Treat that as directional attribution. The built-in assistant holdout hides the assistant, with the current linked-order comparison requiring Shopify cart tokens. It does not create an email or journey no-send control. To estimate recovery-message lift, use a suitable design that withholds those messages while keeping other treatment consistent, and include discounts, returns, refunds, provider cost, margin, complaints, and operator time.
Failure checklist
- Stale cart, price, inventory, product, code, or policy.
- Stopped worker, Redis outage, provider failure, rate limit, bounce, or webhook duplicate.
- Unsubscribed, erased, anonymous, wrong-store, or mismatched identity.
- Overlapping campaigns, double sends, post-purchase sends, or attribution double counting.
- Mobile overlay, keyboard trap, CLS, slow launcher, or theme conflict.