Push notifications are the one channel that reaches users when the app is closed. Used well, they make an app feel attentive: your booking is confirmed, your technician is on the way, your order is ready. Used badly, they are the fastest way to get your app muted or deleted.
Many businesses only think about notifications after launch, usually as "we should send offers". This post covers how to plan them properly: what to send, when to ask for permission, how often, and what is needed technically for messages to arrive reliably.
Two kinds of notifications
It helps to separate notifications into two groups.
Transactional notifications are triggered by something the user did or is waiting for:
- Booking confirmed, rescheduled or cancelled.
- Reminder before an appointment or visit.
- Technician or driver on the way, arrived, job completed.
- Order status changes.
- Quote ready, payment received, document approved.
Marketing notifications are sent by the business to encourage activity:
- Offers and promotions.
- New services or products.
- Reminders to rebook.
- Seasonal campaigns.
Transactional notifications are expected and valued. They should be the backbone of your notification plan. Marketing notifications can work, but they spend trust, and every one should be worth it.
Start from moments that matter
List the moments in your user's journey when they would genuinely want to know something. For a booking app like Pro Clean+, which handles bookings, quotes, packages and visit tracking, natural moments include a confirmed booking, a quote being ready, a reminder the day before a visit, and updates on the visit itself. For a field-service platform like NeonTask, technicians care about new or changed jobs assigned to them.
For each moment, define:
- The trigger.
- Who receives it.
- The message, in each language.
- Where tapping it should take the user in the app.
That last point is often forgotten. A notification that opens the home screen instead of the relevant booking is a missed opportunity and a small frustration.
When to ask for permission
On iOS, the app must ask before sending notifications, and if the user declines, getting permission back requires them to go into settings. Recent Android versions also require permission. So the moment you ask matters.
Avoid asking on the first launch, before the user knows what the app does. Better:
- Ask right after the user does something where notifications clearly help, such as completing a booking: "Want a reminder before your visit and updates on the day?"
- Show a short explanation screen in your own design first, then trigger the system prompt only if they agree.
Users who understand why you are asking are much more likely to say yes.
Frequency and timing
- Respect local time. Do not send non-urgent messages late at night or very early.
- Batch where possible. Several updates within minutes can often become one.
- Cap marketing messages. Decide a maximum per week and stick to it.
- Avoid sending the same thing on several channels at once, such as push, SMS and email for the same reminder, unless it is critical.
Let users choose. A simple settings screen with toggles for reminders, updates and offers keeps people from disabling everything.
Language and tone
If your app supports Arabic and English, notifications must use the user's chosen language, not the device language guessed at sign-up and never updated. Keep messages short, specific and useful:
- Good: "Your cleaning is confirmed for Thursday at 10:00."
- Weak: "Something new is waiting for you!"
Include the key information in the notification itself, so the user does not have to open the app to understand it. See bilingual Arabic and English apps for the broader picture.
Notifications are not the only channel
For some messages, push alone is not enough, because users may have disabled notifications, uninstalled the app or be offline. For critical messages such as appointment reminders or account security alerts, consider a fallback: SMS, WhatsApp or email. In Lebanon, WhatsApp is often where customers actually read messages, but sending through it officially requires the business messaging platform and approved templates, so plan for that if you need it.
Inside the app, keep a simple list of recent notifications, so a user who dismissed one can still find it.
The technical setup
Behind the scenes, reliable notifications need a few pieces:
- Platform services. Apple Push Notification service for iOS and Firebase Cloud Messaging for Android, usually through a single library in a React Native app.
- Device tokens stored on your backend per user and device, updated when they change, and removed when invalid.
- A sending service on the backend that turns events into notifications, using templates per language.
- A queue so sending does not slow down the request that triggered it, with retries when a provider is temporarily unavailable.
- Logs of what was sent to whom and the result, for support and debugging.
- Deep links, so tapping the notification opens the right screen.
Test on real devices on both platforms, including with the app closed, in the background and freshly installed. Notifications are an area where simulators hide problems. Monitoring helps too; see monitoring and alerts for a small product.
Measuring what works
Track a few numbers:
- Permission acceptance rate, and how it changes when you adjust the moment you ask.
- Open rate by notification type.
- How many users disable notifications after particular campaigns.
- Business outcomes linked to notifications, such as fewer missed appointments after reminders.
If a type of notification is rarely opened, rewrite it or stop sending it. See what to measure in your app.
Staff and admin notifications
Notifications are not only for customers. The people running the business benefit from them too: a new booking that needs confirming, a quote request waiting for a price, a job running late, a cancellation for tomorrow morning. Keep these focused on actions someone needs to take, route them to the right role rather than everyone, and let each staff member adjust them. An admin who receives every event soon ignores all of them. For staff on the move, such as technicians, a notification for a newly assigned or changed job is often the most valuable message in the whole system.
Privacy and content
Notifications appear on lock screens, where others can see them. Avoid putting sensitive information in them, such as medical details, amounts owed or private messages. "You have a new message from the clinic" is safer than the message itself.
A starting plan for most business apps
- Confirmations and reminders for every booking or order.
- Status updates on the day of service or delivery.
- A permission request after the first booking, with a clear explanation.
- A settings screen with a few categories.
- At most occasional, relevant marketing messages, measured carefully.
That covers most of the value without wearing out your users' patience. Add more only when the data shows people want it.
Common mistakes
- Asking for permission on the first screen.
- Generic messages with no specific information.
- Notifications that open the home screen.
- Wrong language.
- No way to adjust preferences, so users switch everything off.
- No logs, so support cannot tell whether a message was sent.
If you are planning an app and want notifications that help rather than annoy, see my work and get in touch.