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 (Screen interactions or User data).

  4. Pick the specific interaction trigger / user condition, then configure its parameters (see the table below).

  5. Preview your Screen in different combinations of conditions.


📘

Compatible with SDK v5.0

All condition types below are retro-compatible until SDK v5.0, except Eligibility for an Offer, which requires SDK v5.6+ (see table below).

Condition type parameters

CategoryCondition typeParameters to configureMinimum SDK
Screen interactionPlan selectedPlan picker ID, then the Planv5.0
Screen interactionQuiz answer selectedQuiz ID, then the Answerv5.0
Screen interactionSwitch stateSwitch ID, then the state (on / off)v5.0
Screen interactionTab selectedTab component, then the Tabv5.0
User dataEligibility for an OfferEligibility rule (is eligible / is not eligible for the Introductory Offer)v5.6+
User dataUser attribute valueUser attribute, then its valuev5.0
User dataAudienceAudiencev5.0 (requires a Placement or Flow)

Screen Interactions

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

Plan selected

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.

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

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.

Example:


Switch state

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.

Example:


Tab selected

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

Example:

User data

Use when visibility depends on the user profile or context.

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.

Example:


User attribute value

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.

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

❗️

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.

Example:

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

More info about the Preview



Did this page help you?