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 likehttps://app.smartinterview.io/en/survey-id/?segment=premium®ion=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
Select a question
Click the question you want to conditionally display in the left panel of the builder.
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.
Add a condition
Click Add condition. A new condition row appears with three fields: variable, operator, and value.
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.
Supported operators
| Operator | Symbol | Variable types | Meaning |
|---|---|---|---|
| Equals | = | Text, number, boolean | Variable matches the value exactly |
| Not equals | ≠ | Text, number, boolean | Variable does not match the value |
| Greater than | > | Number | Variable is greater than the value |
| Less than | < | Number | Variable is less than the value |
| Greater than or equal | ≥ | Number | Variable is greater than or equal to the value |
| Less than or equal | ≤ | Number | Variable 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.
- Declare a variable named
segmentof type text in survey settings. - Select Q3 in the left panel.
- Open Conditions and click Add condition.
- Set variable to
segment, operator to=, value topremium.
?segment=premium will see Q3. Respondents with ?segment=standard (or no segment parameter) skip directly to Q4.
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.

