OmniRecover - Abandoned Cart Recovery Suite for Magento 2
More from Bonlineco
OmniRecover — Abandoned Cart Recovery Suite
4-Channel Cart Recovery: Email + SMS + WhatsApp + Push — now headless-ready with a full GraphQL API
Stop losing revenue to abandoned carts. OmniRecover reaches your customers through every channel that matters — automated email drip sequences with coupon incentives, SMS and WhatsApp messages via Twilio or Cequens, and browser push notifications with zero SaaS fees. Version 1.1 adds a complete GraphQL API for headless storefronts (PWA Studio, Next.js, Vue Storefront, Hyvä Checkout) and Discount Abuse Protection that stops shoppers from abandoning carts on purpose to farm coupons. One suite, four channels, any storefront.
How It Works
Cart Abandoned
A customer adds items to their cart but leaves without completing checkout.
Cron Detects It
The automated cron job identifies the abandoned cart after your configured delay threshold.
Multi-Channel Outreach
Recovery messages fire across all enabled channels — email, SMS, WhatsApp, and browser push.
Cart Restored & Converted
Customer clicks the secure one-click restore link and completes checkout with their original cart — on your Magento storefront or, via GraphQL, inside your headless app.
Core Features & Capabilities
3-Step Email Drip Campaign
- Step 1: Friendly reminder with product images (1 hour)
- Step 2: Discount incentive with auto-generated coupon (24 hours)
- Step 3: Last-chance urgency reminder (72 hours)
- Each step independently configurable with custom templates
SMS Recovery
- Automated SMS notifications via Twilio or Cequens
- Customizable message templates with variables
- Automatic phone number normalization per country
- Intelligent send throttling and cooldown periods
WhatsApp Recovery
- Plain text and WhatsApp Business template messages
- Pre-approved template support with Content SID
- Compliant with WhatsApp Business API requirements
- Dynamic parameters: customer name, products, cart total
Browser Push Notifications
- Self-hosted VAPID Web Push — no SaaS fees
- Works for both logged-in customers and guests
- Service worker with click-to-recover functionality
- Customer self-service opt-out from account dashboard
Auto Coupon Generation
- Unique single-use coupon codes per abandoned cart
- Self-provisioning: auto-creates Cart Price Rule if needed
- Configurable discount percentage, prefix, and code length
- Zero manual setup required for coupon generation
Secure One-Click Cart Restore
- HMAC-SHA256 signed recovery tokens (email channel)
- Cryptographic 32-character tokens (SMS/WhatsApp/push)
- Configurable token expiry (default: 7 days)
- Handles both guest and logged-in customer sessions
Admin Dashboard & Reports
- Summary stats: total abandoned value, cart count, items
- Full UI Component grid with filters, sorting, and export
- Cart detail view with product thumbnails and recovery history
- Notification log across all channels with status tracking
Provider-Agnostic Messaging
- Swap between Cequens and Twilio without code changes
- Encrypted API credentials stored in Magento vault
- Extensible architecture: add new providers via DI only
- Multi-store support with per-store provider configuration
Headless Commerce & GraphQL API NEW
restoreAbandonedCart&restoreAbandonedCartFromNotificationmutations restore any cart from a token- Recovery links point straight at your PWA route via a configurable
{{token}}URL template - Push subscriptions from any JS app:
subscribeAbandonedCartPush/unsubscribeAbandonedCartPush - All settings exposed on
storeConfig; customer carts protected by the customer’s bearer token
Discount Abuse Protection NEW
- Closes the “abandon on purpose to get the coupon” loophole: max coupons per shopper in a rolling window
- No new coupon once one was redeemed; optional first-purchase-only mode
- Coupons are locked to the recipient email — enforced at apply time and again before the order is placed (Luma, REST, GraphQL)
- Choose the fallback: send step 2 without a coupon, or skip straight to step 3
Recovery Channels
Built for Headless Commerce
Every recovery flow works without the Magento storefront. Point the links at your app, call one mutation, and the shopper lands on a fully restored cart — coupon already applied.
GraphQL Mutations & Queries
restoreAbandonedCart(token, apply_coupon)— email linksrestoreAbandonedCartFromNotification(token)— SMS / WhatsApp / push linksabandonedCartRecovery(token)— preview items, total and coupon before restoringsubscribeAbandonedCartPush/unsubscribeAbandonedCartPush
Storefront-Agnostic Links
- Per-channel URL templates with a
{{token}}placeholder - Guests receive a masked
cart_idforcart(cart_id:) - Signed-in customers get the cart as
customerCart— their current cart is merged, nothing is lost - Same rules as Luma: one shared service powers both entry points
Config & Push From Any App
storeConfigexposes restore, discount, channel and VAPID settings- Browser push opt-in from React / Vue / native web apps
- Works with PWA Studio, Next.js, Vue Storefront, Hyvä Checkout
- Luma storefronts keep working unchanged
mutation {
restoreAbandonedCart(token: "<token from the link>", apply_coupon: true) {
cart_id is_guest_cart coupon_code coupon_applied
cart { total_quantity prices { grand_total { value currency } } }
}
}
Why Choose OmniRecover?
Maximize Recovery Rates
- 4 channels reach customers where they are most responsive
- Email open rates: ~20%, SMS: ~98%, WhatsApp: ~95%
- Push notifications for instant, in-browser re-engagement
- Escalating email drip from gentle reminder to urgency
- Discounts only reach shoppers who genuinely need a nudge — coupon farming is blocked
Zero Recurring SaaS Fees
- Self-hosted push notifications via VAPID protocol
- No PushOwl, OneSignal, or similar subscriptions needed
- Pay only for SMS/WhatsApp usage at provider rates
- One-time license, unlimited recovery notifications
Full Admin Control
- Per-step enable/disable and configurable delays
- Manual send buttons to trigger recovery on demand
- Complete audit trail: every notification logged
- CSV/XML export for analytics and CRM integration
Production-Grade Architecture
- PHP 8.1 strict types, declarative schema, modern patterns
- Unit and integration tests included across all modules
- Encrypted credentials, HMAC tokens, timing-safe validation
- Multi-store aware with per-store configuration scoping
- Service contracts + GraphQL resolvers, ready for headless and Hyvä
Recovery Timeline in Action
Timeline and channels are fully configurable. All delays, templates, and channel selection are managed from the Magento admin.
What’s Included
Bonlineco_AbandonedCart
3-step email drip campaign engine with auto coupon generation, tokenized cart restore, discount abuse protection, admin dashboard, and Magento report integration.
Bonlineco_AbandonedCartGraphQl
GraphQL API for headless storefronts: restore carts from email tokens, preview recovery links, expose recovery settings on storeConfig.
Bonlineco_AbandonedCartNotification
Multi-channel notification layer for SMS, WhatsApp, and browser push with HMAC-signed recovery links, throttling, and push subscription management.
Bonlineco_AbandonedCartNotificationGraphQl
GraphQL API for SMS / WhatsApp / push recovery links and browser push subscriptions from any headless app.
Bonlineco_MessagingService
Provider-agnostic messaging infrastructure supporting Cequens and Twilio for SMS and WhatsApp, with encrypted credentials and extensible provider architecture.
Technical Specifications
Documentation
Complete installation guide, configuration reference for all five modules, GraphQL reference for headless storefronts, abuse-protection settings, channel setup, provider credentials, troubleshooting, and more.
View Full DocumentationRecover Lost Revenue Across Every Channel
Every abandoned cart is lost revenue. OmniRecover gives you four ways to bring customers back — email, SMS, WhatsApp, and push notifications — all from a single Magento extension suite.
One suite. Four channels. Luma or headless. — Built for Magento 2 by Bonlineco.
| Brand | Bonlineco |
|---|