NPS in Adobe Analytics
Most websites have specific conversion goals they are attempting to achieve. If you manage a retail site, it may be orders and revenue. Conversely, if you don’t sell products, you might use visitor engagement as your primary KPI. Regardless of the purpose of your website (or app), having a good experience and having people like you and your brand is always important. It is normally a good thing when people use your site/product/app and recommend it to others. One method to capture how often people interacting with your site/brand/app have a good experience is to use Net Promoter Score (NPS). I assume that if you are a digital marketer and reading this, you are already familiar with NPS, but in this post, I wanted to share some ways that you can incorporate NPS scoring into Adobe Analytics.
NPS
The easiest way to add NPS to your site or app is to simply add a survey tool that will pop-up a survey to your users and ask them to provide an NPS. My favorite tool for doing this is Hotjar, but there are several tools that can do this.
Once your users have filled out the NPS survey, you can monitor the results in Hotjar or whichever tool you used to conduct the survey.
But, if you also want to integrate this into Adobe Analytics, there is an additional step that you can take. When a visitor is shown the NPS survey, you can to capture the NPS data in Adobe Analytics as well. To start, you would pass the survey identifier to an Adobe Analytics variable (i.e. eVar). This can be done manually or using a tag management system. In this case, let’s assume that you have had two NPS submissions with scores of 7 and 4. Here is what the NPS Survey ID eVar report might look like:
At the same time, you can capture any verbatim responses that users submit with the survey (if you allow them to do this):
This can be done by capturing the text response in another Adobe Analytics variable (i.e. eVar), which allows you to see all NPS comments in Adobe Analytics and, if you want, filter them by specific search keywords (or, if you are low on eVars, you could upload these comments as a SAINT Classification of the NPS Survey ID). Here is what the NPS Comments eVar report might look like when filtered for the phrase “slow:”
Keep in mind that you can also build segments based upon these verbatim comments, which is really cool!
Trending NPS in Adobe Analytics
While capturing NPS Survey ID’s and comments is interesting, you probably want to see the actual NPS scores in Adobe Analytics as well. You can do this by capturing the actual NPS value in a numeric success event in Adobe Analytics when visitors submit the NPS survey. You can also set a counter success event for every NPS survey submission, which allows you to create a calculated metric that shows a trend of your overall NPS.
First, you would setup the success events in the Adobe Analytics administration console:
Let’s look at this using the previously described example. When the first visitor comes to your site and completes an NPS survey with a score of 7, you would set the following upon submission:
s.events="event20=1,event21=7";
When the second visitor completes an NPS survey with a score of 4, you would set the following:
s.events="event20=1,event21=4";
Next, you can build a calculated metric that computes the your overall NPS. Here is the standard formula for computing NPS using a scale of 1-10:
In our scenario, the NPS would be -50, since we had one detractor and no promoters, computed as ((0-1)/2) x 100 = -50.
To create the NPS metric in Adobe Analytics, you first need to create segments to isolate the number of Promotors and Detractors you have in your NPS surveys. This can be done by building a segment for Promoters…
…and a segment for Detractors:
Once these segments have been created, they can be applied to the following calculated metric formula in Adobe Analytics:
Once you have created this calculated metric, you would see a trend report that looks like this (assuming only the two visitors mentioned above):
This report only shows the two scores from one day, so if we pretend that the previous day, two visitors had completed NPS surveys and provided scores of 9 & 10 respectively (a score of 100), the daily trend would look like this:
If we looked at the previous report with just two days (November 3rd & 4th) for a longer duration (i.e. week, month, year), we would see the aggregate NPS Score:
In this case, the aggregate NPS score for the week (which in this case just includes two days) is 25 computed as: ((2 Promoters – 1 Detractor)/4 Responses) x 100 = 25.
If we had data for a longer period of time (i.e. October), the trend might look like this (shown in Analysis Workspace):
And if we looked at the October data set by week, we would see the aggregate NPS (shown in Analysis Workspace):
Here we can see that there is a noticeable dip in NPS around the week of October 22nd. If you break this down by the NPS Comments eVar to see if there may be comments telling us why the scores dipped:
In this case, the comments let us know that the blog portion of the website was having issues, which hurt our overall NPS.
One side note about the overall implementation of this. In the preceding scenario I built the NPS as a calculated metric, but I could have also used the Promoter and Detractor segments to create two distinct calculated metrics (Promoters and Detractors)…
…which would allow me to see a trend of Promoters (or Detractors) over time:
Alternatively, you could also choose to set success events for Promoter Submissions and Detractor Submissions (in real-time) instead of using a segment to create these metrics. Doing this would require using three success events instead of two, but would remove the need for the segments, but the results would be the same.
Summary
As you can see, this is a fair amount of work. So why would you want to do all of this if you already have NPS data in your survey tool (i.e. Hotjar)? For me, having NPS data in Adobe Analytics provides the following potential additional benefits:
- Build a segment of sessions that had really good or really bad NPS scores and view the specific paths visitors have taken to see if there are any lessons to be learned
- Build a segment of sessions that had really good or really bad NPS scores and see the differences in cart conversion rates
- Look at the retention of visitors with varying NPS scores
- Identify which marketing campaigns are producing visitors with varying NPS scores
- Easily add NPS trend to an existing Adobe Analytics dashboard
- Easily correlate other website KPI’s with NPS score to see if there are any interesting relationships (i.e. does revenue correlate to NPS score?)
- Use NPS score as part of contribution analysis
- Create alerts for sudden changes in NPS
- Identify which [Hotjar] sessions (using the captured Survey ID) for which you want to view recordings based upon behavior found in Adobe Analytics
These are just some ideas that I have thought about for incorporating NPS into your Adobe Analytics implementation. If you have any other ideas, feel free to leave a comment here.
This is great Adam – one (probably) daft question.
Along the same lines, we currently capture effort, task completion and overall satisfaction scores along verbatim comments from customers. Will also look to bring in NPS as we ask on our feedback form.
All these items get popped into separate evars, but as they have a 255 character limit – we’re struggling to find any way to pull in that longform data.
We have around 9% of people who leave feedback in excess of evar length, but would love to get it all in one place.
Any smart ideas on how to solve?
-Alex
Hi Adam,
This article is great and has already helped me a lot in a current POC that i’m building.
I had one question though in regards to what you define as ‘NPS Survey ID’? And is this only suggested if you’d like to crosscheck results between platforms – ie “Identify which [Hotjar] sessions (using the captured Survey ID) for which you want to view recordings based upon behavior found in Adobe Analytics”?
Based on your article above, it appears to be an identifier that is unique to each submission of a NPS Survey from Hotjar. I’ve been familiarising myself with Hotjar and between both what’s available on page in terms of the Hotjar Data/Object structure (ie hj.widget.pollData.id) and also what’s viewable within the console (ie userId)… and I couldn’t seen anything within either that equated to what I understood your reference to NPS Survey ID to represent.
I personally was thinking of setting an a NPS Survey ID eVar as a combination of both the userId and surveyId (which are both available on page and in the HJ console).
ie userSurveyID = 347595-e5075168-3918-348c-a518-c220a9c01e01
… which is a combination of:
survey id = 347595
user Id = e5075168-3918-348c-a518-c220a9c01e01
My assumption would be that those two values together would usually be unique 99% of the time – unless the same user has submitted the same NPS survey more than once. And it would mean you could filter AA reports by the the user ID value or survey id value included in the NPS Survey ID eVar if required for whatever reason.
Is that would/how you would define the survey ID for a hotter/adobe analytics integration?
Thanks,
Will
I am sure there is a unique ID in tools like Hotjar that you can grab. If not, you can set your own…