Visibility rules let you dynamically control whether an option is shown, hidden, required, or restricted based on what the customer has selected or entered elsewhere in the calculator. They make your calculator interactive and context-aware — customers only see the fields relevant to their choices. Open any option in the calculator editor and switch to the Visibility Rules tab to configure them.
The option is shown only when this rule’s conditions match. When they do not match, the option is hidden. Use this when a field should appear only in specific situations (for example, an engraving line only when “Add engraving?” is on).
If you add more than one Show if rule on the same option, all of them must pass for the option to stay visible (logical AND across those rules). To express “show if A or B,” use one rule with logic Any and two conditions.
Hides the entire option when the rule’s conditions match. A hidden option is removed from the calculator layout and its value is excluded from pricing and cart data.
When the rule’s conditions match, the option is removed from the hidden state if something else had hidden it (for example another Hide rule, or calculator-level conditional logic). When the conditions do not match, this rule does nothing by itself.
Precedence: If Show if would hide the option but Unhide when matches on another rule, Unhide when wins — the option stays visible. Treat Unhide when as an explicit escape hatch for advanced setups.
For each option, the calculator first applies Hide, Unhide when, Require, Limit, and Hide values / Show value(s) if in the order the rules appear in the list. Show if is evaluated after those actions for that option, regardless of where Show if rules appear in the list. That keeps Show if behavior predictable when you mix rule types.
Makes the option required only when the rule’s conditions match. Useful for fields that are optional in most cases but mandatory in specific configurations. Not available for display types.
Restricts the option’s allowed inputs when conditions match. What you can limit depends on the option type:
| Option Type | Limit Settings |
|---|---|
| Number / Slider / Quantity | Min value, Max value, Step increment |
| Text / Text Area / Email | Min length, Max length, Regex pattern |
| Choice types (Dropdown, Radio, Checkbox, Button, Color Swatch, Image Swatch) | Allowed values, Max selections |
| Date Picker | Min date, Max date |
Available only for choice types (Dropdown, Radio, Checkbox, Button, Color Swatch, Image Swatch). Hide values removes specific choices from the list when the rule’s conditions match. Show value(s) if shows only the listed choices when the rule’s conditions match; when they do not match, that rule does not filter choices (so you see the full list unless another rule applies). Stored in data as show_value. (This is not the same as the Show if option-level action — it only filters which choice values appear.)
The saved calculator JSON can include a top-level array conditionalLogic: if/then rules that reference option keys and apply Hide or Unhide when (and other supported then actions) at runtime. There is no separate editor for this in the app today; it exists for schema compatibility and advanced or imported setups. Per-option Visibility Rules are what you use in the editor for almost all cases.
This is not the same as Hide from storefront and preview (draft only) on an option — that is an admin-only draft flag (editorHidden), not a customer-facing visibility rule.