Engagement - Push Notification Enablement
This document summarizes the main steps to enable push notifications and test if the notifications are received properly. It also documents edge cases and strategies finalized at increasing the number of users we can reach with push notifications
Push Registration
Push Tokens
To receive push notifications, push tokens are required. If a device doesn’t have a push token, there is no way to send push to it.
Push tokens are a unique anonymous identifier generated by a user’s device and sent to Braze to identify where to send each recipient’s notification.
Braze connects with push service providers like Firebase Cloud Messaging Service (FCMs) for Android and Apple Push Notification Service (APNs) for iOS, and those providers send unique device tokens that identify your app
There are 2 types of push tokens:
Foreground push provide the ability to send regular visible push notifications to the foreground of a user’s device.
Background push are available regardless of whether a particular device has opted-in to receive push notifications from that brand. Background push allows brands to send silent push notifications.
If you only have background push enabled, you won’t be seeing marketing push notification
Braze provides a specific segmentation filter,
Push enabled for App,
to help identify the users who have enabled push notifications.
To identify the users you can contact, you need to filter for
Push enabled for App= true
Push_subscription = opted in
Push Registration by Device
Android:
Android 13: Push permission must be asked of and granted by the user. Receives a token after permission is granted by the user.
Android 12 and earlier: All users are considered
Subscribed
upon their first session when Braze automatically requests a push token.
iOS: Not automatically registered for push.
iOS 12 (with Provisional Authorization):
Your app can request provisional authorization or authorized push. Authorized push requires explicit permission from a user before sending any notifications (receives a token after permission is granted by user), whereas [provisional push][provisional-blog] lets you send notifications quietly, directly to the notification center without any sound or alert.iOS 11 and later & iOS 12 (without Provisional Authorization):
All users must explicitly opt-in to receive push notifications. Will receive a token after users opted-in.
Web: You must request explicit opt-in from users via the native browser permission dialog. Will receive a token after users opt-ed in.
Step by step guest facing enablement
Applicable to all IOS device and Android 13 and above
Option A - First time login
The first time you download the app, there is a native device push prompt
The push primer can only be shown once in the customer lifetime
Accept notifications from the push prompt
Check push primer chapter for some recommendations on how to increase likelihood of people accepting the notification prompt
Opt-in to notification also in the app setting (sign up page/communication preference page)
Option B - Post log in
Open your iPhone’s Settings app. You’ll find this gray gear icon on your Home screen, in your App Library, or by searching.
Tap Notifications. This option has a red icon with a white bell and is usually in the second group of settings.
Choose whether to show notification previews.
‘Always’ to show all previews,
‘When unlocked’ to show them only when your screen is unlocked,
‘Never’ if you prefer to see just the name of the app with a notification.
Tap the app you want to manage. Each app on your iPhone has its own push notification settings.
Toggle the “Allow Notifications” switch to On. Select the app you want and enable notification. As long as this switch is enabled, you’ll receive push notifications for this app.
Choose your alert preferences. You can select where you want to see the notifications: on the Lock Screen, in the Notification Center, or as Banners. You can also choose the banner style—‘Persistent’ or 'Temporary’.
Choose whether to hear notification sounds and whether to show notification badges on the app icon.
Go to the app you want to receive notifications, and make sure to opt-in in the app notification center as well
If the user does not have both device opted in & app opt in, we should not expect they receive notifications. Please find below more details:
If the user has device opt in, but not BK App opt in: the status will be unsubscribed
If the user has BK App opt in, but not device opt in: Braze will try to register a push token unsuccessfully and the status will be returned to subscribed
How to check if notifications are enabled?
Go to the app setting, and check in the communication center that you have opted in
Go to the device setting, and check that you have granted permission from the device
Look up for your user in Braze
Check under engagement if the user has correctly registered push tokens
Do not use test accounts to perform these checks. Often, test accounts are source of duplicated profiles, which causes unpredictable behaviors. On top of that, if I have multiple devices, and I log in with the same emails in 2 different devices, the push token could be moved around from one account to the other.
Type of notifications
Name | Description | Devices |
---|---|---|
Background push notification | Push notifications that are not rendered for the device. Usually used to send packets of information down to the app for background processes and uninstall tracking. A Background-enabled push token is required for background push to be sent. | IOS Android Web |
Regular push notifications | These appear on your user's device with a notification sound and message which slides in or appears in a notification bar or stack. | IOS Android Web |
Silent push notifications | A push notification that does not wake up the device when rendering on the device. Instead, the notification will be stored in the device's notification tray. | IOS Android Web |
HTML Push Notifications | Coded push notifications that don’t follow Braze templates. They allow more customization | IOS Android Web |
Notification IDs & Channel IDs | Notification IDs and Channel IDs allow you to replace or update push notifications already received, but not opened, by the user. | IOS Android Web |
Provisional Push Notifications | Introduced by Apple in iOS 12, provisional authorization automatically occurs on install for iOS apps, allowing brands to send silent notifications without displaying a push prompt to users. When the silent push is sent and viewed in the device's notification tray, users will be given the option to allow or discontinue push notifications.
| IOS Android Web |
Push Stories | Push Stories are immersive messages that take your user through a visual journey in the form of a carousel. These are available for mobile devices only
| IOS Android Web |
Push with Action Buttons | Push with action buttons are messages that allow you to provide options to your users and offer several calls to action. | IOS Android Web |
Wearable Push
| These push notifications allow brands to send messages directly to wearable devices like the Apple Watch. | IOS Android Web |
Provisional Push
This is only available for IOS 12 and above
The feature assigns a “provisional token” to all iPhone users when they download a given app.
This acts as a sort of “trial pass,” allowing brands to reach out to new users before they’ve seen (and clicked) Apple’s native push opt-in prompt.
Braze has a“provisional user” filter to target people who haven’t yet opted in and you’re off to the races!
Requires SDK update: Push Integration for iOS
How can we improve push tokens collection?
Prompts
According to the opt-in channels, we can leverage emails and/or in-app messages to educate the guests and prompt them to go to their device setting and activate their notifications. This is a common practice in the industry, see below.
If you are sending IAM to IOS users, you can leverage this deep linking path to link directly to the notification center of the phone: app-settings:root=Notifications&path=Burger King
How to configure the prompt in Braze
Go to Setting > Canvas
Select Action based entry criteria upon start session
Select in the target audience people who:
Have push_subscribe = opted in (this will ensure they have marketing opt-in)
Have push enabled = false (this confirms they don’t have push tokens registered)
Have email an address (this ensures they have an account)
Set up the IAM.
Proposed copy:
You are missing out! Your notification are turned off. Turn on your deals!
⚙️ Go to your settings
🔔 Click on "Notifications"
🍔 Search for "Burger King"
✔️ Click on "Allow notifications"
🤑 Get the best deals
CTA: select “Deeplink into app” and include the following “app-settings:root=Notifications&path=Burger King
"
Push Primer
User have to opt-in to receive push notifications
To optimize the chances that users will accept to receive push notifications, you can set up a push primer (in-app message explaining why the user should opt-in to notifications). This allows you to use the “native prompt” or “device prompt” only once you know that the guests is interested in receiving notifications.
Once the guests accept to receive push notifications, the native primer is shown
Push primers are beneficial as they allow us to send the message with:
Optimized design (a/b test copy and visuals)
Best time (avoid overwhelming the guests at the first interaction). It is recommended to do it based on specific user activity (post high engagement moments)
Leverage the button on-click behavior “Request Push Permission” when creating an in-app message for iOS, Android, or Web.
For iOS, push campaigns are relevant as foreground push notifications (such as notifications that wake up the device) are not enabled until a user explicitly opts into iOS' native push prompt.
Guide on how to set up a push primer:Push Primer In-App Messages
How can we improve opt-in collection?
If the guests has accepted the native prompt, but did not consent in the sign up page or opted in in the communication preference center, the guest is not eligible for receiving push notifications. Therefore, we can leverage IAM to prompt them to agree to notifications.
How to configure the prompt in Braze
Go to Setting > Canvas
Select Action based entry criteria upon start session
Select in the target audience people who:
Have push_subscribe = unsubscribed or subscribed (this confirms they don’t have marketing opt-in)
Have push enabled = true (this confirms they have push tokens registered)
Have email an address (this ensures they have an account)
Configure the in-app message.
Proposed copy:
Do you want to unlock more vouchers? 🔓🤑 Click "Yes" below to receive more coupons and promotion notifications. You can unsubscribe from further communications by clicking the "X" in the top right corner.
Ensure the CTA links to the account setting
Other examples of IAM and results: https://rbioffice.sharepoint.com/:p:/r/teams/intl-digital-tech/_layouts/15/Doc.aspx?sourcedoc=%7B220BADAC-AC08-45EE-895F-AB06E4A8023E%7D&file=Contactable%20Sales%20-%20Learnings.pptx&action=edit&mobileredirect=true&DefaultItemOpen=1
Summary