Are you measuring your Push Notifications?


push_bannerWhether being updated about the status of your online order or notified that the running shoes you’ve been eyeing all season finally went on sale, mobile push notifications fill a unique need, both for mobile users and businesses.  Push provides a mechanism to drive timely, relevant messages to mobile users who can easily touch upon the notification to launch the corresponding app to learn more.  Where as for businesses, push provides an effective means of increasing app user retention and engagement.  In fact, according to customer data I have analyzed and corroborated by other external sources, app users who use push are two times more likely to be engaged than users who do not receive push messages.  Despite the value of push notifications, few businesses are measuring its impact on their app initiatives.  Within this post I share how you can measure push notifications and its impact on app user conversion and engagement.

There are two elements that we can easily measure from a push notification:

1) whether an app was launched via push notification

2) unique campaign ID that was delivered within the notification

Although having a push notification campaign ID is not required to know if your app is being  launched via push, it certainly does add value to understand which of your push campaigns are more effective.   Below is an iOS example of how to add a notification identifier (aka campaign ID) into a push notification.

Notification ID within Push Notification Payload (iOS)

//Push Notification Payload sent as JSON payload


“aps”: {

“badge”: 6,

“alert”: “Here is my important push notification message!”,

“sound”: “ding_ding.caf”


“ni”: 678


Here “ni” is an arbitrary variable name and has a value of 678.   Keep in mind for iOS that the entire payload must be 255 bytes, so abbreviating or shortening where possible is sometimes necessary (hence “ni” instead of “notification_identifier”).

To capture this ID and determine if the app is launched from a push notification, we do the following while using our 3.x iOS AppMeasurement library.

Push Notification Measurement Code (iOS)

//METHOD within TrackingHelper.m

+ (void)trackNotifications:(NSString *)notif_id {

//Set eventXX to the desired event to measure push notification launches

//Set eVarYY to capture notification ID (“ni”) found in payload – OPTIONAL

NSDictionary *overridesDictionary = [NSDictionarydictionaryWithObjectsAndKeys:

@”event25″, @”events”, notif_id, @”eVar26″,nil];

NSDictionary *contextData = nil;

[[ADMS_MeasurementsharedInstance] trackLinkURL:nil withLinkType: @”o” linkName:@”notification_launch” contextData:nil variables:overridesDictionary];


//CALL TO METHOD within didFinishLaunchingWithOptions

//inside [Your]AppDelegate.m

//Detect to see if the app was launched via push notification and

//include payload “ni” (notification_id), if present

UILocalNotification *launchWithNotification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];

if (launchWithNotification) {

NSString *notif_id = [launchWithNotification.userInfoobjectForKey:@”ni”];



//DECLARATION within TrackingHelper.h

+ (void)trackNotifications:(NSString *)notif_id;

Although in this example we explicitly set an event and eVar to capture the launch and notification ID, we could instead do it via contextData.  If we were going to do that, we could simply just capture the notification ID as contextData.  We would then create a Processing Rule within SiteCatalyst to map the notification ID value to an eVar, but also include within the rule to set a push launch event.  Next let’s see what we can do with this information.

Reporting Examples

To illustrate the types of insights that are possible with push notification tracking, let’s begin by comparing push app users with non-push app users.  To do this, we create segments for push versus non-push visitors.  We easily create segments for push/non-push visitors by using a Visitors container and including/excluding the push notification launch event.

Push Users


Non-Push Users


To measure engagement per Unique Visitor we use three metrics (App Launches, Time Spent, Screen Views) to create three corresponding calculated  metrics.  Comparing these two segments we see engagement for push app users is two to three times that of non-push app users, regardless of the particular dimension.  Obviously any other important engagement or conversion metric could be included in this comparison.

Next, let’s look at the effectiveness of specific push notifications.  After classifying on the push notification IDs found within the eVar, we can easily compare the effect of any type of push notification, whether marketing (e.g. direct selling), transactional (e.g. order status) or event-triggered (e.g. check-in).


Here we compare side-by-side push campaigns and order status updates.   We can see the number of launches these push notifications triggered as well as the downstream impact on orders.  Interesting enough, the push campaign that had the lowest number of overall app launches “Valentine’s Promo” had the highest conversion at 56%.  Also of note, even though transactional messages such as order status updates aren’t typically intended to drive orders, it is an added benefit when it does occur, as shown above.


Given the potential value of push notifications, it’s important for businesses that deliver push to understand the effectiveness of their efforts.  Although push notifications can be a valuable tool both for customers and businesses, if abused or simply not fully understood, the frequency, timing, content or purpose of your push campaigns could potentially be a negative experience for your app using customers.   By measuring your efforts you’ll better be able to understand and optimize how push notifications can both drive your business forward and provide a useful and positive experience for your mobile app customers.

Update: Customer Success Story

Read how Live Nation used this solution to measure a 11% increase in ticket purchases and 142% boost in time spent within app.

Recommended Articles