Skip to content
On this page
Block guide Custom Fields 4 min read Updated Sep 28, 2026

How to set up the Conditional Checkbox block

In short

The Conditional Checkbox block shows a checkbox that reveals extra fields when the buyer ticks it. Add the block, write its Label, then under Blocks add Text Input or Checkbox fields. When the box is ticked, required Text Input fields inside it must be filled, and match their pattern, before the buyer can continue.

Category

Custom Fields

Plan

Deluxe only

Where it shows

Shopify checkout

Saves to order

Attribute or metafield

✓ Applies to

  • Deluxe plan only (not on Advanced)
  • Shopify Plus checkout
  • Any checkout position: body, after the header, or around the delivery address

✕ Doesn't apply to

  • Nesting dropdowns, date pickers or other block types. Only Text Input and Checkbox can be nested
  • Saving the main checkbox's own tick to the order
Want to show a block based on the cart, country or products instead? Use visibility conditions →

What the Conditional Checkbox block does

The Conditional Checkbox block as it appears in Shopify checkout

The block shows a checkbox with your label. When the buyer ticks it, the fields you nested under it appear below: Text Input fields, extra checkboxes, or both. Unticking hides them again. While the box is ticked, checkout won’t continue until every required nested Text Input has a valid value. Checkout shows each problem as an error, for example “PO number is required”.

When to use it

  • Collect business details only when needed, such as “This is a business order” revealing company name and VAT number.
  • Ask for gift details on request, such as “This is a gift” revealing a recipient name.
  • Make a field mandatory, but only for buyers who opt in to the option that needs it.

Before you start

  • The Deluxe plan. Conditional Checkbox isn’t included in Advanced. Choosing it on Advanced opens the Upgrade The Plan window.
  • Allow the app to block checkout progress. Required fields only stop checkout if the Custom Block app block is allowed to block checkout progress in Shopify’s checkout editor.

Set it up

  1. In Checkout Ninja, go to Blocks and click Create New Block. Then click Start Fresh, or open an existing block you want to add it to.
  2. Click Add block and choose Conditional Checkbox.
  3. Enter the Label for the checkbox, for example This is a business order.
  4. Under Blocks, add an item and choose Text Input or Checkbox.
  5. For a Text Input, fill in its Label, Required, Where to store the value and, optionally, Validation. These work as on a Text Input block.
  6. Repeat step 4 for each field you want to reveal.
  7. Click Done. Check that Status is Active, then click Save and copy the Block ID.
  8. Click Open Checkout Editor. Add the Custom Block app block, paste the Block ID, allow it to block checkout progress, and save.
★

Give every nested Text Input its own Name of the attribute. If two fields share a name, or both fall back to the same label, one value overwrites the other.

Settings reference

SettingWhat it doesDefault
LabelText next to the main checkbox.Empty
BlocksThe fields revealed when the box is ticked. Each item is a Text Input or a Checkbox.None

Nested Text Input

SettingWhat it doesDefault
LabelThe field’s label. Used in the error message, for example “Label is required”.Empty
RequiredYes blocks checkout while the box is ticked and the field is empty or only spaces.No
Where to store the valueAttribute name, or metafield as namespace.key. Blank uses the Label as the attribute name.Attribute
Pattern (Regex)JavaScript regular expression. On a required field, a value that doesn’t match blocks checkout.Empty
Error MessageShown in the field and at checkout when the pattern doesn’t match.Empty (falls back to “Label is invalid”)

Nested Checkbox

SettingWhat it doesDefault
Checkbox LabelText next to the extra checkbox. Its tick isn’t saved.Empty

Verify it worked

  1. Open your checkout. Only the main checkbox shows.
  2. Tick it. Your nested fields appear.
  3. Leave a required field empty and try to continue. Checkout stops with “Label is required”.
  4. Fill in the field and continue. Place a test order.
  5. Open the order in Orders. Each nested Text Input value is listed under Additional details with its attribute name.
  6. Negative check: in a new checkout, leave the box unticked. You can continue with the required fields empty.

Limitations

  • Shopify Plus only for placement in the checkout steps. That’s a Shopify rule for all checkout apps.
  • Only Text Input and Checkbox fields can be nested.
  • The main checkbox’s tick isn’t saved, and neither are nested checkbox ticks.
  • The box starts unticked on every page load, so fields hide again after a refresh. Values already saved stay on the cart.
  • Unticking hides the fields but doesn’t clear their saved values.
  • Blocking only applies to required Text Input fields. An optional field with a failing pattern shows an error but doesn’t block.

Troubleshooting

Buyers can continue with a required field empty. Check the field’s Required is Yes, and that the box is ticked. Then check the Custom Block app block is allowed to block checkout progress in the checkout editor. Without that permission, Shopify ignores the block.

Choosing the block opens “Upgrade The Plan”. Your plan doesn’t include Conditional Checkbox. See plans and features.

Only one nested value reaches the order. Two nested fields are saving under the same name. Give each Text Input a unique Name of the attribute.

Want to see this block in a live checkout first? See examples and use cases →

Frequently asked

Which fields can I put inside a Conditional Checkbox? +

Text Input and Checkbox. Each nested Text Input keeps its own Label, Required, storage and Validation settings.

Does it block checkout? +

Only while the box is ticked. Then every nested Text Input set to Required must have a value, and match its pattern if it has one. Unticked, the buyer can continue freely.

Is the main checkbox saved to the order? +

No. Only the values of nested Text Input fields are saved. To see who ticked the box, look for those values on the order.

What happens to values if the buyer unticks the box? +

The fields hide, but anything already typed stays saved on the cart and reaches the order. Ask buyers to clear a field before unticking if that matters for your fulfilment.

Related guides

More Custom Fields blocks

Still stuck? Open the app and use Support to chat with the team, or contact us. Don't have the app yet? Install Checkout Ninja.