Overview
In this lesson, you'll learn how to create an in-app NPS (Net Promoter Score) survey. Use an NPS survey to screen for positive reviewers, driving them to the app store to give you a positive rating, while siphoning off neutral users or detractors into their own workflow.
The first steps will be to learn how to create Segments and apply them to Funnels to understand user behavior. Then you'll be able to understand how to create Audiences for promoters and detractors and send personalized app engagement campaigns.
Why it matters
NPS surveys are a no-brainer. Utilize this function to push your happiest users to the app store to review your app. In the context of mobile apps, NPS surveys enable app publishers to achieve several goals:
- Gain more positive app store rankings to drive improved user acquisition
- Gather qualitative and quantitative user feedback for product and marketing improvements
- Disrupt the uncreative, annoying "Rate my app" notification process that often results in negative ratings
How-to guide
The following steps will walk you through creating an in-app NPS campaign and increasing your App Store/Google Play Store rating.
Step 1 (iOS only): Instrument code in your app to trigger the App Store Review API
For users on iOS 10.3+ you can utilize Apple's SKStoreReviewController to request ratings and reviews without ever leaving the app (see Apple docs here). This is extremely useful as there is minimal interruption to the user's workflow within your app.
As mentioned in Step 4, it is required that you collect the NPS rating value as a custom dimension. You will then utilize our analytics callbacks to ask what the custom dimension value is for that user when they reach a specific part of your app where you would like to prompt a rating request.
You will have to instrument logic in your app to call the API if the dimension value is greater than or equal to 8 (or whatever value you would like to ask for ratings—8 is associated with the NPS scale). Below are Objective-C and Swift snippets you can utilize to make this call.
As previously mentioned, the location of where this code is executed is up to you, but we recommend having it surface when the user is most likely to engage with it. In this example, we've recommended when browsing products.
Objective-C
// user goes through some workflow, like browsing products
NSString *npsString = [Localytics valueForCustomDimension:CUSTOM_DIMENSION_NPS];
if (npsString != nil) {
if ([npsString integerValue] > 8) {
[SKStoreReviewController requestReview];
}
}
Swift
// user goes through some workflow, like browsing products
if let npsString = Localytics.value(forCustomDimension: CUSTOM_DIMENSION_NPS) {
if let npsInt = Int(npsString), npsInt > 8 {
SKStoreReviewController.requestReview()
}
}
Step 2: Navigate to the Messaging screen
This screen provides a summary of your messaging campaigns and their statuses. To enter the campaign builder, click the green plus icon and select Create New > In-App.
Step 3: Select an Audience
Next, define who should receive this campaign by selecting or creating a target Audience. There are three options for selecting an Audience: all users (Everyone), a previously Saved Audience, or create a New Audience. These options can be seen in the image below:
To focus the survey on a particular workflow or feature in the app, create a New Audience (or use a saved one) by combining Event, Session, and Profile data to target users who fit your criteria.
We recommend creating an Audience of users who have opened the app at least five (or your preferred number) times to target users who have experience with your app and to maintain a positive experience for new users.
Note that you can set Event triggers to determine when a user sees this message for further refinement. Only users that are in the Audience and perform the triggering Event will see the message.
For example, you might create an Audience of users who have completed the Checkout Event on a specific app version to better undertand user sentiment post-purchase after an app update. Modify your creative from “How was your app experience?” to “How was your checkout experience?”
Step 4: Design the creative
To design the creative, select the File Uploader option.
Download the NPS template from this link to get started. This template provides tracking once the user submits their score. Most importantly, it sets a Custom Dimension for the value the user rated your app. This will be instrumental when calling the Apple Store Review API, but we'll revisit this later.
This creative also tags an "In-App Rating Result" Event with attributes being the score the user provided.
*If you plan on using the NPS survey to drive App Store Reviews, it is required to at least set a custom dimension as the rating value.
Along with the custom dimensions, and event being tracked, this template is instrumented with logic to assign Profile attributes of Promoter, Detractor, and Passive based on the score given. With these Profile attributes set, you can further hone your targeting with relevant messaging based on their sentiment.
Add your own customizations and branding to make it your own. Here are a few examples:
For users who rate your app an 8, 9 or 10, Promoters, thank them for their feedback and direct them to rate your app in the Google Play Store. For iOS you will be using this value to conditionally trigger the Store Review API as seen in Step 1.
For users who rate your app, a 1-7, Passives & Detractors, chances are there’s something about the app experience (or their mood that day) that’s just not quite right. Ask these users for feedback instead of directing them to the app store.
This feedback can take many forms: a free-form text box, a deep link to an existing feedback section in the app, a dropdown list to rank new feature requests or a support ticket for a follow-up discussion via email.
Asking Detractor and Passive users directly for their feedback establishes an outlet for users to be heard and helps prevent the dreaded social media vent. Their feedback also provides your product team valuable insight into how to improve the app experience.
Establishing these alternate workflows for Promoters and Detractors ensures you direct only Promoters to the app store, leading to more positive reviews than the typical rating requests.
Step 5: Schedule & activate the campaign
As noted above, you can either allow all members of the Audience to see the message by displaying it on Session start, or you can use an Event to trigger the display of the in-app message. If you use an Event to trigger the in-app, only users performing the Event will see it.
For this NPS campaign, consider scheduling the message to display after a successful Event is concluded, such as Checkout Complete. Once you have set the schedule for the campaign, you will then be asked to Confirm and Activate it.
Step 6: Review results
After the campaign is live, you can view the campaign's performance. The campaign summary screen contains high-level metrics on response rates to the NPS survey. Here you can view the number of displays, clicks, and conversions.
You can assign any Event you track in Localytics as the Conversion Event for your campaign—and you can further refine this based on attribute-level detail.
Step 7: Measure and optimize
Viewing campaign performance is valuable, but Localytics allows you to go even deeper. The downloadable example NPS Survey is pre-configured to include Event tags which capture the scores that have been entered by end-users. The HTML code of the in-app message is set up to trigger an Event called NPS Rating which captures both the score that was entered and whether the user is a Promoter, Passive, or Detractor.
You will be able to report on this information in the Localytics dashboard using the Events report. With this data you can apply filters/splits and understand your overall NPS score. Here’s an example of what this will look like:
Now that you know who your most satisfied users are, start digging into how their experience differs from the detractors. Create a Segment of Promoters and one of Detractors. Use these Segments to filter the Usage and Engagement reports and uncover new insights.
Apply this Segment as a filter on a Funnel to compare funnel completion between Promoters and Detractors. Start drawing conclusions about what Promoters are doing that Detractors aren't and vice versa.
Step 8: Take action
So you've dug into your NPS results and you've created Segments to analyze trends between promoters and detractors. Now it's time to take action and create Audiences based on NPS score for personalized push, in-app, email, and remarketing campaigns.
Knowing your advocates means you can call on those users to share your content, become early adopters of new features, and spend more time or money in your app. You can avoid further alienating those who scored low on your NPS survey. Then, you can continue to monitor user behavior and nurture a positive experience for them.
Over time, by pointing out updates to pain-point features and offering app marketing incentives, you can change opinions for these detractors. Later, you can release a new NPS survey and note how sentiment has improved!
Key takeaways
- By crafting an NPS survey via an in-app message, you can satisfy two very important goals: improving your app store rating and increasing user happiness.
- Creating separate workflows for promoters and detractors enables you to direct only your happiest users to the app store leading to higher ratings and avoiding the trap of outdated "rate my app" notifications.
- Use NPS scores to create Segments to understand trends in engagement and funnel completion. Also create targeted Audiences for targeted push, in-app, remarketing, and email campaigns.