Use question display logic to hide questions based on a respondent’s previous answers or information included in URL parameters.
For example, you can hide a purchase-feedback question if someone says they haven’t made a purchase. You can also hide questions such as name or email if that information is already available through URL parameters. When a rule applies, the question is skipped and respondents continue to the next visible question.
This guide explains how to hide specific questions when they aren’t relevant to a respondent. If you want to send respondents down different question paths based on their answers, see our guide on branching logic.
Click to find out more about adding logic on URL parameters.
Looking to hide answer choices instead? Take a look at our guide on how to hide upcoming answer choices.
Hide questions based on previous answers
In the example below, it starts with a Multiple Choice question with multiple selection turned on. It asks which items they have purchased and they can choose as many options as they like. Respondents will only see follow-up questions relevant to the items they've purchased.
If someone selects that they've purchased running shoes, they'll only see questions related to running shoes. But if someone selects running shoes and socks, they'll see questions related to both running shoes and socks.
1. Open an existing form or create a new one.
We've added a Multiple Choice question with 3 answer options, Running shoes, Shorts, and Socks. We've also have Multiple selection enabled.
2. We've added 3 follow-up questions based on the 3 answer options.
3. Click the + next to Logic.
4. Now we'll add logic to hide the questions that aren't relevant to the respondent based on the answers they've selected on the first question.
Select the question you want to hide on the left and click Question display.
5. Click + Add hide question rule.
6. We want to hide question 2 about running shoes when a respondent has not selected the answer option Running shoes from question 1. So we'll create the following rule with the dropdowns:
Hide question 2 when question 1 is not Running shoes
This means that question 2 will be shown if Running shoes is selected from question 1.
7. Next, we want to hide question 3 about shorts when a respondent has not selected the answer option Shorts from question 1.
We'll select question 3 on the left and click Question display.
8. Click + Add hide question rule.
9. We want to hide question 3 about shorts when a respondent has not selected the answer option Shorts from question 1. So we'll create the following rule with the dropdowns:
Hide question 3 when question 1 is not Shorts
This means that question 3 will be shown if Shorts is selected from question 1.
10. We'll repeat adding Question display logic on question 4. Click Save when you're done adding logic.
11. We recommend to test the Question display logic in preview mode to make sure everything is working correctly. Click the play button in the toolbar.
12. When you're happy with the form, click the Share or Publish edits button to make your form live.
Hide questions based on URL parameters
In the example below, we've made a simple form asking for people’s name, email address, and a rating question. We'll hide the name and email question if the URL parameters are populated with this information.
1. Open up an existing form or create a new one, and click + next to Logic.
2. Select the question you want to hide on the left. In this example, we’ll be hiding the first name question.
3. Click Question display to hide questions based on previous responses or URL parameters.
4. Click + Add hide question rule.
5. Use the dropdowns to define when the first name question should be hidden.
In this example, we’ll hide the first name question when the first_name URL parameter contains a value other than the one specified in the rule—that is, when it already contains the respondent’s first name.
We’ll create a logic rule to say: When first_name is not equal to xxxxx
This means that the first name question will be hidden when the first_name URL parameter is not populated with the respondent's first name.
xxxxx is the default placeholder data for when you add a URL parameter.
In other words, the first name question will be shown if the first_name URL parameter is populated with xxxxx.
6. Select Is not equal to from the dropdown list.
7. In the value field, enter xxxxx. This creates the rule:
Hide first name question when first_name is not equal to xxxxx
This means that the first name question will be hidden when the URL parameter is populated with anything other than xxxxx.
In other words, the first name question will be shown if the first_name URL parameter is populated with xxxxx.
8. Now let’s repeat this for the email question. When the email URL parameter is not equal to xxxxx, your respondents will not see the email question.
Click Save to save changes when you’re done with your selection.
9. Now let’s publish the form and see how this works in practice. Click Share or Publish edits in the top right corner.
10. Click Copy link on the Share page to grab the URL, and paste this link into your browser to try it out.
11. First, when the URL parameters of the form are not populated, people will see the first question asking for their first name.
12. Now let’s populate the URL parameters of the form with an example first_name and email value, and reload the page.
Now your respondents will only see the rating question asking them to rate your services, and they’ll skip the first two questions asking for their name and email address.
For a seamless experience, question numbers will be automatically renumbered to follow an ascending numerical order.
Give it a try! This feature is an easy way to help ease survey fatigue and cognitive load by only showing your respondents information relevant to them.