Recover abandoned carts with web push when you still lack email or SMS
How to recover abandoned carts with web push: browser opt-in, notification sequences, email/SMS backup, and Leadara setup.

Niloofar Karimi
Product positioning, messaging, and content for product growth—aligned with product and sales.
September 26, 2026 · 7 min read
Also available in فارسی

Web-push cart recovery means that after a browser permission grant, you show a short native notification that deep-links the shopper back to the same cart — even when your tab is closed and you still do not have their email or phone.
What is web-push cart recovery?
Web push is a browser-native notification. The visitor opts in once; you store the subscription endpoint; when a cart goes idle, a journey sends a message. Unlike email, you do not need an address first. Unlike SMS, you do not need a phone number or an SMS panel — but you only reach people who allowed notifications.
For stores, the best uses are cart reminders, back-in-stock, and occasional price-drop alerts — not a daily “special offer” firehose.
Why this is a hot question for Iranian shops now
2026 retention guides treat web push as an owned channel: no app install, less dependence on Instagram. Persian marketing write-ups describe push retargeting for abandoned carts, and WooCommerce tools ship default sequences like 45 minutes / 4 hours / 24 hours. Teams keep asking AI: “How do we recover carts without a phone number?”
When social traffic is unreliable, a notification permission on your own domain becomes a backup lane.
Where push does not replace email or SMS
| Channel | Identity needed | Works with tab closed | Main limit |
|---|---|---|---|
| Web push | Browser permission | Yes (with service worker) | Opt-in only; browser/OS support |
| Address + consent | Yes | Deliverability | |
| SMS | Mobile + consent | Yes | Cost, CRA consent, frequency |
Push is a complement, especially for guests who never shared a phone number — not a VIP SMS replacement.
How to ask permission without scaring people
- Value first, prompt second — after add-to-cart, wishlist, or signup — not on the first homepage millisecond;
- Use your own pre-prompt — a small banner that says you will remind them about an unfinished cart, then call the browser API;
- Respect Deny — do not re-prompt in the same session;
- Test mobile separately — iOS/Safari behavior is not desktop Chrome.
Do not merge notification permission with SMS consent; two channels, two flags.
Suggested push recovery sequence
| Touch | Delay | Notification job | Suggested TTL |
|---|---|---|---|
| 1 | 15–60 minutes of cart idle | Soft “your cart is waiting” + top product name | 2–3 hours |
| 2 | 4–6 hours | Remove one friction (free shipping from amount X) | a few hours |
| 3 | 24 hours | Final reminder without fake countdown | short |
Rules:
- Deep-link to cart or checkout, not home;
- Stop further cart pushes after purchase (same collapse tag);
- Two or three pushes per cart is enough for most brands;
- Keep copy short; leave price detail on the cart page.
Real store scenarios
Fashion shop fed by Instagram: shopper arrives from a story, adds two items, leaves. If they subscribed in-session, a 45-minute push can bring them back before they DM another brand.
High-ticket home goods: first push with no discount; if they click but do not buy, follow with email that explains shipping; SMS only with consent and above a cart-value floor.
Digital goods with thin stock: “low stock” push only when inventory events are real — fake scarcity burns trust.
How Leadara web push works
From Leadara’s public docs:
- Host the push service worker file at your shop’s site root (same www/non-www host);
- After a meaningful opt-in, call
leadara.subscribePush(); - Create a Web Push template and add a Web Push node in a journey;
- Check the profile for an active subscription and read SENT/FAILED in Web Push logs;
- If someone never subscribed, the push step is Skipped and the journey continues — so keep email/SMS behind it.
Teammates can also get browser alerts for new live-chat messages inside the dashboard; that is separate from visitor push on the storefront.
Leadara AI Chat is an internal dashboard assistant for your team (draft templates, ask about segments). It is not the customer-facing reply engine in live chat. Live chat is for human support.
Technical checklist before go-live
leadara-push-sw.json the exact shop origin;- Valid HTTPS;
- Opt-in after a meaningful action;
identifyfor logged-in users so the subscription sticks to the right profile;- One test SENT in Web Push logs;
- A next email/SMS step for visitors without push.
What good notification copy looks like
- Title that fits one mobile line;
- Body that states one benefit or removes one blocker;
- Few emojis, no “!!!”;
- Natural language for your audience;
- For multi-item carts, “+2 more” is enough — do not dump the whole basket into the notification.
Combine with email and SMS
A healthy pattern:
- Push touch 1 (fast, cheap);
- If email exists and still no purchase → email;
- If SMS consent and cart value is high → one SMS;
- Exit on
order_completed.
Coordinate frequency across channels so one person does not get three messages from three places in one hour.
What to measure
| Metric | Meaning |
|---|---|
| Push opt-in rate | Eligible visitors who subscribe |
| Delivery / click | Notification reach and CTR |
| Recovery rate | Purchases after push click |
| Deny rate | Prompt rejections (fix prompt placement) |
If opt-in is weak, fix when you ask — do not rewrite notification body ten times first.
Quiet hours and brand consistency
Push can annoy at night too. For an Iran-heavy audience, avoid promotional pushes roughly 23:00–08:00 unless the event is truly transactional. The brand name in the title should match the site. If you are also running a big email blast, temporarily exclude active cart-recovery profiles so the same person is not hit twice with the same offer.
Common mistakes
- Permission prompt on first landing;
- Daily promo blasts via push instead of cart events;
- Linking to home;
- Ignoring Skip when there is no subscription;
- Treating push permission as SMS consent;
- Promising “push works like WhatsApp” — different channel.
FAQ
Can we send push without a mobile app?
Yes. Web push runs in the browser. Check iOS version and add-to-home-screen requirements.
What if the user hits Deny?
Do not pressure them in the same session. Strengthen email/mobile capture instead.
Is push enough for guests with no email?
If they subscribed, yes for reminders. You still need a number for later SMS.
Does CRA SMS law apply to push?
Push is not SMS, but you still need clear opt-in and an easy way to stop. Write your brand rules down.
How many templates do we need?
At least one for cart and one for back-in-stock; personalize with product name.
Why do we see Failed / “No push subscriptions”?
The visitor never allowed notifications or the subscription was not stored. Expect Skip/Fail and have the next channel ready.
Can we run recovery with push only?
For part of the audience, yes. For maximum recovery, a mix usually wins.
Does Leadara auto-host the service worker on every host?
You host the file on your domain and call Subscribe from the front end — see the Web Push docs.
Next step
On staging, install the service worker, subscribe with a test profile, build a one-step cart-push journey, then on production place the prompt after add-to-cart and measure only opt-in and clicks for a week.




