> ## Documentation Index
> Fetch the complete documentation index at: https://docs.funeli.top/llms.txt
> Use this file to discover all available pages before exploring further.

# Branch and personalise a funnel from visitors' answers

> Send visitors down different steps based on their answers, show blocks only to some of them, compute results such as BMI, and put answers into copy.

Every question in a Funeli funnel saves an answer under a field name, such as `goal` or `age`. Rules, visibility conditions, computed fields and text variables all read those answers, so the funnel can change its path, its screens and its copy for each visitor.

## Branch to a different step

Add a rule to a question step: when the answer matches, the visitor goes to another step instead of the next one. For example, visitors whose goal is `stress` go to a stress check, and everyone else continues. Set where the paths meet again with the branch step's next step.

Conditions compare an answer with a value:

| Operator | Meaning |
| - | - |
| `eq`, `neq` | Equal, not equal |
| `in` | One of several values |
| `includes` | A multi-select answer contains a value |
| `gt`, `lt` | Greater, less than |
| `exists` | The field has an answer |

The **Flow** tab of the editor draws every rule as a labelled arrow, so you can check the paths at a glance.

## Show a block only to some visitors

Give a component a visibility condition with the same operators, for example show a testimonial only when `age` is `40-49` or `50+`. Separately, the eye action in the editor hides a component for everyone without deleting it; its conditions are kept.

## Compute a result

Computed fields turn answers into new values that you can show and branch on, for example a BMI from weight and height, a band such as "Normal" or "Overweight", or a goal date. Set them in the funnel's **Settings**, **Computed fields** section. Units come from the input's unit setting and are converted for you.

## Put answers into copy

Write variables in any text, always with a fallback after `|`:

| Variable | Shows |
| - | - |
| `{{name\|there}}` | The `name` answer, or "there" |
| `{{date:+28}}` | The date 28 days from today |
| `{{bmi\|25}}` | A computed field |
| `{{plan_title}}`, `{{plan_price}}`, `{{plan_terms}}` | The selected plan, on paywalls |

Choice answers show their label, not the stored value.

## Exit offer

An exit offer shows a second paywall, usually with a cheaper plan, when a visitor closes the checkout or goes back from the main paywall. It is shown once per session. Build the offer paywall as its own step, then set the exit offer on the main paywall. Compare both paywalls in analytics.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.