Push notifications are the most powerful and the most fragile owned channel in ecommerce. Powerful because delivery is fast, free, and consistently above 90%. Fragile because the user can revoke permission in one tap. The first thirty days of a brand's push program tend to set the tone for everything that follows; over-send early and you spend the next six months trying to recover the opt-in rate.
This piece is the framework we run with brands launching their push program. It is opinionated. Some of these rules will sound restrictive; they are. The best push programs are the ones that say no to most of what could be sent.
The opt-in moment is everything
The first decision in any push program is when to ask for permission. Asking on app first-launch (the iOS default) yields 40–55% opt-in rates. Asking after a meaningful action — completing a first purchase, saving an item to wishlist, viewing the same product twice — yields 70–80% opt-in rates. The difference is enormous; over a year of installs, the brands that wait gain a push base nearly twice the size of the brands that ask immediately.
The mechanism: when you ask after value has been delivered, the user understands why push matters. "We will tell you when your order ships and when items you saved come back in stock" is a better trade than "we want to send you marketing." The wording, the timing, and the prior context together decide the opt-in.
Cadence discipline
The cadence we run with most brands holds at: two campaign pushes per month to the all-installs audience, plus two transactional or behavioral pushes per buyer per month (order shipped, restock alert, replenishment reminder, abandoned cart recovery). That is six pushes per active user per month at most, but in practice each user only sees the campaign pushes and the transactional pushes that apply to them.
Brands that send more — daily campaigns, weekly broadcasts — see uninstall rates climb steeply in the second month after launch. The push base erodes. The data is consistent enough that the question stops being whether to limit cadence and becomes how.
Timing windows that actually convert
For campaign pushes, the windows that hold up across most ecommerce categories are: Tuesday 10–11am local time, Thursday 6–7pm local time, and Saturday 9–10am local time. Outside those windows, open rates drop noticeably. Sundays are bad for ecommerce; Friday afternoons are bad for most categories.
For transactional pushes, send immediately. There is no optimization window; the value is in the immediacy. A "your order shipped" push that arrives an hour after shipping is a useful push; a "your order shipped" push that arrives at 11am the next day is a missed moment.
Local time matters. A 10am ET send to a Pacific-coast user lands at 7am and is ignored. Schedule by user timezone, not by your headquarters timezone. Every push platform supports this; not every brand uses it.
Copy patterns that hold up
The structural shape of a push that converts: short title (under 40 characters), specific body (under 110 characters), one clear benefit, no exclamation marks, no emojis unless your brand uses them naturally. The user is scanning, fast; clarity beats cleverness.
A pattern that works: "[Specific thing] is back. [One sentence reason it matters]." Example: "The blackout serum is back. We sold out in 72 hours last time." Compare to: "🚨 BACK IN STOCK! Don't miss out on our bestseller!! ✨" The first reads like a useful update. The second reads like spam, and the data agrees.
- Open rate floor: 5% on broad campaign push. Below this and the message is the problem, not the audience.
- Tap-through floor: 25% of opens. Below this and the offer is not in the message.
- Same-day revenue: $0.15–$0.40 per push delivered, depending on category.
Segments that matter
Broadcasting to your full install base is rarely the right move past the first few months. The segments that pay back the configuration effort: lapsed buyers (90+ days no purchase), high-frequency buyers (3+ orders in 90 days), category-specific buyers (everyone who bought from category X), and abandoned-cart holders (cart with items, no checkout in 24 hours).
Each of these gets a different message. The lapsed buyer needs a "come back" hook (a small offer, a new product). The frequent buyer needs an exclusivity hook (early access, app-only drop). The category buyer needs relevance (we restocked the thing you bought before). The abandoned cart holder needs a reminder, sometimes with a small nudge.
“A push to the right buyer at the right moment is a service. A push to the wrong buyer at the wrong moment is a billboard, and the buyer takes the billboard down.”— Retention notes, Appolar
Rich media on push
iOS and Android both support attaching an image to a push notification. Most brands ignore this. The brands that use it see 1.5–2x the tap-through rate on the same message with an image attached. For product-led pushes (restock alerts, new arrivals), the image is the message.
Keep the image clean: product on neutral background, no text overlay, no marketing chrome. The notification is a small surface; treat it like a button.
Measure same-day revenue, not opens
Most brands report on push as if it were email: open rate, click-through rate, opt-out rate. Those metrics are useful diagnostics but they are not the goal. The number that matters is same-day revenue from users who received the push, attributed cleanly via deep link.
Hold every push to a revenue floor — $X of attributable same-day revenue per thousand recipients. If a push misses the floor, ask whether the message was wrong, the timing was wrong, or the audience was wrong. Iterate. Push is a faster feedback loop than email; you can read the result the same day and adjust the next campaign.
Done right, push becomes the channel that quietly drives the steady-state revenue of your app. Done wrong, it is the channel that quietly burns down your install base. The difference is discipline, not creativity.