Choice fields
Choice fields let customers pick instead of type, so answers stay consistent.
| Block | Use it for | Plan |
|---|---|---|
| Select | A dropdown, such as “How did you hear about us?” | Free, Business |
| Checkbox | One yes-or-no box, such as agreeing to terms | Free, Business |
| Multiple checkboxes | Several boxes, any number of which can be ticked | Free, Business |
| Radio | Several options, only one of which can be picked | Free, Business |
All need Shopify Plus. Read how form fields work first.

Select
Section titled “Select”| Setting | What it does |
|---|---|
| Label | The dropdown’s label. Plain text. |
| Options | One Label per option. The label is also the saved value. |
| Exclude empty option | Removes the blank first option, so the first real option is shown selected. |
| Use metaobject for options | Load options from a metaobject instead of typing them. See below. |
| Customer must fill field to proceed in checkout | Makes a choice required. |
| Apply effect when value changes | Includes Apply value to city shipping address field, which fills in the shipping city with the chosen option. |
Load a long list of options from a metaobject
Section titled “Load a long list of options from a metaobject”Typing hundreds of options, such as store locations or schools, is slow. Store them in a metaobject instead.
-
In Shopify admin, go to Settings → Custom data → Metaobjects and add a definition with a JSON field, for example
options. Turn on Storefront access. -
Add an entry. Its JSON must be a list of objects with
labelandvalue:[{ "label": "Downtown store", "value": "downtown" },{ "label": "Airport store", "value": "airport" }]If your list is in a spreadsheet, a free CSV-to-JSON converter can produce this format.
-
In the Select field, tick Use metaobject for options and enter the entry’s Metaobject handle, the definition’s Metaobject type, and the Metaobject field (
options).
Options you type in the block show first, then the metaobject options.
Checkbox
Section titled “Checkbox”A single checkbox. It saves true when ticked and false when unticked. If the customer never touches it and there’s no default value, nothing is saved.
| Setting | What it does |
|---|---|
| Subheading | Optional text above the checkbox. Supports links, formatting, and order variables. |
| Checkbox label | The text next to the box. Supports links, such as a link to your terms. Other formatting shows as plain text. |
| Apply default value | Enter true to start checked. |
| Customer must fill field to proceed in checkout | The box must be ticked to continue. |
This is the block to use for a required “I agree to the terms and conditions” checkbox. See the terms checkbox recipe.
Multiple checkboxes and Radio
Section titled “Multiple checkboxes and Radio”Both show a question with a list of options. Multiple checkboxes allows any number of ticks; Radio allows one.
| Setting | What it does |
|---|---|
| Subheading | The question. Supports links, formatting, and order variables. |
| Options | Each has a Label (supports links and formatting) and an optional Value. The value is saved instead of the label when set. |
| Apply default value | The value of the option to select at the start, or its label if it has no value. Multiple checkboxes supports one default. |
| Customer must fill field to proceed in checkout | At least one option must be picked. |
Multiple checkboxes saves every ticked option, separated by commas. Setting a Value for each option keeps saved answers short and consistent, for example newsletter instead of “Sign me up for the newsletter”.
To add a border around Multiple checkboxes (or a Checkbox), choose Misc. appearance → Show border around checkboxes on the app block. Radio fields don’t have a border option.
Things to know
Section titled “Things to know”- Translations change the saved answer when an option has no Value. Set values if you translate options and rely on the answer in Flow or emails.
- A default value is saved as the answer right away, even if the customer never touches the field.
- Old blocks named “Checkboxes” in the app are the same as Multiple checkboxes.
