Skip to main content
  • Customer Experience
    Customer Experience
  • Employee Experience
    Employee Experience
  • Brand Experience
    Brand Experience
  • Product Experience
    Product Experience
  • Core XM
    Core XM
  • Design XM
    Design XM

Customizing Survey Content Based on Historical Response Data

What's on This Page:

Was this helpful?

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

The feedback you submit here is used only to help improve this page.

That’s great! Thank you for your feedback!

Thank you for your feedback!

About Customizing Survey Content Based on Historical Response Data

Have you ever wanted to use respondents’ past answers on a survey to customize their experience in a new survey? For example, let’s say you could identify customers who’d previously given you very high NPS scores, indicating they were satisfied with your company’s service. What if you could identify when they later gave you a low NPS, so you could ask what changed their answer?

This page will go over how to use past NPS data to display different content or flag responses in a new NPS survey. The setup described here can be adapted for other, similar needs.

Qtip: This setup involves Autocomplete with Supplemental Data, a feature that is currently in preview and is not yet available to all users. If you’re interested in enrolling in the Preview Program, fill out this survey. Please note that the features available for enrollment may vary.

Important Considerations

Before you use the set up described on this page, there are a couple of things you have to consider.

  1. Identifying respondents: Make sure you have a field you can use to identify respondents across surveys. This field must be unique to each respondent and it must be saved with their past responses. Good examples include emails, customer account usernames, employee IDs, and any identifying value that is easily accessible to the respondent that cannot be duplicated.
    Example: Did you distribute your past surveys through email? Try using RecipientEmail as your field. This information is easy to add retroactively to old surveys; just put an embedded data field named “RecipientEmail” at the top of your old survey’s flow. Please note that if respondents used different emails between surveys, e.g., their personal vs. their work email, the responses will not be connected.
    Embedded data element in green, top of survey flow. Has one field inside named Recipient Email with no spaces
    Qtip: We don’t recommend using a randomized ID unless you’ve made it clear to respondents they must save their randomized ID for later surveys.
  2. If you don’t want to use NPS, stick to something with a scale: Supplemental data sources are best used with scale data, because you can only pull in recode values from survey to survey. If you really want to use categorical data, it’ll still work – just make sure you export a guide to your recode values before you start building logic, so you have an easy reference to check.
Qtip: We highly advise you check the recode values on your past surveys before you build any logic. Note that you can edit the recode values on a survey at any time without harming your data, so if they look wrong, you can fix them now, even if the data is old.

Surveys Involved

You can adapt this build as needed, but you will always need at least two surveys: an old survey with past data, and the new survey you want to pull that old data into for the purpose of adding custom messaging, display logic, and other customizations.

In the example we go over on this page, we use three surveys:

  1. Our 2020 NPS survey, which uses supplemental data to create a custom survey flow.
  2. Our 2019 NPS survey, which we use as a supplemental data source for survey #1.
  3. Our 2018 NPS survey, which we also use as a supplemental data source for survey #1.

Setting Up

Qtip: When updating a data source, it can take some time before the updates are available for you to search against.
  1. Go to a survey you want to reference, e.g., one of your past NPS surveys.
    Tools menu in data and analysis, supplemental data is 3rd option down
  2. Go to Data & Analysis.
  3. Select Tools.
  4. Select Supplemental Survey Data.
  5. Under Choose Columns to Search On, choose the field you’re using to identify respondents. This is the key that connects the surveys together. In our example, we’re using RecipientEmail.
    RecipientEmail field selected. Save in bottom-right of menu
  6. Click Save.
  7. If you have additional past sources, repeat Steps 1-6 for those sources.
    Same menu in another survey

    Qtip: Before proceeding to the next steps, take a break. Supplemental sources can take some time before they load.
  8. Go to your new survey. This is the survey that plans to use past NPS data to change what newer respondents see.
    Survey editor of 2020 survey
  9. Go to the Survey Flow.
  10. Make sure you’re pulling in the identifying field. Add an embedded data element to the top of the flow and add the name of the field (plus any other fields you want to use).
    Top of flow, green embedded data element pulling in RecipientEmail. Then, adding a supplemental data element

    Qtip: You only want to set the name of a field, not the value.
  11. Click Add a New Element Here.
  12. Select Supplemental Data.
  13. Under Database, select one of the old NPS surveys you configured in Steps 1-7.
    Customizing survey flow as described
  14. Under Choose Columns to Search On, select your identifying field.
  15. Click Set a Value Now and select the field you created in the embedded data you set in Step 10.
    Opening piped text menu
  16. On the supplemental data element, click Add Embedded Data.
  17. Add all the fields you want to bring in from this past NPS survey. At minimum, you should be pulling in the NPS score.

    Qtip: Click “set a value now” to determine what those fields will be called. Make sure all these field names are different. For example, NPS2019 tells you that it’s NPS data and what year the data was collected.
  18. Move the supplemental data element to the top of the survey flow, above your blocks but under the embedded data element.
  19. Repeat Steps 11-18 for each of the past surveys you want to pull in.
    flow is as follows: embedded data element, 2019 survey's supplemental data element, and the 2018 survey's supplemental data element, then the block of survey questions.
  20. Apply changes to your survey flow.
  21. Use the fields you are pulling from past surveys to create custom paths in your survey.
    Example: If respondents scored high on past NPS surveys, but low on our new 2020 survey, we’re going to ask them what changed their mind about our company, and flag their response as having changed in this way.
  22. Create a new block with the questions you only want to ask this specific group of respondents.
    A text entry question that says, "In the past, you've rated our company more favorably. What can we do better in the future?
  23. Return to the survey flow.
  24. Add a branch above the block you just created.
    Adding a branch in the survey flow, below the default question block

    Qtip: You can also customize display logic with supplemental data.
  25. Add the conditions under which the respondent should enter the block.
    Exact text in branch: "if embedded data nps2018 is greater than or equal to 8 or embedded data nps2019 is greater than or equal to 8, AND (new condition set) question "how would you rate our company"? is Detractor True

    Example: If the NPS score the respondent submitted either in 2018 or 2019 is 8 or higher (favorable), AND their answer to the 2020 NPS score is “Detractor” (6 or lower), they’ll be asked why their score lowered. Note that the logic surrounding past NPS scores uses the field names we set in Step 17, but the logic that uses current survey data is just based on the NPS question in the 2020 survey.
  26. Move the block with the negative change-specific questions under the branch.
    Under the branch is the block of negative change questions and an embedded data element for flagging the response
  27. Add an embedded data element under your branch that flags the response. Here, we made a field named “Change” and set it equal to “Negative.”
    Qtip: If we wanted to, we could make a separate branch and flag positive changes.
  28. Apply changes to your flow.
  29. When finished making changes, publish your survey.
    Once you leave survey flow and return to survey editor, publish button in upper-right