- Short answer
- Only Shopify Plus can add a custom checkbox to checkout steps; Basic, Grow and Advanced can use a cart-page one, unsupported by accelerated buttons.
- Checkout Blocks custom field
- Plus only; Checkbox is one of seven field types.
- Making it required
- The Agree to terms template requires agreement; a custom extension blocks only with block_progress granted.
- Store policies
- Automatically linked in the checkout footer — a link, not an agreement checkbox.
- Accelerated checkout
- Accelerated checkout buttons don't support cart attributes; Shopify calls them unsuitable if you rely on them.
- Where answers land
- Order metafield, order note attribute or order note, for Checkout Blocks custom fields.
- As of
- Shopify Help Center and shopify.dev, read September 28, 2026.
How do you add a checkbox to checkout on Shopify Plus?
Shopify's own Checkout Blocks app lets you customize checkout without code, including adding custom fields. The plan line is firm: creating a custom field block is available only to merchants on the Shopify Plus plan. Inside that block, Checkbox is one of seven field types, alongside a text input, a dropdown list and a date of birth field.
The developer route is a checkout UI extension. Shopify's Checkbox component is built for selections "such as agreeing to terms". Extensions on the information, shipping and payment steps are a Shopify Plus feature.
Can you make buyers tick a terms and conditions box?
Store policies alone don't do it: once you add them, they're automatically linked in the footer of your checkout pages — a link, not an agreement. No Shopify page we read on September 28, 2026 — the checkout settings, policies, checkout editor, form options and Checkout Blocks pages — describes an agree-to-terms checkbox you can turn on without an app or extension.
On Plus, the custom field block has a ready-made Agree to terms template. It requires the customer to agree to your terms of service before checking out, the terms open in a pop-up, and the checkbox isn't selected by default.
A custom extension can stop the buyer only if it declares the block_progress capability and you, the merchant, grant it. Shopify's buyer journey reference spells out the difference:
When true, the merchant has granted your extension the block_progress capability. When false, you can still validate but can't prevent the buyer from continuing.
Shopify's own email marketing checkbox is a separate question: whether it comes pre-checked.
Where can a checkbox go without Shopify Plus?
Shopify's checkout apps guide says apps that customize the information, shipping, and payment pages of the checkout are available only to Shopify Plus.
The documented alternative is the cart page. Shopify describes cart attributes as "custom form fields that you can use to collect additional information from your customers on the cart page", and its examples include terms and conditions checkboxes.
The catch is accelerated checkout. "Accelerated checkout buttons don't support cart attributes," and with an unbranded button, customers "skip the cart and go to the Shopify Checkout." Shopify's verdict: "If you rely on cart attributes, then accelerated checkout buttons aren't suitable for your online store." So the choice is a cart-page checkbox or accelerated checkout buttons.
What Basic, Grow and Advanced get from Checkout Blocks is narrower: on Basic or higher, only the dynamic and static content blocks, placed only on the Thank you and Order status pages. A custom field can't go there either, because its answer "must be captured before the order is completed". For the full split, see what each plan can customize in checkout.
Where a custom checkbox can go
| Route | Where it shows | Plan | Watch out for |
|---|---|---|---|
| Checkout Blocks custom field | Checkout, never Thank you or Order status | Shopify Plus | Agree to terms template, unchecked by default |
| Checkout UI extension (Checkbox) | Information, shipping and payment steps | Shopify Plus | Blocks checkout only with block_progress granted |
| Cart attribute | Cart page in your theme | Theme feature | Accelerated checkout buttons don't support it |
| Checkout Blocks content blocks | Thank you and Order status pages | Basic or higher | Content only, no custom field |
Read on the Shopify Help Center and shopify.dev, September 28, 2026.
Where is the checkbox answer saved?
Checkout Blocks custom fields save to the customer's order as an order metafield, order note attribute, or the order note itself. A metafield uses the checkoutblocks namespace, with a key you define when you add the field. Shopify recommends metafields "as they're the most robust way of storing and retrieving custom data on orders".
The choice matters downstream. Shopify's Checkout Blocks guide says order attributes, "also known as note attributes or cart attributes", are incompatible with Shopify's default packing slips and draft orders, and order notes are incompatible with draft orders. If you need packing slips or draft orders, use order metafields.
This article was written entirely by AI under human editorial direction. The editor sets the topic and structure, runs multi-stage validation on facts, links, and interactive elements, and verifies the output is useful from a business perspective. All claims are checked against official Shopify sources. Details may change — always confirm critical data at shopify.com.
Editorial Policy