Learn how to build a net promoter score (NPS) survey directly in Pardot. I will show you how to create an NPS survey that asks the recipient to give you a score from 1 – 10 using an in-email rating that directs them to a Pardot landing page to collect more information.

What is a net promoter score (NPS)?

A net promoter score is a rating from 0-10 that answers the question ‘how likely are you to recommend us to a friend or colleague?’. This question is followed by ‘Why would you give us this score?’. Anyone who answers 10-9 is considered a ‘promoter’, this means they are satisfied with your product or service enough that they would gladly be willing to promote your company given you provide an easy platform for such promotion. A rating of 8-7 is considered ‘passive’, these users are likely not to go out of their way to promote you but will still use your product. Users who choose 6-0 are considered “detractors”. This subset has not had a great experience with your product or service. Though a rating of 0-6 is never ideal, it can help identify problems with your product or service, promoting positive evolution, and providing an incentive for changing detractors and passives to promoters.

The concept

An NPS survey email will be sent out from Pardot that asks the receipient to rate you on a scale from 1 to 10.

The recipient clicks on a rating and is directed to a landing page where they can fill out more information on why they gave you that rating.

The rating the recipient selected from the email is automatically displayed on the landing page and passed to a hidden field in the form to capture in the Pardot database.

1. Create new fields

Create new fields in Salesforce and Pardot to capture the NPS results. In this example, I will be using a field named NPS Score and NPS Comments.

2. Create a form

Create a new form named NPS Form in Pardot. Add these three fields to the form:

  1. Email
  2. NPS Comments – select textarea as the type and leave it optional.
  3. NPS Score – select hidden as the type and mark it has required.

3. Create a layout template

A new layout template will need to be created in order to create the landing page. Here’s the code I used for my layout template.




	
	
	
	%%title%%


	
You gave us a score of:
What is the most important reason for your score?
%%content%%

You can use my code to create your own layout template, or you can create your own. If you create your own you will need to add some CSS and JavaScript to make the form work correctly.

The JavaScript

JavaScript is used to take the nps score the recepient selects from the email and pass it to the hidden field within the form. It also is used to grab the receipient’s email address from the URL and pass it into the email field within the form. Here’s what the script looks like:


Note: The jQuery library will need to be loaded in order for this to work.

The CSS

The only piece of required CSS is to hide the email field since we will be auto-populating it through the URL.

   p.email {
   	display: none !important;
   }


4. Create the landing page

Once your layout template is set up, use it to create a new landing page.

5. Set up the email

Lastly, create an email that includes the option to select a rating, which directs the recipient to the landing page you just created. Here’s what my email HTML looks like:






    
    



    
How likely are you to recommend us to a friend or colleague?
Please take a second to leave us your feedback so we can continue to improve.
1
2
3
4
5
6
7
8
9
10
0: not at all likely 10: extremely likely

© Jenna Molby. All rights reserved.
Unsubscribe

I used tables within the email to create the rating buttons. Here’s what the HTML for that section looks like:

1
2
3
4
5
6
7
8
9
10

Each link to the landing page should pass two paramters through the URL:

  1. NPS – The score of the of the clicked link
  2. Email – The email of the receipent, using a varaible tag.

Here’s an example of what one of the links looks like:

https://pi.pardot.com/my-landing-page.html?nps=10&email=%%email%%


Questions?

Send me a tweet @jennamolby, leave a comment below, or book a Peer Chat.

Author

I'm a Freelance Marketing Operations Consultant With 15 years of experience in Marketing Operations, I’ve worked with a wide range of tools including Salesforce, Marketing Cloud Account Engagement (Pardot), Marketo, and many other sales and marketing platforms. I help teams optimize their tech stacks, improve processes, and get accurate, actionable reporting. Whether it’s setting up your Marketing Automation Platform, building Salesforce reports, managing lead lifecycles, tracking attribution, or integrating your tech stack, I ensure everything is aligned to drive real results.

33 Comments

  1. Hi Jenna,

    This is great. I’m wondering if it would it be possible and take this a step further to auto-submit the selection–essentially a one-click solution. To do that, you’d remove the comment field. Would that be possible?

    • Jenna Molby

      Hi Ellen, in that case, I would probably set up 1 custom landing page without a form that says “thanks for submitting your score” and then create custom redirects in Pardot for each score with completion actions to update the NPS score field in Pardot.

  2. Hello Jenna,

    Thanks a lot ! This helped us out so much. However we are running into some issues. When sending the mail to certain types of devices ( like Android) the rating buttoms are all stuck together. On Iphone, it works just fine ! Do you have any code to solve this ?

    Thanks in advance !

    • Jenna Molby

      Hi Lara, You’re welcome! DM me a screenshot of what you’re seeing and I can take a look.

  3. Dave Nelson Reply

    Thanks Jenna! This is awesome. I saw someone else had a similar problem that I was having so wanted to share the solution. If you are collecting an NPS Score multiple times form the same email address over time, there is an important step in order to have the newest NPS Score save and overwrite the old. In your form, go to the NPS field and make sure in Advanced you’ve checked the box “Always display even if previously completed”. If this is not checked, the NPS Score will save the first time it’s submitted, but not thereafter.

    • Jenna Molby

      Hi Dave, thanks so much for sharing!

  4. Emily Banks Reply

    Hi Jenna! Thanks for posting this guide. It’s so helpful! I am running into some issues with my form not pulling the %%content%%. I tried clearing my cache and cookies and checking the box to always show the text area. Do you have any suggestions for where the issue could be? Thanks!

    • Jenna Molby

      Hi Emily, You’re welcome! I recommend checking the FORM tab for your layout template and ensuring it has content in there.

  5. Niya Parvanova Reply

    Hi,

    We are having issues with populating the NPS score field. Everything works fine on the side of setting up the LP, email etc. however when you click to score the prospects profile doesn’t populate the score they selected.

    We tried using custom re-direct links to populate the field, however still no luck. Strange thing is when you complete the “Comments” box on the LPs then the NPS score populates in the profile of the prospect on Pardot.

    Any suggestions?

    Thanks,
    Niya

    • Jenna Molby

      Hi Niya, DM me with the link to your page and I can take a look.

Write A Comment