> For the complete documentation index, see [llms.txt](https://help.dscout.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.dscout.com/private-panels/screeners/survey-logic-and-branching.md).

# Survey logic and branching

You can make your screeners responsive to the respondent's answers by using page and question logic. This means that pages and/or questions can be shown or hidden based on the respondent's answer to certain questions. You can also immediately disqualify a respondent for a study based on their answer to a question.

Page and question logic will allow you to ask only questions that are relevant for a certain respondent, therefore saving the respondent some time as well as making sure that you don't have unnecessary data. At this time, Private Panels supports the following page and question logics:

## Question logic: Show or hide

The question will be shown or hidden based on the respondent's answer to a previous question.

{% stepper %}
{% step %}
Click the **Settings** button within that question.
{% endstep %}

{% step %}
Tick the checkbox beside **Show or hide question**.
{% endstep %}

{% step %}
Select whether to show or hide the question by clicking the **Show** drop-down button then selecting from the options.
{% endstep %}

{% step %}
Select whether all of the conditions must be fulfilled to run the logic or just one by clicking the **any (or)** drop-down field, then selecting from the options. Selecting **any (or)** will run the logic if at least one of the conditions you set is fulfilled. On the other hand, selecting **all (and)** will only run the logic if all of the conditions are met.
{% endstep %}

{% step %}
Click **+ Add Condition**, then specify the condition. You can add as many conditions as you want. For better organization, you can use the **+ Add Group** button then add similar conditions there. These groups will be treated as a single condition.
{% endstep %}
{% endstepper %}

![](/files/9277d7c143fe7c44f62d4a1df89fa4c77ac3f9e7)

## Question logic: Qualify, disqualify, or skip

Respondents can be qualified, disqualified, or be skipped to other pages based on their answers. This question logic can be applied to answer options, thus can only be used in checkboxes, single select, and dropdown question types.

To apply this question logic, follow the steps below:

{% stepper %}
{% step %}
Click the **Settings** button within the checkbox, single select, or dropdown type of question.
{% endstep %}

{% step %}
Tick the checkbox beside **Qualify, disqualify, or skip logic**.
{% endstep %}

{% step %}
The **Q / DQ / Skip** column will appear to the right of the **Options**. Each option will have a corresponding drop-down field where you can choose what action will be done if the respondent chooses that option.
{% endstep %}
{% endstepper %}

![](/files/531642d5165b6acd2cf53b3d266e7733f7e1193a)

## Page Logic: Overview

Respondents can be qualified, disqualified, or be skipped to other pages based on their answers to multiple questions - grouped under page logic. Some conditions are **evaluated at the end of that page**.

These are the available logic outcomes:

* **Qualify Respondent:** after the current page is submitted, the respondent's survey is submitted and marked as Qualified.
* **Disqualify Respondent:** after the current page is submitted, the respondent's survey is submitted and marked as Disqualified.
* **Show This Page:** the current page is either shown or skipped based on the logic.
* **Skip To Page \[number]:** after the current page is submitted, the respondent is fast-forwarded to the selected page.

## Page Logic: **Qualify, disqualify or skip**

{% stepper %}
{% step %}
In the Screener Builder, look for the **Page \[number]** header, and click the button with **three vertical dots** (See "1" in the screenshot below)**.** Then select **Add page logic** from the drop-down options.
{% endstep %}

{% step %}
A pop-up will appear in the middle of your screen. Click the **+ Add logic statement** button.
{% endstep %}

{% step %}
Select the operand to use for the page logic by clicking the leftmost drop-down field. You can choose either **any (or)** or **all (and)**. Selecting the former will run the logic if at least one of the conditions are met, while all conditions must be met to run the logic if the latter is selected.
{% endstep %}

{% step %}
Select the page to skip to if the conditions are met by clicking the rightmost drop-down field, then selecting from the options.
{% endstep %}

{% step %}
Add the conditions by filling in the drop-down and text fields.
{% endstep %}

{% step %}
You can add more conditions by clicking the **+** button. The **-** button will remove its corresponding condition.
{% endstep %}

{% step %}
After creating the conditions, click the **Save** button.
{% endstep %}
{% endstepper %}

![](/files/612ca0726e701049588dbd31473978858531dfb7)

## Page Logic: Show or hide

You can show or hide an entire page, by selecting **Show This Page** in the image below. The page will only show if the conditions match.

![](/files/405114413df6c4f149f7be875ae16d2a2aee2f6e)

## Logic Conditionals

* **In comma-separated list:** Compare **text input** answers against a comma-separated list, such as 1,2,3,4,5. This can be used for a list of numeric zip codes, a list of states, or anything you'd like to use.
* **Contains any of:** Compare **multiple select** (e.g. checkboxes, single select, matrix) answers against a list of answers.

## Test Logic and Preview a Specific Page

When you test logic deep in the screener, you don't have to start from page 1, you can [preview a specific page](/private-panels/screeners/create-a-private-panels-screener.md).

{% hint style="info" %}
**Note:** Private Panels was previously managed outside of Dscout, so you may see a different logo and URL in some places. If you have any questions, contact <support@dscout.com>.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.dscout.com/private-panels/screeners/survey-logic-and-branching.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
