How to run a Net Promoter Score campaign

Net Promoter Score (NPS®) is a metric which provides an indication of customers loyalty. It generally consists of sending two questions to a group of customers.

For an in-depth guide to using NPS in your company, check out the Star Wars guide to Net Promoter Score.

Check out our webinar “Cracking the code to customer loyalty with NPS”:

 

Build your own NPS survey

The first question is typically an Opinion scale question such as:

“How likely are you to recommend <Insert Your Company Name> to a friend or colleague?”

The response is a score from 0 to 10. Based on the score respondents are categorized as follows:

  • Score 9-10: Promoters
  • Score 7-8: Passives
  • Score 0-6: Detractors

The NPS® score is then calculated as:

NPS Score = (% of Promoters) – (% of Detractors)

The second question is typically short text question used to get qualitative feedback to understand the reason for the score. For example:

“Could you please tell us why you gave a score of <Insert Score>?”

Alternatively, you can use our ready-made Net Promoter Score template.

How to embed your NPS survey in an email

At Typeform our Customer Success team sends our NPS surveys 1 month after signup, 6 months after signup, and then every 6 months thereafter.

If you are a typeformer, you may have noticed that in the email we send out for the NPS it appears as though the typeform is embedded in the email. We’ve received several questions about how we did that, so we decided to extend this article to explain how we set up our NPS project:

Step 1: Create the typeform

We created an NPS typeform with only the second question (e.g. “Please tell us why you gave us a score of <Score>?”). In this typeform we used Hidden Fields to be able to segment the feedback based on the following variables:

Hidden fields used in the Typeform and their purpose:

  • Email address – used to identify the respondent
  • Plan – used to track the respondent’s plan (e.g. PRO Monthly)
  • Score – used to track the NPS score
  • Signup date – used to track users by cohort
  • Country – used to analyze NPS scores by country

Step 2: Create the email template

Although it looks like the Opinion Scale question is embedded in the email, it was not actually embedded. Instead we took screenshots of every number on the opinion scale and created an HTML email (see code further down). We use Intercom to send out the emails (but you could use any email tool that includes a mail merge feature such as MailChimp, Salesforce, etc.)

This is what the email looks like on a computer:

NPS_email01

… and on a mobile device:

NPS Mobile

In Intercom we added the images of the different scores and each score is linked to the typeform created in Step 1. To populate the Hidden fields we pass the email, the plan, the country, the signup date, and the milestone in the link using a Merge Field (see example below).

https://example.typeform.com/to/EG?email=&score=10&plan=&country=&signup=

By setting it up this way, the hidden fields in the typeform URL automatically populate with the data stored in Intercom. The only exception to this is the actual NPS score because, obviously, you do not yet know what NPS score the user will give you. As a result the NPS score Hidden Field is created as a static number, and we created a different link for each score. In the example above, the link is for a typeform customer who gave us an NPS score of 10. The link which the respondent is redirected to if the customer gave us a score of 9 would be:

https://example.typeform.com/to/EG?email=&score=9&plan=&country=&signup=

Find an example email embed code at the bottom of this article.

Use Google Analytics with your NPS survey

You can also track results in your NPS survey using Google Analytics. It’s a bit more complicated to set up, but means you can see scores you got from respondents who don’t click Submit.

Typeform only saves data when respondents click Submit, but Google Analytics can track every click on the NPS rating.

1. Create your typeform using hidden fields, including data you have in your CRM (Customer relationship management) tool. This article explains how.

2. Add Google analytics tracking code to your NPS survey – here are the instructions.

3. Create an email template: use merge fields to distribute your typeform. This is explained in the link above in point one.

4. When you have some submissions, partial or not, go to Google Analytics and navigate to Behavior/Overview:

NPS Google Analytics 14. Export this data as an Excel file. Make sure to pick the correct date range for the data you need.NPS Google Analytics 25. Now, to analyze your data, you will want to display the information from Hidden Fields in separate columns in your spreadsheet. Using a spreadsheet formula, (  =split(A1,“&=”) ) you’ll see all your Hidden Fields filled with information from your respondents. 

See in the image below that we can now view the respondent email, NPS score, and all other data we sent via Hidden Fields:

