How to Create a Net Promoter Score Survey in Pardot


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.

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 only piece of required CSS is to hide the email field since we will be auto-populating it through the URL.

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:

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

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:


Send them to me via email, send me a tweet @jennamolby, or leave a comment

Related Posts

  • 15/10/2020
    How to Use Flex Fields in Pardot

    Flex fields are custom fields that can be used over and over again to limit the number of one-time-only fields within Pardot and Salesforce. They contain data that is required temporarily to execute a specific event or campaign. Once the data is no longer needed, the fields can be reset to blank using an Engagement Program or Automation Rule

  • 04/10/2020
    How To Embed a Pardot Form on Your Website The Right Way

    Pardot offers 2 methods for embedding forms on your website; embedding using an iframe, and form handlers. While the embedded iFrame forms allow marketers to have control over updating and configuring the forms, using an iFrame isn’t always ideal for website usability. In this tutorial, I will show you how to take advantage of the Pardot iFrame forms and make it look great embedded on your website.

  • 23/09/2020
    7 Ways Pardot Users Can Use Chrome Developer Tools For Troubleshooting & Testing

    Chrome Developer Tools is widely used by developers to help edit pages on-the-fly and diagnose issues. Pardot users can use DevTools to troubleshoot and test landing pages and forms. In this post, I’ll show you 7 ways you can use DevTools, including how to identify errors on a landing page, how to customize the CSS of a form and how to view hidden form field values.

17 comment(s)
  • Erin

    05/09/2019 at 6:16 am

    Lovely guide! I'm having an issue getting the NPS Score to automatically load on the landing page, though. Any thoughts?

  • Mat

    15/04/2019 at 1:22 pm

    Great guide, thank you. I've run into a bit of a problem though. After completing the NPS survey once, the text box always seems to be invisible if a customer completes the survey a second time. Any insight into why it might be disappearing? Thanks in advance.

    • Jenna Molby
      to Mat

      16/04/2019 at 9:39 am

      Hi Mat, Please send an email to [email protected] with a link to your landing page and I can help you troubleshoot. Cheers, Jenna

    • Thanks for a great step-by-step guide! I am experiencing the same problem with the comments field disappearing if you try to fill out the form a second time. Did you find out how to fix this from your troubleshoot?

    • Jenna Molby
      to Ingrid Agasøster

      23/01/2020 at 11:43 am

      Hi Ingrid, Thank you! Yes, you have to set up the form field to "always show if previously submitted" that should solve your issue. Cheers, Jenna

  • ST

    06/03/2019 at 8:51 pm

    I followed your steps, question I have is how do I get NPS to update each time we send them NPS (every 6 months)? I am testing and while the NPS updates the first time I click on a score - I test again (with another email sent to same address) and Pardot does not update.

  • Ross Dallaire

    09/11/2018 at 5:24 pm

    Nice idea. I think you could improve this further by making the email links for the rating [1][2][3]..... have custom redirects with completion actions of setting the NPS score field. So if they click [5] it goes to a custom redirect that sets the score to 5 and then redirects to the comments landing page. That way if they don't fill out the comments or don't want to we still have a score.

    • Justin
      to Ross Dallaire

      26/02/2019 at 11:51 am

      Ross, I completely thought the same thing about the custom redirects. I built everything out per Jenna's blog (thanks Jenna ;) but added the Custom Redirects and ran into issue where Pardot will not allow you to include certain words in vanity URL's, including email. Kind of a deal breaker for parsing email address into a hidden email form field. Ideas anyone?

    • Ajay
      to Ross Dallaire

      27/01/2020 at 12:59 am

      Exactly my requirement Ross. We want to capture the score without asking for the comment and I used the redirect thing only, however for some strange reasons it work randomly. Looking for work around if any.

  • Julia

    09/11/2018 at 3:57 pm

    This is super helpful - thank you for sharing! Quick question; how do you capture the tracked NPS score over time if the data saves over itself in the SFDC field?

    • Justin
      to Julia

      26/02/2019 at 11:56 am

      Pardot Settings > Object and Field Configuration > Prospect Fields > NPS Score Once your in the field, select the checkbox: "Record and display multiple responses (useful for fields that are set to always be displayed like reporting issues)" Do this both for the score, comments and anything else you want to track multiple entries on. From my testing, it appears it maxes out at 10 DB entries.

Leave A Comment

Your email address will not be published. Required fields are marked *

About Me

Welcome to my blog, where I share, tips, tricks, thoughts and solutions that I learn in my daily life as a Marketing Operations leader.

Most Commented
Popular Posts