Back View all Articles

How to Design a Scalable Notification System

Posted by Kevin Krige on March 16th, 2021

Creating the perfect notification strategy is like walking a tightrope of constantly changing do’s and don’ts. Send too few, and you may fail to engage your user base. Send too many, and you may quickly annoy them. Utilize multiple channels for a more holistic strategy and risk overwhelming your user. Focus on a single channel, and they might not notice your messages timeously. Send your notification in the morning, and it could get lost amongst all the others. Wait too long before sending, and it might no longer be relevant.

Notifications undoubtedly add value, but increasing positive interactions and inspiring users to engage with your brand requires more than a beautifully designed notification. You must also consider what you send, to whom, when, and over which channels. Here’s why.

Design your notification system for a better user experience

Notifications are critical to increasing user engagement, and, as an Airship study of 63 million app users suggests, “useful, timely, personalized” notifications are essential to preventing customer churn. However, with 23 billion SMS messages, 65 billion direct WhatsApp messages, and 306.4 billion emails sent every day, cutting through the noise can be difficult.

Image by Gerd Altmann in Pixabay

Notifications should always contribute to the overall user experience, improve productivity, and help users accomplish their goals without annoying the recipient with unimportant or poorly timed information.

Done well, notifications can create an engagement snowball effect within your application. For example, consider how sending the right notifications for task management events within a project management application — like new tasks, task progress, task delegation, and deadline updates — could drive further notifications and, in turn, lead to additional engagement.

Done poorly, like sending too many irrelevant notifications or asking your users to take action on items that aren’t important at the time, and users will quickly disable your notifications. Or, as a Leanplum study found, they’ll delete your app altogether.

A well-defined notification with a clear purpose will add value for your users, improving their experience working within your application.

Build a notification system with a thoughtful design

Considering the essential role notifications play in capturing and keeping your user’s attention, the conceptual design of your notification system deserves early consideration in the design of your product. There are a few broad steps to follow when designing a notification system.

1. Create a framework for your notification design

To ensure you only send valuable notifications to your users without annoying them, you need a clear view of what you are sending, to whom, when, how, and why. This should be your north star to which you frequently return.

Create a design framework for your notifications.

While it might seem logical to send a notification when, for example, one user assigns ownership of a task to another user, start by identifying the outcomes you want to achieve. More than the reason for sending the notification, understand the value you want to achieve — both for yourself (your application) and your user and their goals. Understanding the value gives you the “why” and will help guide the rest of your decisions. If you can’t identify the value, then maybe you shouldn’t be sending that notification.

Next, define the trigger for each notification that will best extract the value. Make sure that you are sending the appropriate message based on the user’s interaction with your system at the time the notification is triggered. We tend to ignore things that offer us no immediate value but don’t mind the interruption if it assists us in completing the task at hand. Continuing the task ownership example, does the assignee need to know the instant ownership has been assigned? If not, you could batch assignments together and send a daily summary.

Now that we understand the notification's value and origin, with some insight into the timing, group your notifications based on importance. Levels of importance should be based on the immediate value to the users; how much attention they need to apply. Is this high, medium, or low value to the user at this point (always link it back to the task at hand)? This helps identify the timing (when you send the notification) and the channel (how you send the notification).

When selecting the most appropriate channel for each notification, besides the level of importance, it's valuable to understand whether or not you need a call to action. For example, if the user needs to acknowledge that assigned task's ownership, then an in-app or push notification might be better suited than an email.

Only now — once you understand the value you want to extract, the importance, and the means of communication — can you finally design the notification itself. Your message structure, content, and look-and-feel can now be optimized for the selected channel and the level of importance. Focus on succinctly communicating useful and relevant information, guiding your user’s attention to the most relevant messages.

2. Give users control over their notifications

A notification preference system allows your users to control what they want to hear more or less about, reducing the risk of them unsubscribing. The more granular the level of settings per channel, the better. It allows users to opt-out of specific messaging categories instead of an entire channel (or all notifications!). In addition to keeping a channel open for future messages or categories, this will facilitate the ability to adjust your message strategy to deal with opt-in and opt-out trends.

However, most users don't have the time to find and tune their notification settings, so prompting them to adjust these at the right moment can be extremely valuable. For example: in Slack, the first time a user receives a notification over the weekend, they get the opportunity to change their notification settings or to continue receiving weekend notifications.

Pinterest gives users granular control over their notifications, while Spotify allows the user to select their preferred channel for each notification category.