NPS Google Analytics 3

HTML email template


<!DOCTYPE html>
<html>
<head>
<!– Copyright © 2013-2015 Delighted Inc. All rights reserved. –>
<meta content=”text/html; charset=utf-8″ http-equiv=”Content-Type”>
<meta content=”width=device-width, initial-scale=1.0″ name=”viewport”>

<title>How likely are you to recommend Typeform to a friend?</title>
<!–[if gte mso 9]>
<style type=’text/css’>table,tbody,tr,td{border-collapse:collapse !important;mso-table-lspace:0 !important;mso-table-rspace:0 !important}.b2{width:3px !important}.b1{width:43px !important}</style>
<![endif]–>
<style type=”text/css”>
*{
text-rendering:optimizelegibility;
-webkit-font-smoothing:antialiased;
}
@media only screen and (max-width: 480px){
table[id=canspamBar] td{
font-size:14px !important;
}

} @media only screen and (max-width: 480px){
table[id=canspamBar] td a{
display:block !important;
margin-top:10px !important;
}

} @media only screen and (max-width: 480px){
table[id=canspamBar] td{
font-size:14px !important;
}

} @media only screen and (max-width: 480px){
table[id=canspamBar] td a{
display:block !important;
margin-top:10px !important;
}

}</style></head>

<body style=”background: #ffffff; width:100% !important;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;margin:0;padding:0;overflow-x:hidden;”>
<table border=”0″ cellpadding=”0″ cellspacing=”0″ style=”background: #ffffff; width:100% !important;line-height:24px !important;margin:0 auto;padding:0 10px;table-layout:fixed;max-width:570px;height:50px;”>
<tr>
<td align=”center” class=”q11″ colspan=”11″ dir=”ltr” style=”font-size:22px;font-family:’Helvetica Neue’, Helvetica, Arial, sans-serif;font-weight:normal;line-height:30px;color:#333333;text-align:left;padding-top:40px”>
<a href=”http://www.typeform.com”><img src=”https://s3.amazonaws.com/typeform-newsletters/Typeform_icon_S_2.png”></a>
</td>
</tr>

<tr>
<td align=”center” class=”q11″ colspan=”11″ dir=”ltr” style=”padding:30px 0 20px 0;font-size:14px;font-family:’Helvetica Neue’, Helvetica, Arial, sans-serif;font-weight:normal;line-height:30px;color:#333333;text-align:left”>
ANY INTRODUCTION TEXT YOU WANT </td>
</tr>
<tr>
<td align=”center” class=”q11″ colspan=”11″ dir=”ltr” style=”padding:30px 0 20px 0;font-size:22px;font-family:’Helvetica Neue’, Helvetica, Arial, sans-serif;font-weight:normal;line-height:30px;color:#333333;text-align:left”>How likely are you to recommend Typeform to a friend?

</td>
</tr>
<tr>
<td align=”center” class=”b01″ style=”background: #ffffff url(https://s3.amazonaws.com/typeform-newsletters/imgo.jpg) repeat-x; border-color: #CACACA; border-style: solid; border-width: 1px;” valign=”middle”>
<a href=”https://hello.typeform.com/to/KQc9rj?email=&score=0&plan=&country=&signup=&milestone=3months” style=”display:block;line-height:50px;text-decoration:none;font-size:18px;font-family:’Helvetica Neue’, Helvetica, Arial, sans-serif;font-weight:bold”><span class=”b010″ dir=”ltr” style=”color:#8BCBCA”>0</span></a>
</td>

<td align=”center” class=”b01 border” style=”background: #ffffff url(https://s3.amazonaws.com/typeform-newsletters/imgo.jpg) repeat-x; border-color: #CACACA; border-style: solid; border-width: 1px; border-left: 0;” valign=”middle”>
<div class=”vline”></div><a href=”https://hello.typeform.com/to/KQc9rj?email=&score=1&plan=&country=&signup=&milestone=3months” style=”display:block;line-height:50px;text-decoration:none;font-size:18px;font-family:’Helvetica Neue’, Helvetica, Arial, sans-serif;font-weight:bold”><span style=”color:#8BCBCA”>1</span></a>
</td>

