Skip to main content
Display conditions (also called skip logic) let you show a question only when specific criteria are met. Instead of every respondent seeing every question, you define rules — such as “show this question only when the URL parameter segment equals premium” — so each respondent follows a path relevant to them. Conditions evaluate at the time a respondent reaches that point in the survey.

How display conditions work

Each question can have one or more display conditions attached to it. A condition compares a named variable against a value using a comparison operator. When all conditions on a question evaluate to true, the question is shown. When any condition fails, the question is skipped and the respondent moves directly to the next question that does match. Variables in conditions are URL parameters passed in when the survey link is opened. For example, a survey link like https://app.smartinterview.io/en/survey-id/?segment=premium&region=fr exposes segment and region as variables you can reference in conditions.
Display conditions evaluate against URL parameters at survey load time. They are not evaluated against answers given during the survey itself — use conditions to route respondents based on how they arrived at the survey (via panel parameters, CRM fields, or pre-filled data), not based on their in-survey answers.

Declaring variables

Before you can use a variable in a condition, declare it in Settings → URL Parameters (or the Variables section of the survey configuration). Declaring a variable lets you choose its type (text, number, or boolean), which determines which comparison operators are available when you build conditions. Undeclared variables still work — you can type a variable name directly in the condition builder — but declared variables let you pick from a dropdown and restrict operators to ones that make sense for the type.

Adding a display condition to a question

1

Select a question

Click the question you want to conditionally display in the left panel of the builder.
2

Open the Conditions panel

Below the questions list, click the Conditions toggle. The conditions panel expands to show any existing conditions for the selected question.
3

Add a condition

Click Add condition. A new condition row appears with three fields: variable, operator, and value.
4

Configure the condition

  • Variable: Select a declared variable from the dropdown, or type a URL parameter name directly.
  • Operator: Choose a comparison operator (see the table below).
  • Value: Enter the value to compare against.
5

Save

The condition saves automatically when you change any field. The question now only displays when the condition is met.

Supported operators

OperatorSymbolVariable typesMeaning
Equals=Text, number, booleanVariable matches the value exactly
Not equalsText, number, booleanVariable does not match the value
Greater than>NumberVariable is greater than the value
Less than<NumberVariable is less than the value
Greater than or equalNumberVariable is greater than or equal to the value
Less than or equalNumberVariable is less than or equal to the value
Text and boolean variables only support = and . Number variables support all six operators.

Multiple conditions

When you add more than one condition to a question, all conditions must be true for the question to display (AND logic). There is no OR option at the question level — if you need OR behaviour, duplicate the question and give each copy a different condition.

Example: segment-based routing

Suppose you have a survey distributed to two respondent groups. Your panel platform appends ?segment=premium or ?segment=standard to the survey URL for each respondent. You want Q3 to appear only for premium respondents.
  1. Declare a variable named segment of type text in survey settings.
  2. Select Q3 in the left panel.
  3. Open Conditions and click Add condition.
  4. Set variable to segment, operator to =, value to premium.
Only respondents whose link includes ?segment=premium will see Q3. Respondents with ?segment=standard (or no segment parameter) skip directly to Q4.
Test your conditions before publishing. Use Test mode in the builder header and open the survey URL with different parameter values appended to verify each path.

Tips for building reliable conditions

  • Declare all variables before building conditions. Declared variables give you type-aware operators and help you avoid typos in parameter names.
  • Check parameter names match exactly. Variable names in conditions are case-sensitive and must match the URL parameter key exactly.
  • Use a consistent URL format. Use standard query string format (?a=1&b=2) for reliable parameter passing across all distribution channels.
  • Test every path. Open the survey URL with each expected parameter combination and use Test mode to confirm the correct questions appear.