Inactivity push reminders are short, timed notifications that reach a shopper after they go quiet: they left a full cart, stopped browsing, or haven't bought in a while. They work when three things line up: a clear definition of "inactive," a short sequence that stops at the right moment, and a way to reach people who never handed you an email address. This guide covers all three, with the rules we'd follow on a real store.
TL;DR
- Separate abandoned-cart shoppers (hours of silence) from inactive customers (weeks or months of silence). They need different timing, copy and stop rules.
- Keep sequences to two or three sends, and check cart and consent status on your server right before each one.
- Lead with a reminder, not a discount. Save offers for the later send, and only for shoppers who need one.
- Measure recovered orders against a holdout group, not clicks alone.
- You can reach visitors who never shared an email or phone number. Native iOS App Clips are one route, and StorePush is built around it.
Table of Contents
- What "inactive" actually means
- Why push for inactive shoppers
- Timing: when each reminder should go out
- What the message should say
- When to stop sending
- Perspective: why we built around the 90%
- How to measure whether reminders actually work
- A simple setup you can ship this month
- Where StorePush fits
- FAQ
- Sources
What "inactive" actually means
Most stores use one word for three different situations, and then wonder why the reminders feel off.
Cart abandonment happens when someone adds items and leaves. Stripe draws a useful line here: cart abandonment is leaving before checkout begins, while checkout abandonment is exiting after entering the checkout flow but before paying. Platforms set their own clocks too: BigCommerce's analytics treats a cart as abandoned one hour after the visitor leaves without purchasing.
Browse abandonment is quieter. The shopper viewed products, maybe the same one three times, and never touched the cart. We've written about why cart abandonment is often a browsing problem rather than a checkout problem, and it's the group email flows miss most often.
Customer inactivity is a longer horizon. A past buyer hasn't returned in the window you'd expect given what they buy. A skincare shopper who bought a 60-day product and vanishes at day 90 is inactive. A furniture buyer at day 90 is simply normal.
Absence of a purchase is not absence of interest
One guide on re-engaging semi-engaged users argues that inactivity should mean the absence of meaningful signals, not just the absence of a purchase: browsing, wishlist activity, app sessions and email engagement can all show a shopper is still around. Another recommends combining repurchase timing, subscription cycles, abandoned carts, browsing decline and promotional response to separate dormant, lapsed and at-risk cohorts.
In practice, that gives you a simple segment map:
| Segment | Typical signal | Reminder goal |
|---|---|---|
| Abandoned cart | Items in cart, no order, minutes to hours | Finish the purchase |
| Browse abandoner | Repeated product views, no cart | Bring back to the product |
| At risk | Past buyer, slowing visits or purchases | Relevant nudge or restock/replenish note |
| Dormant | No visits, no orders past your usual cycle | One or two win-back attempts, then stop |
If you want a deeper look at telling truly lapsed customers from quiet ones who still browse, this piece on how to increase customer retention is a good companion.
Why push for inactive shoppers
The honest problem with email-based reminders is the data requirement. If a visitor never typed an address, there's nothing to send. Even when you have one, the message lands in a crowded inbox and may sit in a promotions tab for a day. Most visitors leave without buying, and most of them never identified themselves, so your abandonment flow only touches a thin slice of the people who walked away.
Push sits on the lock screen. It's short, immediate and doesn't depend on someone checking mail. The catch is permission: web push works only for users who have opted in. MDN's Push API documentation is clear that messages can arrive when the site isn't loaded, but only after the user has agreed, with a service worker subscribing through the browser's push manager and giving your server an endpoint to send to.
That endpoint is also sensitive. MDN notes that a subscription endpoint is a capability URL that must be kept secret, and it recommends guarding the subscription code against cross-site request forgery. Treat push tokens like credentials.

