How to write good questions for forms - Use filter questions to route users

Filter questions help users move quickly through the form by routing them to the questions that apply to them.

What are filter questions?

Filter (or branching) questions ask a short question first, often a Yes/No question, with radios. A typical filter question would be: "Are you 18 or over?"

Filter questions help you:

  • get people to the questions that apply to them - so use them early on
  • avoid optional questions, because users only answer the questions that apply to them
  • simplify long questions (like "double-barrelled" questions) by breaking them up

But often you need more than a simple "Yes" or "No". In the "Are you 18 or over?" example, for instance, you should think about what your service can offer younger users as an alternative and how you can support their user journey.

Spell out what "Yes" and "No" mean

Check how users react to your Yes/No question when you test it. Sometimes you will find you need to be clearer about what "Yes" and "No" mean.

Example
Can we email you about research?

In this case, "No" could also mean:

  • "No, do not contact me by email"
  • "No, do not contact me at all"

You may need to offer people guidance or an explanation to help them choose.

Beware binary choices

There will often be at least 1 other option besides "Yes" and "No", including, for example, "I don't know" or "I'm not sure".

We recommend that you always try out a 3rd option. Extra options can be challenging for the service, but you should consider them.

Example

Do you know your NHS number?

This is a 10 digit number, like 485 777 3456.

You can find it on any letter the NHS has sent you, on a prescription or by logging in to a GP practice online service.

Having a 3rd option means that you can give people extra information, for example, about their NHS number and where to find it. Our pattern for asking users for their NHS number explains more about this.

"Other" can be a useful option, but avoid using "Other" with personal or sensitive information.

In your user research, find out what would help your users, for example, by leaving a box with hint text for them to type in something other than "Yes" or "No".

Offer people other ways to do things

If you need people to enter details to continue and they cannot do this, for example, because they do not have key information to hand, consider whether you could add something to the "No" option to reassure them that there is an alternative.

Example
Do you have your registration details?

In our Ask users for their NHS number pattern, we recommend that you give users another way to complete the task without their NHS number. For example, by using a combination of other personal details, like their date of birth and postcode.

Test your questions and routing decisions

It can help to use post-its, or print out and cut up a paper prototype, to see how the answers might take users on 1 journey or another.

Read more about testing your questions.

If a lot of people cannot answer "Yes" or "No", reconsider your question.

Help us improve this guidance

Share insights or feedback and take part in the discussion. We use GitHub as a collaboration space. All the information on it is open to the public.

Read more about how to feedback or share insights.

If you have any questions, get in touch with the service manual team.

Updated: November 2019