<td align=”center” class=”b01 border” style=”background: #ffffff url(https://s3.amazonaws.com/typeform-newsletters/imgo.jpg) repeat-x; border-color: #CACACA; border-style: solid; border-width: 1px; border-left: 0;” valign=”middle”>
<div class=”vline”></div><a href=”https://hello.typeform.com/to/KQc9rj?email=&score=2&plan=&country=&signup=&milestone=3months” style=”display:block;line-height:50px;text-decoration:none;font-size:18px;font-family:’Helvetica Neue’, Helvetica, Arial, sans-serif;font-weight:bold”><span style=”color:#8BCBCA”>2</span></a>
</td>

<td align=”center” class=”b01 border” style=”background: #ffffff url(https://s3.amazonaws.com/typeform-newsletters/imgo.jpg) repeat-x; border-color: #CACACA; border-style: solid; border-width: 1px; border-left: 0;” valign=”middle”>
<div class=”vline”></div><a href=”https://hello.typeform.com/to/KQc9rj?email=&score=3&plan=&country=&signup=&milestone=3months” style=”display:block;line-height:50px;text-decoration:none;font-size:18px;font-family:’Helvetica Neue’, Helvetica, Arial, sans-serif;font-weight:bold”><span style=”color:#8BCBCA”>3</span></a>
</td>

<td align=”center” class=”b01 border” style=”background: #ffffff url(https://s3.amazonaws.com/typeform-newsletters/imgo.jpg) repeat-x; border-color: #CACACA; border-style: solid; border-width: 1px; border-left: 0;” valign=”middle”>
<div class=”vline”></div><a href=”https://hello.typeform.com/to/KQc9rj?email=&score=4&plan=&country=&signup=&milestone=3months” style=”display:block;line-height:50px;text-decoration:none;font-size:18px;font-family:’Helvetica Neue’, Helvetica, Arial, sans-serif;font-weight:bold”><span style=”color:#8BCBCA”>4</span></a>
</td>

<td align=”center” class=”b01 border” style=”background: #ffffff url(https://s3.amazonaws.com/typeform-newsletters/imgo.jpg) repeat-x; border-color: #CACACA; border-style: solid; border-width: 1px; border-left: 0;” valign=”middle”>
<div class=”vline”></div><a href=”https://hello.typeform.com/to/KQc9rj?email=&score=5&plan=&country=&signup=&milestone=3months” style=”display:block;line-height:50px;text-decoration:none;font-size:18px;font-family:’Helvetica Neue’, Helvetica, Arial, sans-serif;font-weight:bold”><span style=”color:#8BCBCA”>5</span></a>
</td>

<td align=”center” class=”b01 border” style=”background: #ffffff url(https://s3.amazonaws.com/typeform-newsletters/imgo.jpg) repeat-x; border-color: #CACACA; border-style: solid; border-width: 1px; border-left: 0;” valign=”middle”>
<div class=”vline”></div><a href=”https://hello.typeform.com/to/KQc9rj?email=&score=6&plan=&country=&signup=&milestone=3months” style=”display:block;line-height:50px;text-decoration:none;font-size:18px;font-family:’Helvetica Neue’, Helvetica, Arial, sans-serif;font-weight:bold”><span style=”color:#8BCBCA”>6</span></a>
</td>

<td align=”center” class=”b01 border” style=”background: #ffffff url(https://s3.amazonaws.com/typeform-newsletters/imgo.jpg) repeat-x; border-color: #CACACA; border-style: solid; border-width: 1px; border-left: 0;” valign=”middle”>
<div class=”vline”></div><a href=”https://hello.typeform.com/to/KQc9rj?email=&score=7&plan=&country=&signup=&milestone=3months” style=”display:block;line-height:50px;text-decoration:none;font-size:18px;font-family:’Helvetica Neue’, Helvetica, Arial, sans-serif;font-weight:bold”><span style=”color:#8BCBCA”>7</span></a>
</td>