Reaching shoppers without an email or phone number
There are two broad ways to do this without collecting contact details:
- Browser web push. The shopper accepts a permission prompt on your site. It works, but the prompt is a cold ask, and Safari on iPhone adds friction. Our notes on raising push opt-in rates on iOS and Android and on quiet alerts before the one ask cover how to ask well.
- Native iOS App Clips. An App Clip is a lightweight piece of a native app that launches from the storefront with no install and no account. Apple says App Clips can send notifications for up to eight hours each time you launch them, and Apple's developer session explains that permission is surfaced through the App Clip card, while longer-running notification features require an explicit permission request.
The second route is what StorePush is built on. A shopper can be re-engaged on the lock screen without ever giving an email, a phone number or installing anything. If you're curious about the mechanics for checkouts specifically, see our write-up on abandoned checkout push without email.
Timing: when each reminder should go out
There is no universal clock, and anyone quoting one number for every store is guessing. What holds up is the shape of the curve: intent decays fast, so the first reminder should come soon, the second later the same day or the next, and the last, if any, a day or more after that.
A starting framework for abandoned carts:
- First push: within the first hour or so. The shopper is still in the buying mindset. A plain reminder is enough.
- Second push: later the same day or the next morning. Add social proof, a stock note or a product detail.
- Third push (optional): one to three days out. This is where a small incentive can live, if your margins allow.
Order value changes the answer. Higher-ticket items usually need longer to consider, which is why we ran a 72-hour timing test by average order value. Use it as a model for your own test rather than a rule to copy.
For the longer-horizon inactive customer, the clock is your own repurchase cycle. A decent default is to trigger when a customer passes about 1.5 times their usual gap between orders, then send at most two reminders. Adjust once your data tells you otherwise.
Quiet hours matter more than send hours
A perfectly timed push at 2 a.m. is a bad push. Respect the shopper's local time zone and set quiet hours. A 2026 implementation guide recommends suppressing sends that violate quiet-hour and frequency-cap rules. If the first reminder would land overnight, hold it until morning.
What the message should say
A lock-screen notification gives you a headline, a line or two of body text and maybe an image. That's it. Write for the person glancing at it while doing something else.
Reminder (send 1). Name the item. Say nothing clever.
- "Your canvas tote is still in your cart."
- "Still deciding on the walnut desk? It's waiting."
Reassurance or proof (send 2). Answer the likely objection: shipping, returns, sizing, stock.
- "Free returns on the trail jacket for 30 days." (Only if that's your policy.)
- "Only a few left in size M." (Only if it's true.)
Incentive (send 3, if at all). Make it specific and time-bound within your own system, not a vague "Save big!"
Win-back (inactive customer). Lead with what's new or what they bought before: "Your usual roast is back in stock," not "We miss you."
Offer or no offer?
Discounting every abandoned cart trains shoppers to abandon on purpose, and it eats margin. Many shoppers just got distracted. We make the full case in recovering carts without discounts. The short rule: first send, no offer. Offer only on a later send, and only for carts above a threshold or for customers you'd genuinely lose otherwise.
The psychology behind why people leave also shapes copy. If the blocker is surprise shipping cost, a discount on the product won't fix it; a clear shipping line will. Our piece on abandoned cart psychology maps the common reasons to the message that answers each.
When to stop sending
This is the part most stores skip, and it's where unsubscribes come from. A good sequence has hard stop conditions. Based on WebInto's 2026 guidance, stop when:
- The order completes.
- The cart empties or expires.
- The items become unavailable.
- Permission or consent changes.
- A frequency cap is reached.
The same guidance recommends a final eligibility check on your server immediately before each send, so a shopper who bought five minutes ago doesn't get "Forgot something?" Define eligibility server-side: a purchasable item, an incomplete checkout, enough elapsed inactivity and current push permission.
Frequency caps and fatigue
Set a global cap, for example one marketing push per day and a few per week per device, so overlapping flows (cart, browse, win-back) can't stack. In one of our own tests, cutting sends reduced unsubscribes by 59%; the point there is that fewer, better-targeted messages outperformed more of them.
For win-back flows, add a sunset policy. If a shopper ignores two or three reminders, stop. Continuing to push at someone who never responds costs you opt-outs and teaches the operating system that your notifications are noise.
Compliance basics for U.S. stores
There's no single federal "push notification law," but the FTC's Section 5 authority applies. As the FTC's privacy report to Congress explains, Section 5 prohibits deceptive or unfair commercial practices, including material misleading statements or omissions. For you, that means don't fake urgency ("Only 2 left!" when it isn't true), and describe what notifications the shopper is agreeing to receive.
If any part of your audience is under 13, talk to counsel. The FTC proposed in 2023 to limit push notifications that encourage children to use a service, but in January 2025 it declined to finalize that specific restriction while saying it remains concerned about engagement techniques aimed at children. If you sell mostly to kids or teens, a lawyer who knows COPPA is the right person to ask, not a blog post.
Perspective: why we built around the 90%
We started StorePush from a simple observation: the people your abandonment flow can reach are the ones who already gave you something. The rest, the large majority who leave without buying, were never in your list to begin with. Tools that require an email or phone number before they can follow up are, by design, blind to them.
So we stopped trying to collect identity at the door and looked at the platform instead. Native iOS App Clips let a shopper step into a real app experience from your storefront with no install and no signup, and permission is handled by the system itself. That gives a store a lock-screen channel to people it knows nothing else about.
Our view on inactivity reminders follows from that: reach more of the people who left, send fewer messages to each, and stop early. A reminder is a favor to a distracted shopper, not a campaign against them. When it stops being a favor, it should stop.
— Lucas
How to measure whether reminders actually work
Clicks are a vanity metric here. What you want to know is whether the reminder produced orders that wouldn't have happened anyway.
- Hold out a control group. Randomly exclude 10% of eligible shoppers from the sequence. Compare conversion and revenue per eligible shopper between the two groups.
- Track the funnel, not just the click. Delivered, tapped, returned to site, reached checkout, ordered. A good tap rate with a weak checkout rate points at your landing destination, not your copy.
- Attribute with a clear window. Pick a window (say, seven days from last touch), write it down and stick to it so month-to-month comparisons stay honest.
- Follow through to repeat purchase. For inactive-customer flows, the real prize is a second or third order. Check 60 and 90 days out whether reactivated shoppers buy again.
- Watch the downside. Opt-out rate and notification-permission revocations are costs. Put them on the same dashboard as revenue.
For baseline numbers to compare against, our 2026 abandoned cart recovery benchmarks and the guide to what to measure and fix first in your cart abandonment rate are good starting points. Treat any benchmark, ours included, as a rough guide. Your category, price point and traffic mix will move the numbers.
A simple setup you can ship this month
- Define your segments. Start with just two: abandoned cart (one hour of silence with items in cart) and lapsed customer (1.5 times their usual reorder gap).
- Pick the channel for each. Use email where you have it. Add push for everyone you can't reach by email, especially anonymous mobile visitors.
- Write two messages per flow. A plain reminder and a reassurance or offer message.
- Set the guardrails. Quiet hours, a frequency cap, and a server-side check before each send.
- Launch with a holdout. Run for two to four weeks before changing anything.
- Review, then trim. Cut the weakest send, not the strongest.
Where StorePush fits
StorePush sends push reminders for cart and browse abandonment to shoppers' lock screens using native iOS App Clips, with no email, phone number or app install needed. It connects with Shopify, WooCommerce, BigCommerce and custom storefronts, and the dashboard covers revenue attribution, funnel tracking, click-through heatmaps and event-based triggers.
Pricing is simple: a Free plan at $0 per month, a Pro plan at $50 per month, and a 5% usage commission on attributed recovered revenue. You can see the details and get started on the StorePush pricing page.
FAQ
How long should a shopper be inactive before I send a reminder?
For abandoned carts, think in minutes to hours: BigCommerce, for example, treats a cart as abandoned after one hour. For past customers, think in multiples of their normal reorder cycle, not a fixed number of days. Start with your own data and test from there.
How many inactivity reminders are too many?
Two or three per abandoned cart or win-back attempt is a sensible ceiling. Add a cross-flow frequency cap so the same person doesn't get several reminders in one day, and stop for anyone who ignores the full sequence.
Can I send push reminders to shoppers who never gave me an email address?
Yes, if they've opted in to notifications. Browser web push requires a permission prompt, and native iOS App Clips handle permission through the App Clip experience, as Apple documents. Either way you hold no email or phone number, only a notification subscription that you should protect like a credential.
Should every inactivity reminder include a discount?
No. Many shoppers just got distracted, and discounting everyone cuts margin and teaches people to wait for a code. Send a plain reminder first and keep any offer for a later message and a narrower audience.
Sources
- Cart Abandonment vs. Checkout Abandonment | Stripe
- Ecommerce Analytics Glossary of Terms | BigCommerce
- Rethinking Inactive Users: How to Engage the Semi-Engaged
- Proven Shopify Tactics to Win Back Inactive Customers
- Push API | MDN
- Learn More About App Clips | Apple Support
- Streamline your App Clip | WWDC20 | Apple Developer
- How to Use Push Notifications to Recover Abandoned Carts
- FTC Report to Congress on Privacy and Data Security
- FTC Proposes Strengthening Children's Privacy Rule
- FTC Finalizes Changes to Children's Privacy Rule
