Set up conditional actions
Branch a button or image click on a survey response or user property.
Table of Contents
Conditional actions let a single button or image click do different things for different users, based on a survey response or a user property. Instead of cloning a Flow for each audience, you branch inside one Flow — for example, send users who answered "Not yet" to a setup step and everyone else to the next screen.
Requires Mobile SDK v5.0.0 on the device. You can build conditional actions on any SDK version, but they only run once the user is on SDK v5.0.0 or later. On older versions nothing breaks — the click always runs its default action. See Installing Appcues in Mobile Applications.
How conditional actions work
- You add one or more conditions to a button or image click. Each condition has a rule and its own action.
- Conditions are evaluated top to bottom. The first condition a user matches wins — no others are checked.
- If a user matches no condition, the click runs its Default action. The Default action also runs for every user on an SDK older than v5.0.0.
- A condition can be based on:
- A Survey question the user answered earlier in the same Flow.
- A User property from their profile. This reads the user's historical profile, so the property doesn't need to be sent in the current SDK session.
- Each condition can also run its own Track event and Update user properties actions when it's matched.

Add conditional actions to a button or image
- Select the button or image block. In the sidebar, expand Actions and turn on the Conditional action toggle. An If condition block appears.
- Open Select condition type and choose:
- Survey question — branch on how the user answered a survey question earlier in the Flow.
- User property — branch on a property from the user's profile.
- Choose the specific question or property in the next dropdown, then set the operator (for example, Equals or Doesn't equal) and enter the value to match. The condition header updates to reflect your rule — for example,
If "Have you connected your calendar yet" equals “yes”. - Under Button action, select what this branch does: Next step, Previous step, Go to link, Trigger Flow, Dismiss Flow, or Go to custom step.
- Optionally, turn on Track event or Update user properties to fire those actions when this condition matches.
- Click + Add condition to add more branches. Drag the handle on a condition to reorder — the first condition a user matches wins, so put the most specific rules on top.
- Under Default, set the Button action that runs when no condition matches. This is also what runs for users on an SDK older than v5.0.0.
Example: route users by their survey answer
An onboarding Flow asks "Have you connected your calendar yet?" with the options Yes and Not yet, and the survey step has a Continue button. You want users who haven't connected to jump to a setup step, and everyone else to move on.
On the Continue button, turn on Conditional action and configure:
-
If condition — set Select condition type to Survey question, choose Have you connected your calendar yet?, set the operator to Equals, and enter
Not yet. Set Button action to Go to custom step and pick your setup step. Turn on Track event to log that the prompt fired. - Default — set Button action to Next step.
Now the Continue button sends users who answered Not yet to the setup step, while everyone else advances. To branch on who the user is instead of what they answered, set the condition type to User property and match a property such as plan or role.

Confirm it worked
- Test the Flow on a device or simulator running Mobile SDK v5.0.0 or later.
- Trigger each path — give the survey answer or set the user property for a condition — and confirm the click routes to the action you configured.
If a branch isn't firing
- Every user gets the Default action. The device is on an SDK older than v5.0.0. Confirm the build is on SDK v5.0.0 or later.
- The wrong branch fires. Conditions are first-match-wins. Reorder them so the more specific condition sits above the broader one.
- A User property condition never matches. Check the property name, operator, and value. Because it reads the historical profile, confirm the value actually exists on the user's profile — not just in the current session.
- Still stuck? Collect the Flow URL from Studio, the affected User ID, the SDK version, and a screen recording, then contact support.