<td align=”center” class=”b01 border” style=”background: #ffffff url(https://s3.amazonaws.com/typeform-newsletters/imgo.jpg) repeat-x; border-color: #CACACA; border-style: solid; border-width: 1px; border-left: 0;” valign=”middle”>
<div class=”vline”></div><a href=”https://hello.typeform.com/to/KQc9rj?email=&score=8&plan=&country=&signup=&milestone=3months” style=”display:block;line-height:50px;text-decoration:none;font-size:18px;font-family:’Helvetica Neue’, Helvetica, Arial, sans-serif;font-weight:bold”><span style=”color:#8BCBCA”>8</span></a>
</td>

<td align=”center” class=”b01 border” style=”background: #ffffff url(https://s3.amazonaws.com/typeform-newsletters/imgo.jpg) repeat-x; border-color: #CACACA; border-style: solid; border-width: 1px; border-left: 0;” valign=”middle”>
<div class=”vline”></div><a href=”https://hello.typeform.com/to/KQc9rj?email=&score=9&plan=&country=&signup=&milestone=3months” style=”display:block;line-height:50px;text-decoration:none;font-size:18px;font-family:’Helvetica Neue’, Helvetica, Arial, sans-serif;font-weight:bold”><span style=”color:#8BCBCA”>9</span></a>
</td>

<td align=”center” class=”b01 before-line border” style=”position:relative;background: #ffffff url(https://s3.amazonaws.com/typeform-newsletters/imgo.jpg) repeat-x; border-color: #CACACA; border-style: solid; border-width: 1px; border-left: 0;” valign=”middle”>
<div class=”vline”></div><a href=”https://hello.typeform.com/to/KQc9rj?email=&score=10&plan=&country=&signup=&milestone=3months” style=”display:block;line-height:50px;text-decoration:none;font-size:18px;font-family:’Helvetica Neue’, Helvetica, Arial, sans-serif;font-weight:bold”><span class=”b0110″ dir=”ltr” style=”color:#8BCBCA”>10</span></a>
</td>
</tr>

<tr>
<td align=”center” colspan=”11″ style=”width:100%; text-align:center” width=”100%”>
<div class=”smalltextlast” style=”font-family:’Helvetica Neue’, Helvetica, Arial, sans-serif;font-weight:normal;font-size:14px;color:#8BCBCA; font-weight: 500; margin-top:-10px; background-color:#FFF”>
</div>
</td>
</tr>

<tr>
<td class=”h” colspan=”11″ style=”padding:5px 0″>
<table border=”0″ cellpadding=”0″ cellspacing=”0″ style=”width:100%”>
<tr>
<td align=”left” style=”font-family:’Helvetica Neue’, Helvetica, Arial, sans-serif;width:50%;text-align:left;font-size: 14px;color: #8BCBCA;font-weight: 500;” width=”50%”>Not likely</td>

<td align=”right” style=”font-family:’Helvetica Neue’, Helvetica, Arial, sans-serif;width:50%;text-align:right;font-size: 14px;color: #8BCBCA;font-weight: 500;” width=”50%”>Very likely</td>
</tr>
</table>
</td>
</tr>
</table>

<table style=”background: #ffffff; width:100% !important;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;margin:0;padding:0;overflow-x:hidden;”>
<tr>
<td style=”background-color: #ffffff”>
<div class=”line” style=”margin: 35px auto 15px auto; height:1px; background:#E3E3E3; width:90%; max-width:530px; padding: 0 10px;”>
</div>

<p style=”font-family:’Helvetica Neue’, Helvetica, Arial, sans-serif; max-width:550px; margin: 0 auto;line-height: 16px; color: #898989; display: block; font-size: 12px; padding: 0 10px;”>
<b>Why are you sending me this email?</b> At Typeform, we are
committed to offering you a great customer experience. This
requires listening to you. We’re sending you this NPS®
survey so we can better learn about your satisfaction with
Typeform now that you have been with us for 3 months. If you’d rather not receive these emails, you can unsubscribe <a href=”” style=”color:#999999; text-decoration:underline”>here</a>. We’ll be sad, but no hard feelings.</i></td>
</tr><br>
<br>
</p></td>
</tr>
</table>
<br>
<br>

</html></body></html>

For more on this, check out our in-depth guide to nearly everything you need to know about Customer Success.

Was this article helpful?
Thanks!