Skip to main content

Display Logic

Updated over 3 weeks ago

Display logic lets you control who sees what inside a chat based on real participant data - their responses, profile details, or other rules you define. Instead of showing every participant all content, you choose the conditions under which certain parts should be shown, so the experience feels natural and relevant.

What Can You Hide or Show?

You can now apply display logic to:

  • Cards (blocks of content or questions)

  • Sections (groups of cards)

  • Choice options (individual options in single or multiple choice questions)

  • Grid statements (rows in a grid question)

  • Grid answers (a specific answer value in grid questions)

This lets you tailor the chat experience finely for example, only show a choice if someone answered a previous question a certain way.

How Display Logic Works

Step 1: Add Logic to an Element

When you’re editing a chat:

  1. Locate the card, choice, grid statement, or grid answer you want to conditionally show/hide.

  2. Select Add display logic from the action menu.

A condition builder opens where you define the rule that controls visibility.

Step 2: Build Your Rules

Inside the condition builder, you’ll pick from types of data that can drive your logic:

Sources You Can Use

  • Chat responses — Answers participants have already given

  • Profile Attributes — Custom participant attributes (e.g., location)

  • Input Variables — Variables defined in the chat

  • System Variables — Built–in variables like distribution name

  • Hidden Variables — Internal variables not shown to participants

When you choose a source, you’ll then select a specific question or variable.

For example:
👉 Show this choice only if “Age” is greater than 18.
👉 Show this grid row only if “Subscribed to newsletter” is Yes.

Step 3: Add Conditions

Once you choose the data point, you’ll see operator options (like equals, not equals, greater than). After selecting an operator, choose the value that makes sense for your rule.

You can also:

  • Add multiple conditions with AND / OR

  • Use nested logic with ALL / ANY. This is useful when more than one condition must be evaluated

This makes it easy to express logic like:

Show this only if (Country = Canada AND Preferred Language = French)

Copy and Reuse Logic

If you’ve already created display logic somewhere else in the same chat, you don’t need to start from scratch.

  • Select Copy from… and pick existing logic

  • It will be applied to your current element (card, choice, or grid item)

This makes repeating similar rules fast and consistent.

Tips and Best Practices

  • Display logic is evaluated in real time, participants only see what applies to them.

  • Be mindful of rule complexity, too many nested conditions can make logic harder to maintain.

  • Use Preview Profiles (or custom participants) to test scenarios and make sure logic behaves as expected.

When to Use Display Logic

  • Hide irrelevant choices to reduce cognitive load

  • Personalize questions based on earlier answers

  • Support complex workflows (e.g., eligibility paths)

  • Adjust grid rows to simplify data collection

  • Build tracking or longitudinal studies without removing data

If you add randomization to a section, you can’t use display logic on cards in that section based on other cards in the same section — even if those cards appear above it.

Did this answer your question?