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

# Conditional Fields

> Show or hide form fields dynamically based on other answers or what you already know about a contact

Conditional fields let your embedded Conversion forms adapt as they are filled in. A field can be shown only when other answers match certain conditions, or hidden entirely when Conversion already knows the answer for the visitor. Hiding known fields, a technique known as progressive profiling, keeps forms short and conversion rates high.

## Setting a field's visibility

Field visibility is configured per input element in the [form builder](/product-docs/forms/dashboard/form-builder):

1. Open your form's **Design** tab.
2. Select an input element on the canvas.
3. In the sidebar, find the **Visibility** section and choose an option under **Show this field**.

Each input element supports three visibility modes:

| Mode                      | Behavior                                                                                                                                                     |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Always**                | The field is always shown. This is the default.                                                                                                              |
| **Hide when known**       | The field is hidden when Conversion already has a value for the contact or company field it maps to. Only available when the field is mapped to a CRM field. |
| **When conditions match** | The field is only shown while its conditions evaluate to true.                                                                                               |

<Note>
  The **Email** field is always visible and cannot be hidden. An email address is required for every form submission.
</Note>

## Hide when known (progressive profiling)

**Hide when known** is available once the field is [mapped to a contact or company field](/product-docs/forms/dashboard/settings/fields). When an identified visitor loads the form, Conversion checks whether the mapped field already has a value for them:

* If the value is known, the field is hidden and the existing value is kept.
* If the value is unknown, or the visitor isn't identified yet, the field is shown as usual.

This lets you progressively build up a contact's profile across repeat visits without asking the same questions twice.

## Conditions

With **When conditions match**, you build one or more conditions and choose whether the field is shown when **all conditions** or **any condition** match.

Each condition compares a source value against the values you enter:

* **Form field**: the visitor's current answer to another input on the same form. The field updates live as the visitor fills in the form.
* **CRM field**: a contact or company field on the identified visitor's record.

The available operators are: `equals`, `does not equal`, `is known`, `is not known`, `contains`, `does not contain`, `contains any of`, `does not contain any of`, `is any of`, and `is not any of`. Comparisons are case-insensitive, and you can add up to 10 conditions per field.

<Tip>
  Combine modes across fields: ask "Company size" only if it isn't already known, and show "Which plan are you interested in?" only when "Company size" is answered with a larger tier.
</Tip>

## How visitors are identified

CRM-based visibility (**Hide when known** and **CRM field** conditions) relies on the visitor being identified through Conversion's website tracking. For anonymous visitors, CRM values are treated as not known, so those fields simply show as usual.

<Info>
  Visibility rules are evaluated on Conversion's servers. CRM values, field mappings, and the rules themselves are never exposed to the visitor's browser.
</Info>

## How submissions are validated

Visibility is enforced again at submission time, for embedded forms and [Forms SDK](/product-docs/forms/forms-sdk) submissions alike:

* Hidden fields are never required, even if marked as required. A hidden required field cannot block a submission.
* Values submitted for hidden fields are discarded, so a submission can't write to fields the visitor never saw.
* Visible fields are validated as usual.

## Things to know

* Rows and columns hide automatically when every field inside them is hidden, so your layout collapses cleanly.
* Forms with conditional fields are rendered per visitor and skip CDN caching, so they may take slightly longer to appear than a static form.
* If a **Hide when known** field is hidden because its value is already on the contact, conditions that reference that form field use the known CRM value instead.
