> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pollandroll.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Logic and branching

> Display a question according to previous answers, and set aside respondents outside the target.

Respondents do not all necessarily see the same questions. In poll\&roll, branching does not go through a dedicated "skip" function: it is built with **filters** (conditional display) and **Screen outs** (exit from the survey).

## Filters: display under a condition

A **filter** makes the display of a question or an item conditional on the answers already given. You can also filter several questions at once.

<Steps>
  <Step title="Choose the element to filter">
    Select a question, an item, or a whole section.
  </Step>

  <Step title="Set the condition">
    Define the condition (e.g. only display this question if "LG" was checked in the previous question).
  </Step>

  <Step title="Combine the conditions">
    With **AND**, the respondent must meet both conditions. With **OR**, one or the other is enough.
  </Step>

  <Step title="Test">
    Preview: testing is possible as soon as a filter is set.
  </Step>
</Steps>

<Note>
  On a **Single choice** question, use **OR**. Since one respondent can only give a single answer, an AND would never trigger.
</Note>

### Complex conditions

To mix ANDs and ORs, use the **group system**. A group plays the role of parentheses. Example: ("extremely attentive" AND "lives in department 85") OR ("very attentive" AND "lives in department 75").

You can nest as many groups as necessary. The only real limit is staying readable for yourself.

<Tip>
  When the same condition comes back in several filters, create an **intermediate variable** (a recode) that calculates it once and for all instead. For example: buyers / non-buyers of a brand, owners / non-owners of a product category, or responsible / not responsible for the household's purchases. Your filters are then set on this simple variable rather than on a combination of items to be rewritten every time. See [Variables: recodes and scoring](/en/questionnaire/variables-recodes-scoring).
</Tip>

## Answer recall

**Recall information** automatically reinjects, into a question, the text or the choice given earlier by the respondent. Handy to personalize a label from a previous answer.

## Autopunch: pre-check and skip a question

**Autopunch** automatically checks an answer based on a previous answer — and, in doing so, does not display the question to the respondent.

Typical case: on a multiple choice question, the respondent named only one brand. There is no point in then asking for their main brand: Autopunch checks that brand for them and moves straight on to the next question. If they had named several brands, the main brand question is asked as normal.

You define the trigger condition in the question concerned.

## Screen out: set aside those outside the target

A **Screen out** sets aside a respondent who does not match the target or the quota. You set a **Screen out rule** on the question: those who meet it continue, the others are taken out.

<Warning>
  The logic is **inverted** compared with other platforms. You define the condition for those you **keep**, not for those you take out.
</Warning>

<Tip>
  To avoid listing all the items to keep, think in terms of exclusion: for example "item X **is not checked**" is often enough.
</Tip>

A respondent who is set aside receives the **Screen out** status and is sent to the end of the questionnaire. They are **not** counted in the results.

## Terminate: stop a valid interview

A **terminate** is a **Termination rule**: the interview is stopped along the way, but the respondent is **counted in the results**. That is the whole difference with the Screen out — the terminate produces a valid interview, simply a shorter one.

By default, **All respondents can continue the questionnaire**: no termination is set. You then add a rule to stop those who have no more questions to see.

<Note>
  Typical case: a shortened path. If the non-buyers of a brand do not have to answer the end of the questionnaire, a terminate ends their interview while keeping it in the results. It is often based on a final recode that identifies the path followed.
</Note>

## Quality check

The **Quality check** automatically excludes suspicious respondents: *speeders* (answers submitted too fast) and *straightliners* (answers in a straight line). It works on the same principle as filters and Screen outs, but is turned on in the **Survey settings** (it is not turned on by default). See [Survey settings](/en/questionnaire/parametres-etude).

An additional check applies to **open-ended questions**: AI verifies that the answer makes sense and does not contain offensive content.

<Note>
  This check on open-ended questions is not turned on by default either. Leave it aside in a niche sector where AI might not recognize the expected vocabulary (e.g. little-known B2B brands), otherwise you risk setting aside valid answers.
</Note>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.