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.
You can also ask Chat with AI for a rule in plain English — "hide Rush order unless Size is 2in or 3in" or "show the upload when Notes mention rush" — and edit the result on this tab. "Hide X unless A or B" becomes one rule with Any logic.
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 |
| Date Picker | Min date, Max date |
Choice types (Dropdown, Radio, Checkbox, Button, Color Swatch, Image Swatch) and Quantity options in Dropdown or Radio List format do not use Limit for filtering choices — use Hide values / Show value(s) if instead. Quantity still supports Limit for min/max/step (including when Allow custom quantity is on).
Available for choice types (Dropdown, Radio, Checkbox, Button, Color Swatch, Image Swatch) and for Quantity when its format is Dropdown or Radio List. Hide values removes specific choices (or quantity presets) 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.