Neon sign of a heart in a speech bubble

Introduction to Push Notifications

By design, notifications are disruptive. They make noise, flash on screen, and badge your app icons. Although push notifications can add value to an app, they can also be distracting and demanding of people’s attention. If people don’t see value in your app interrupting them, they are not likely to opt in. It is up to designers and developers to ensure we are designing meaningful and helpful notifications.

Getting permission to be disruptive

Making an effective notification strategy is more than writing clever copy. Both iOS and Android require users to opt-in through a system dialog before your app can send them notifications. How you ask for permission is an important first step to having your push notifications be seen.

Timing is everything

If notifications are an important part of your app, it can be hard to know when to introduce them. A common mistake is displaying the native permission dialog as soon as your app launches. If you are not appropriately setting expectations about how you will use this functionality, users will likely opt-out.

Example of the iOS permission dialog for push notifications.

Instead, be sure you are asking for permission in a moment when a user can see clear value. An example could be: instead of asking users to enable push notifications during on-boarding, ask them while they complete a task that could benefit from a push notification. This could be something like creating a reminder or submitting a lunch order – anything that someone may want a live update about outside of the app experience is fair game. In addition to asking at the right time, try using a primer screen that lets a user know what kinds of messages you will send them.

Although you need to use the system permission dialog to enable push notifications, using primer screens allows users to by-pass the system dialog until they are ready to opt-in. On iOS, a user will only see a system dialog to allow push notifications once. If a user opts-out on the dialog, the only way to turn on push notifications is through the system settings. Android can ask the user for permission multiple times, but a user can disable the dialog at any time. You really only get one shot at getting permission, so use it well.


Hopper helps users understand what type of push notifications they may receive. Showing a primer screen during on-boarding or at a key moment in the user flow will make it more likely for a user to opt-in.

Offer transparency and control

Notification channels give users control over the different types of notifications they will receive from your app. In Android, these channels are available in the device settings. In iOS, you will need to add these controls somewhere in your app. Offering control over the types of messages a user will receive increases the odds they will keep notifications enabled. 

Examples of push notification channel controls on both iOS (left : Foodsby) and Android (right : Crane Air). These controls allow users to fine tune what kind of messages they get from your app. On iOS, these channel settings should be available in your app. On Android, they are available in the system settings.

If users don’t interact with the push notifications you send them, the iOS or Android operating system may ask if they want to disable notifications from your app. If you do not make these controls accessible to users, it is likely they will mute all notifications from your app. 

When should you send them?

Less is often more. The average US smartphone users gets about 45.9 push notifications every day and checks their phone every 12 minutes. Push notifications should be timely, actionable, and relevant to the user. If we aren’t careful these messages can be disruptive and annoying.

Although push notifications can be used to re-engage a user in your app, that shouldn’t be the primary use case. Marketing or re-engagement messages aren’t very timely or useful and are likely to be ignored. Much like your app, your messages should offer concrete value or it has no place on a user’s device.

If you are going to interrupt someone, it should be at the right moment and for the right reason. Doordash does a great job using push notifications to help people know when their food is about to arrive. This perfectly timed message, based on the drier’s location, lets users know their food is about to arrive. If the message arrived too early, too late, or not at all, it stops having that magical, actionable effect.

Example of the push notification sent by Doordash as your driver approaches.

Finding the right balance of being helpful without disruptive can be a delicate balance. Be intentional, timely, and actionable and people will likely find a lot of value in what you send them.

What can they do?

Understanding what push notifications can do will help you create a better user experience. Both iOS and Android allow certain types of custom content — like images, app specific data, and custom styling — to be used in the expanded notification view. Push notifications shine when they can save users from having to launch your app to accomplish a simple task.

Both platforms allow you to include custom actions with your messages. On iOS, these actions appear when you swipe from right to left on a message or below the message in the expanded view. On Android, these appear at the bottom of the message. Some of these actions will launch your app, while others can be completed right in the push notification view. Although actions can be used for a variety of purposes, adding custom interactions or complex functionality directly into the message is still limited on both platforms.

Streaks (left) shows an image when expanded so a user can get more context to their goal. To complete or snooze the goal, however, a user needs to use the actions listed below the image. Gmail (right) shows more content in the expanded views and has helpful actions a user can take right from the lock screen.

Both Apple and Google consistently release updates to their push notification controls and systems each year. The best way to stay up to date with each system’s capabilities is Apple’s HIG and Google’s Material Design Guidelines.

Creating a valuable push notification strategy is a process that requires feedback and ongoing iteration. The first step to success, however, is understanding the tools available to product teams to make actionable and transactional messages rather than just static ones. Taking the time to help people get things done quickly, discover new information, or stay on track will help your app stand out.

Snack sized summary

  • Push notifications should be actionable, contextual, and relevant. 
  • Ask for permission to send push notifications when there is obvious value. You only get one chance to have a user opt-in, so make it count.
  • Use notification channels to allow users to adjust what types of messages they get from your app. Offering more control will reduce the chance of people turning off all messages.
  • Less is more. Users will disable notifications for apps that are noisy or have low value push notifications.
  • Consider triggers you can use to send timely push notifications : time of day, location, new data, or user actions.
  • You can customize the appearance of expanded notifications. This allows you to show images, display app specific data, and adjust the layout.
  • When possible, use in-message actions. This can help people get things done faster without having to launch your app.
  • Remember that push notifications follow display patterns set by the system.

Resources

iOS

Android

General