Getting Personal with Push Notifications using Amazon SNS

While research proves push notifications have a dramatic effect on an app’s ability to engage users, sending too many or irrelevant notifications can undermine your user retention, and lead users to uninstall your App. Appropriate targeting of notifications is key.

A recent study found that the most desired type of push notifications are personalized ones. Sending the exact same push notifications to every user should not be part of an app’s notification strategy.

So how can you tailor your app’s notification experience? It begins with collecting information to allow targeting notifications to specific users based on preferences and behaviour. The specific information you collect will of course vary depending on the nature your App.

As an example, in our public emergency alerting apps the Alberta Emergency Alert (AEA) and Saskatchewan Emergency Alert (SaskAlert), information for notification targeting falls into two categories:

  • User preference settings – these are settings that users adjust inside the app to explicitly control the type and topic of notifications received
  • Device location – this is an example of a user behaviour, in this case using change in the device location, that can be used to ensure the relevance of push notifications

Whatever the information is, you need to pass this to your backend notification pusher solution so it can take advantage of these parameters to target notifications to the appropriate users. For a user preference settings change, the overflow is illustrated below.

Getting Personal with Push Notifications

  1. The user changes some preference setting on their device that relates to notifications. For example, they may choose to receive notifications for a selected topic.
  2. The app sends this information to your notification pusher component, which saves the user setting for future notification targeting. For example, the pusher may record the topic subscription.
  3. A message from a company system is sent to the pusher component to initiate notification sending.
  4. The pusher component sends the notification using a push service, such as Amazon SNS. Only the relevant devices are targeted, based on topic subscription.
  5. Platform Notification Services – such as Apple Push Notification Service (APNs) for iOS, and Google Firebase Cloud Messaging (FCM) for Android – dispatch the notifications to end user devices.

As we discussed in our previous post 3-Steps to Building a Notification Pusher with Amazon SNS and Ruby, Amazon Simple Notification Service (Amazon SNS) is a fast, flexible notification service that lets you send notifications to multiple push notification platforms. SNS also provides the ability to set up topics that allow you to segment your notifications.

In the attached guide and sample code, we’ll show you how to:

  1. Create SNS topics to segment devices according to a user preference setting
  2. Send information to the pusher component from an app so topic subscription can be updated for the device
  3. Use the topic subscription information to target a notification to only applicable devices

Download our guide and sample code for step-by-step instructions and a working example of how to personalize notifications based on user preferences.


You can download this for free, but if you feel like joining our mailing list for relevant articles, take a moment to fill in your information.

Leave a Reply

Your email address will not be published.