3. Use multi-channel notifications

According to a Reckless study, in-app messaging has a 75% open rate. That doesn’t mean all your notifications should be in-app, though. Each channel has its place, and some are more suited to specific use cases than others. For example, use email to share sensitive or official information, especially if they may need to refer to the information later. Push or in-app notifications are better suited for real-time critical alerts, especially if the user’s response to the notification is required to continue the workflow.

For a truly effective and scalable notification design, you need the ability to map one notification to many channels. This will allow you to select the most appropriate channel to ensure maximum value from each notification. For example, an in-app notification is excellent for users already in your app, but maybe email would be better when you don’t want to disrupt their workflow.

Multi-channel priority and settings in Courier

To be clear, multi-channel doesn’t mean sending the same notification over multiple channels simultaneously, spamming your users — although there may be rare circumstances when you would want to do this, like critical system alerts. Instead, by setting the channel delivery order and priority per notification, you can leverage a multiple-channel approach to improve your alerts and messages' deliverability.

For example, if the user doesn’t react to a notification in a timely manner and a response is required to continue the workflow, you can move on and try sending via a more disruptive channel. Additionally, by specifying multiple service providers per channel, if your notification doesn’t deliver through one provider, you could try another.

4. Adapt your notifications to users’ changing needs

Notification system design shouldn’t stop once you’ve successfully sent your messages. To keep your users engaged, you have to adapt your notifications to meet their ever-evolving needs. As their familiarity with your product improves, so too does their definition of value and timely change.

By adopting a data-driven approach and tracking and analyzing user interactions, you will identify opportunities to optimize your notification strategy. Key to this is the ability to perform A/B testing regularly with a subset of users. Analyzing the results against a control group will enable you to continuously feed positive changes back into your notification design.

Zapier, in an article on A/B testing, shares some good advice on ten rules you should follow, like knowing what you are testing for and why, confirming if the results are statistically relevant, and acting on them.

A/B testing. Image source: Mailchimp

With the ability to quickly change and tweak your notifications, not just the design and content but also the communication frequency, you can test and track negative signs, such as unsubscribes and churn. Add in the ability to easily experiment with multiple delivery channels and channel order, and you start to get a clear view of whether the negative signs are due to your notifications (frequency, value, content) or the product itself.

Follow best practices to avoid common notification design missteps

The internet is full of advice on “why you should turn off all your app notifications.” To help you cut through the noise and deliver valuable notifications that inspire your users to engage with your app, here are a few best-practice notification system designs do’s and don’ts.

Do

  • Personalize your messages. According to a CleverTap study of 40 billion push notifications, the use of even basic personalization results in a 9% increase in open rates. Consider the value of a notification for an upcoming flight that informs you check-in is open vs. one that includes your flight number and departure time.

  • Ensure your notifications relate to what your user is doing in your app and offer immediate value. Consider, for example, the value of notifications from Uber informing you that your ride is two minutes away.

  • Tailor your messages as your relationships with your users develop and their experience using your application grows. An existing user, for example, won’t get the same value from a tips-and-tricks message as a new user.

Don’t

  • Send multiple push or in-app notifications to get a single message across when one longer-form email would be less disruptive.

  • Broadcast the same notification across multiple devices (mobile phone, tablet, web browser), creating a mini-storm of pings and banners guaranteed to disrupt them.

  • Send your notifications in the middle of the night. Instead, based on the tracking of your user’s past interactions, look for that golden hour when your user is more likely to engage and you aren’t disturbing their routine or competing with other apps for their attention.

4 apps that nailed the notification experience

Here are four worthwhile examples of how different apps are using notifications to achieve varying use cases.

  1. How Bluecrew uses multi-channel notifications to connect thousands of hourly workers with employers

  2. How Slack uses notifications to manage the attention of 12 million daily active users

  3. Air Traffic Controller: Member-First Notifications at LinkedIn

  4. Airbnb uses push notifications to drive customer satisfaction

Start small and scale as you grow

Trying to find that perfect balance between too many and too few notifications while standing out in a congested world of email, push, and in-app and direct messages is a daunting task. Fortunately, Courier provides developers and product managers with a single platform to create, manage, and send user notifications across every channel. With Courier’s free plan, you can start small and scale as your business grows, extending message functionality as the need arises. 

Author
Kevin Krige

Courier
GitHubtwitterLinkedInFacebookInstagram