# Branching Logic

### Overview

Branching Logic lets you define a dynamic path through a Custom Survey, where the next question shown to the end user depends on the answer they just gave. You can also use it to skip ahead, end the survey early, or jump straight to the thank-you message based on a specific response.

This helps you:

* Show only the questions that are relevant to each user, reducing survey fatigue and increasing completion rates
* Segment feedback during collection
* Run shorter, more intentional surveys without sacrificing depth

{% hint style="info" %}

#### Availability

* Available for **Custom Surveys** only
* Supported on:
  * **iOS SDK v19.6.0** and above
  * **Android SDK v19.5.0** and above
  * **React Native & Flutter** support coming soon
* Branching is **disabled by default** per survey and needs to be toggled on in the Content Builder
  {% endhint %}

{% hint style="warning" %}
**Note:** Surveys with branching enabled will only be **shown to end users who are on an SDK version that supports the feature**. Users on older SDK versions will not see the survey.
{% endhint %}

***

### Supported question types

Branching can be configured for the following Custom Survey question types:

#### #1 Single-select (Multiple Choice)

Branch based on the specific answer your user picks. A branching option is added next to each choice so you can map every answer to a different target question.

**Example:**

* Q1: *Did you find what you were looking for?*
  * "Yes" → go to Q3
  * "No" → go to Q2 (default path)

#### #2 Star rating

Branch based on the user's rating, grouped into three predefined buckets:

* 1 or 2 stars
* 3 stars
* 4 or 5 stars

Each bucket can be mapped to a different target question.

**Example:**

* 1-2 stars → go to Q4 (*What went wrong?*)
* 3 stars → go to Q5 (*What could be better?*)
* 4-5 stars → go to Q6 (*What did you love?*)

#### #3 Text field

Branching for text field questions happens at the **question level, not based on the answer content.** Once the user submits their response, the survey can jump to a designated question.

***

### Configuring branching

#### Step 1 — Enable branching

In the **Content Builder** step of a Custom Survey, toggle **Branching** on.

#### Step 2 — Set the path for each answer

For every supported question, you'll see a branching option next to each choice (or at the end of the question, for text fields). Choose one of:

* **Go to a specific question** — e.g., jump from Q1 to Q4
* **Next question** *(default)* — follow the linear order
* **Show the thank-you message** — end and display the thank-you screen

You can add as many branches as you want across different questions within the same survey (e.g., branch from Q1 and again from Q4).

#### Step 3 — Review & Publish

In the **Review & Publish** step:

* An expandable branching icon appears next to each question that has branching configured, so you can verify the full flow before publishing

***

### Viewing survey responses

On the **Survey Responses** page, only the questions each user actually answered are shown. There are no placeholders for questions that were skipped by the branching logic.

For example, if a user was routed through Q1 → Q3 → Q5, their response will display:

* Q1: *Answer*
* Q3: *Answer*
* Q5: *Answer*

***

### FAQs

**Q: What happens to users on older SDK versions that don't support branching?** A: They will not see the survey. This ensures every respondent has the same branching experience.

**Q: What about surveys that were already published before my app upgraded to a branching-supported SDK?** A: Cached surveys from older SDK versions continue to behave normally. Backward compatibility is preserved.

**Q: Can I add branching to NPS, App Rating, What's New, or Version Update surveys?** A: Not in this iteration. Branching is currently supported for Custom Surveys only.

**Q: Does branching affect targeting?** A: No — targeting (Auto, Manual, Email Lists) works the same way. Branching only affects the flow of questions within the survey itself.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.luciq.ai/product-guides-and-integrations/product-guides/in-app-surveys/branching-logic.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
