HomeGuidesChangelogDiscussions
Log In
Guides

Leveraging Conditional Visibility to Personalize Screens

Conditional visibility allows you to show or hide components within a Screen based on user interactions or user data. It helps you build dynamic, personalized Screens without needing to duplicate them.

What is Conditional Visibility?

Conditional Visibility lets you control whether a component is displayed or hidden in a Screen based on:

  • Screen interactions - what the user does in the current Screen
  • User data - who the user is, what attributes they have, or audiences they belong to

Use this to personalize Screens without duplicating content.

Enabling Conditional Visibility

  1. Select any component in the Screen composer.

  2. Turn on Conditional visibility.

  3. Choose a Condition type

  4. Configure the condition that determines when the component is shown (see below)

  5. Preview your Screen in different combinations of conditions


Screen Interactions

Use when visibility depends on actions the user takes in the current Screen.

Available interaction triggers:


Plan selected

📘

Compatible with SDK v5.0

Plan-based rules are retro-compatible until SDK v5.0

This interaction lets you show a component only when a particular plan is selected. This is particularly useful when you want to change the price or CTA.

To assign a visibility condition to a particular plan:

  • Turn on Conditional Visibility

  • Condition type: select "Screen interactions"

  • Interaction trigger: select "Plan selected"

  • Then select the desired Plan picker ID

  • And finally select the desired Plan




Example:

In the example below, the Yearly Plan has a free trial (and the CTA copy should therefore reflect that) but not the Weekly Plan.


To display different CTA copies depending on the Plan selected:

  1. duplicate your Button / CTA and adapt the copy to each Plan
  2. configure a Conditional Visibility rule for each CTA / Button and associate with the desired Plan
  3. the CTA will then automatically hide / show when the associated Plan is selected


Quiz answer selected

📘

Compatible with SDK v5.0

Answer-based rules are retro-compatible until SDK v5.0

This interaction lets you show a component only when a particular answer is selected in a Quiz. This can be useful if you want to display additional information when the user selects a particular answer.

To assign a visibility condition to a Quiz answer:

  • Turn on Conditional Visibility

  • Condition type: select "Screen interactions"

  • Interaction trigger: select "Quiz answer selected"


  • Then select the desired Quiz ID


  • And finally select the desired Answer






Example:


Switch state

📘

Compatible with SDK v5.0

Switch-based rules are retro-compatible until SDK v5.0

This interaction lets you show a component depending on whether a Switch is ON or OFF. This can be useful activate an optional free trial and adjust the copy / components accordingly.

To assign a visibility condition to a Switch state:

  • Turn on Conditional Visibility

  • Condition type: select "Screen interactions"

  • Interaction trigger: select "Switch state"


  • Then select the desired Switch ID

  • And finally select the desired state (on or off)




Example:


Tab selected

📘

Compatible with SDK v5.0

Tab-based rules are retro-compatible until SDK v5.0

This interaction lets you show a component depending on whether a particular Tab / segmented control is selected or not. This can be update the header of a paywall based on the Tab / segmented control selected

To assign a visibility condition to a Tab selected:

  • Turn on Conditional Visibility

  • Condition type: select "Screen interactions"

  • Interaction trigger: select "Tab selected"

  • Then select the desired Tab component


  • And finally select the desired tab





Example:

User data

Use when visibility depends on the user profile or context.

Available User conditions are:


Eligibility for an Offer

❗️

Requires SDK v5.6 and above

Eligibility-based rules are NOT retro-compatible with SDK below v5.6. You should upgrade to until SDK v5.6 and above to use them.

If your Screen is displayed by a SDK version below v5.6, components associated with this type of Conditional visibility ruled will simply not be displayed.

This user condition lets you display a component if the a user is eligible / not eligible to the Introductory Offer of any of the Offerings associated with the Paywall. Combined with Offer mode text override capabilities, it is particularly useful when you want to personalize your Paywall with a "Blinkist timeline" component - explaining how the free trial works - only when the user can still benefit from the free trial.

To assign a Visibility Condition based on the a user eligibility for an Introductory Offer:

  • Turn on Conditional visibility



  • Condition type: select "User data"



  • User condition: select Eligibility to an Offer




  • And finally select the eligibility rule: is eligible / is not available for the Introductory Offer





Example:


User attribute value

📘

Compatible with SDK v5.0

This user-attribute-based rules are retro-compatible until SDK v5.0

This user condition lets you display a component depending on the value of a user attribute. This is particularly useful if you want to tailor your Paywall / Screen based on the user insights (e.g.: how the user has responsed to a Quiz).

It is limited to one single user attribute and one single value. If you want to combine several User attributes and values with Boolean Operators, check Audience-based conditional visibility rules below.

To assign a Visibility Condition based on a User attribute:

  • Turn on Conditional Visibility



  • Condition type: select "User data"



  • User condition: select User attribute value







  • And finally select / type the desired User attribute value


Example:

In this famous Paywall by Headspace, a benefit tailored to the user insights fetched during the onboarding has been added as a subtitle.


To visualize a component associated with a User attribute value, use the Preview widget and check the corresponding rule(s).

More info about the Preview


Audience

📘

Compatible with SDK v5.0

This conditional visibility rule is retro-compatible until SDK v5.0

❗️

Only works with a Placement or within a Flow

For an Audience-based rule to work, you need to display or fetch the Screen through a Placement or the Screen must be integrated inside a Flow.

If the Screen containing the rule is directly fetched or opened from another Screen (using the Open Screen action), the Audience will not be evaluated and therefore the component associated with the Audience will not be displayed.

This user condition lets you display a component only if the User belongs to a particular Audience. This is particularly useful to tailor the Screen or Paywall to the user insights. The Audiences used are the same ones as those used to target users in a Placement.

To assign a Visibility Condition based on an Audience:

  • Turn on Conditional Visibility



  • Condition type: select "User data"


  • User condition: select "Audience"




  • Finally select the desired Audience or create a new one







Example:

To visualize a component associated with an Audience, use the Preview widget and check the corresponding rule(s).

More info about the Preview