Messaging and notification now a days coming in many forms. In analytics we are trying to address some of the key business requirements. And following changes added to the analytics framework to handle all notifications and messages.
Requirements
- How many notifications are presented to the customers
- How many notifications customers clicked
- If priority notifications are delivered
- How many customers close/dismiss the notifications
- If multiple link is provided what link they clicked
- Types of notification alert or notification or message
- etc ..
Solution
To make sure the analytics solution works we need notification Title
- Title can’t be too long
- No PII data should be in the title
- Each notification should have a type
- Notification CTA should be recorded on destination pages
Mobile Apps
Notification impression
Single notification
dd.notificationTitle ="<notificationType>:<notification Title>"
ev_notificationImpression
Multiple notification
dd.notificationTitle ="<notificationType>:<notification Title>,<notificationType>:<notification Title1>"
ev_notificationImpression
Click through records on dismiss
dd.notificationTitle ="<notificationType>:<notification Title>"
ev_notificationDismiss
Click through records on the link clicked
dd.notificationTitle ="<notificationType>:<notification Title>"
dd.notificationLink ="link title"
ev_notificationClickThroughs
message details page passing title (not a clickthrough)
pageDetails.notificationDetail="<title>"
dd.notificationTitle
ev_notificationDetail
Web implementation
Notification impression record with a pageDetails (single or multiple)
By adding the following details to the dataLayer analytics will track notification with page tracking
example of the single notification on page dataLayer
pageDetails={
existing data
...
"notification":[{
"notificationTitle":"<notificationType>:<notificationTitle>"
}]
}
example of Multiple notification on page dataLayer
pageDetails={
existing data
...
"notification":
[{
"notificationTitle":"<notificationType>:<notificationTitle>"
},
{
"notificationTitle":"<notificationType>:<notificationTitle1>"
}]
}
Notification impression record in Lazy load scenario
In lazyload scenario when notification is displayed after page tracking completed a additional tracking function need to pass the notification information
s.w_trackNotification('impression', {"notification":[{ "notificationTitle":"<notificationType>:<notificationTitle>"}]})
s.w_trackNotification('impression', pageDetails)
Notification close/dismiss
Close or dismiss button recorded using same functions as lazy load
s.w_trackNotification('close', {"notification":[{ "notificationTitle":"<notificationType>:<notificationTitle>"}]})
// or
s.w_trackNotification('close', pageDetails)
Click through records on the next page
All CTA required the following data attribute property so that it will be recorded on next page tracking
<a href="#" data-analytics-notification-title="notification title" data-analytics-notification-type ="notification Type" data-analytics-notification-linktitle="text link" >text link<a>
<a href="#" data-analytics-notification-title="notification title" data-analytics-notification-type ="notification Type" data-analytics-notification-linktitle="text link1" >text link1<a>
Leave a Comment