Updated · 8 min read
Push notification copy that actually gets tapped
Picture your phone buzzing on the kitchen counter at 7pm. You glance at the lock screen. One sentence, sometimes two — that's the entire pitch. You either tap, swipe away, or, if it's the third pointless one this week, hold-press and turn the app's notifications off forever. That last move is the one push programs are quietly bleeding from. Push — the alert that pops up on the lock screen or notification shade, distinct from email or in-app messages — lives in the most valuable real estate on the phone, and most teams treat it like an abbreviated email. It's not. The copy that gets tapped feels more like a helpful text from a friend than a marketing message. The copy that gets opted out of sounds exactly like what marketing teams write by default. Here's what the difference actually is.

By Justin Williames
Founder, Orbit · 10+ years in lifecycle marketing
Why the lock screen is its own writing problem
The user is in a queue at the supermarket. Their phone buzzes. They flip it over, eyes already half on the next thing. They have, at most, two seconds to decide whether your notification is worth a tap. That two-second decision happens inside a tiny character budget — and the budget is smaller than most teams writing for it actually realise.
~65chars
Visible iOS title before truncation. Same for Android.
178 / 240
iOS / Android body char limit in expanded view. Most users never see expanded.
~50chars
Web push title. More restrictive than mobile. Test for this constraint.
Most push copy is written to the expanded-view body limit — the longer text users only see if they pull the notification down to read more — 178 characters on iOS, 240 on Android. In practice, almost nobody pulls down. The collapsed view, the title plus the first line of body, is what they actually read. Write for that. The push preview tool shows how each platform renders your specific copy before you schedule anything.
The tap decision happens inside the first 40 characters on the lock screen. If your value isn't there, you're relying on the user to tap-to-expand or flip to the notification shade. They won't. And if they don't see value inside that budget twice in a row, you've just taught them your app is noise.
What a push that gets tapped actually sounds like
Good push reads like something a specific person would say to a specific person. Bad push reads like a headline.
Think about the last useful notification you got — a delivery driver three stops away, a flight gate change, a friend replying to a message. None of them sounded like marketing. They sounded like someone telling you a thing you needed to know, in the fewest words it took to know it. That's the target voice. The structure underneath it has three slots:
Title: a verb or an answer.Not "Important update" but "Your order shipped". Not "New features" but "Dark mode is live". The title answers an implicit question — what is this about, and do I care — and answers it in under 40 characters. If you can't say what it's about, don't send.
Body: what changed or what to do.One sentence, ideally ending with a hint of the action if tapped. "Arrives tomorrow, 10am–2pm" under the shipped title. Specificity builds trust. Abstract "check the app for details" gets ignored and, over time, gets the whole channel muted.
Never:emoji-leading titles ("🎉 Big news!"), clickbait ("You won't believe…"), false urgency ("LAST CHANCE"). Each one earns an opt-out — the user disabling notifications for your app entirely — faster than the equivalent email because the channel is louder and the consequence is bigger. An email opt-out costs you a subscriber. A push opt-out costs you the channel, permanently, and you almost never get it back.
The moves that reliably outperform
Once the structure's clear, the wins come from small, specific habits. Each of these has held up across dozens of programs I've looked at, and each one is something a writer can apply tomorrow without changing tooling.
Personal pronouns, tight."Your cart is saved" beats "Cart saved". "Your trial ends Friday" beats "Trial ends Friday". The possessive implicitly makes the message about the recipient, not the brand — and push is one of the few channels where the brand voice needs to disappear almost entirely.
Numbers and specific times."Arrives by 2pm" beats "Arriving soon". "3 new matches" beats "New activity". Specificity is information. Abstraction is filler, and filler on the lock screen is the fastest way to get muted.
Questions when they're real."Still shopping the navy jacket?" beats "Check out these deals!". A question that reflects the user's actual state works because it sounds like it knows them. A rhetorical marketing question doesn't, because it doesn't.
The friend-text voice.Push is louder than email so it should sound quieter. "Heads up — your subscription renews tomorrow" reads better than "Your subscription will automatically renew in 24 hours." One of those is a heads-up from someone who knows you. The other is a form letter. Users can tell.
Rich media note — by which we mean an attached image, a product photo, or a small video clip on the notification: a product photo attached to an abandoned-cart push outperforms title plus body alone. A decorative brand hero shot adds nothing and often feels intrusive. Use rich media where it teaches; skip it where it decorates.
How often is too often — and what the alternative looks like
Imagine a user finishing dinner, phone face-down on the table. It buzzes at 9pm. Then again at 10:15pm. Then once more at 11. By the third one they're not reading copy any more — they're holding the app icon down to find the notifications switch. That's the failure mode every push program is one bad week away from.
Time-zone-aware sending — scheduling each user's push based on their local clock, not the server's — is not optional. A push scheduled for 9am that fires at 3am in a user's local time is how you lose permission for the channel. Every push program needs per-profile time-zone scheduling, and every sending template should default to local quiet hours — no sends between 10pm and 7am local. Optimal windows tend to cluster 11am–1pm and 5pm–7pm local, but both vary by audience; test against your base rather than trusting received wisdom.
The Multi-Channel Orchestration skill handles cross-channel frequency governance — the rules that stop a single user catching a push and an email about the same abandoned cart twenty minutes apart. Shared state across channels is what prevents that pattern.
Frequency cap that works in practice for marketing push: 2 per week max for average users, 1 per week for users with declining engagement. Transactional pushes — order confirmations, security alerts, appointment reminders, the ones triggered by something the user did rather than something marketing scheduled — are exempt and should stay that way. When in doubt, send email. Email waits. Push interrupts.
The moments push is genuinely the right tool — and the ones it isn't
The cleanest mental model: push is the channel for things that lose value if they wait. If a user could read your message in an hour and lose nothing, it shouldn't have been a push. If they could read it tomorrow and gain something by reading it now, push earns its interrupt.
Push wins over email for time-sensitive reminders ("appointment in 30 minutes"), state changes ("order shipped", "payment received"), real-time events ("they replied", "your turn to move"), and friend activity ("someone commented", "someone shared with you"). Every one of those has the same property: immediate relevance. The interrupt is the feature.
It loses to email for product announcements, content digests, newsletters, long-form updates, promotional sales, and anything that takes more than one sentence to explain. Using the channel for these either wastes it or actively damages opt-in rates. Email is slower, but it's the right shape for the content — the user reads it when they're ready, not when you decide they should be.
The 72-hour window guide covers the activation phase — the first three days after signup, when a new user is still figuring out whether your product belongs in their week — where push is uniquely valuable. Real-time intervention while the user's product context is still warm is the use case this channel was built for. Everything else is borrowing the interrupt for reasons the user didn't agree to.
Read to the end
Scroll to the bottom of the guide — we'll tick it on your reading path automatically.
Frequently asked questions
- How long should a push notification be?
- Platform-dependent. iOS body: 178 characters safe; up to 240 shows but may truncate in some contexts. Android body: 100-120 characters — Android is the tightest constraint and usually determines the writing budget. Web push: 120 characters. Write for the 100-character Android ceiling first; anything that fits there renders safely everywhere else.
- What makes a good push notification?
- Specific, actionable, and sent at the right moment. Specific: name the thing ("Your package is 2 stops away" not "Delivery update"). Actionable: give the user something to do on opening (check status, read the message, claim the offer). Timely: push is intrusive — users accept it when the content is time-sensitive and reject it otherwise. Bad push is generic, can-wait-until-email content that should have been an email in the first place.
- When should I send push vs email?
- Push for real-time, attention-demanding moments: order ready, out for delivery, live event starting, urgent account alert. Email for substantive content, non-urgent updates, and anything the user might want to reference later. Using push for non-urgent marketing ('20% off!') is the fastest way to train users to disable push notifications entirely — which permanently removes the channel for genuine urgencies.
- How do I write push notifications that get opened?
- Three principles. Lead with the specific thing (subject-line equivalent — "Package arriving 2pm", not "Update for you"). Personalise where it adds value ("Sarah, your package...") but sparingly, because every notification with a name becomes less distinctive. Respect frequency — push fatigue is real and unrecoverable; users who disable push rarely re-enable. Treat your push-notification budget as precious.
- Can I A/B test push notifications?
- Yes — same mechanics as email A/B testing, but with different metrics. For push, measure click-through rate (opens) and downstream conversion, not "open rate" (which is basically meaningless for push — most users see the notification on their lock screen without actively opening). Sample sizes need to be larger than email because baseline rates are typically lower, and the MDE — minimum detectable effect, the smallest difference between variants your test can reliably distinguish — needed for an actionable decision is often 15-20%+ rather than email's 5-10%.
This guide is backed by an Orbit skill
Related guides
Browse allPersonalisation that doesn't feel creepy
There's a line between personalisation that earns trust and personalisation that breaks it. It's not where most people think it is — it's about how you signal what you know, not what you know. Here's the line, how programs cross it without noticing, and the patterns that keep you on the right side.
Subject line anatomy: the four parts every line that performs shares
Most subject-line advice is decoration tips — emoji, length, numbers. The lines that actually get opened share a structural pattern. Four parts in a specific order, the three distortions that ruin it, and the four rules that keep A/B tests honest.
Preheader text: the second subject line most programs ignore
The preheader is the snippet shown next to the subject line in the inbox preview. Treat it like a second subject line and you double your hook. Treat it like an afterthought and it says 'View this email in your browser'. Here's how to write preheaders that actually earn the open.
The SMS playbook from the operator's seat
SMS is the highest-engagement and highest-risk channel in the lifecycle stack. Here's the compliance architecture, the copy discipline, and the frequency rules that keep SMS from destroying the goodwill it's uniquely positioned to create.
Brand voice in lifecycle: how to sound like you, not the generic SaaS CRM voice
Lifecycle emails — the automated sequences that go out on signup, after a purchase, when a cart is abandoned — drift toward a polished, generic SaaS voice because it's the default in every template library. Here's how to actually write in your brand's voice across an entire program.
The email copywriting pyramid: write for the 5-second reader first
Most recipients give an email five seconds before they engage or delete. The email has to land its point at that depth and still reward a longer read. The inverted pyramid — conclusion first, detail after — is how.
Found this useful? Share it with your team.
Use this in Claude
Run this methodology inside your Claude sessions.
Orbit turns every guide on this site into an executable Claude skill — 63 lifecycle methodologies, 91 MCP tools, native Braze integration. Free for everyone.