You can add a checkbox to your product pages for terms and conditions, and make it a required field. This means customers must check the box before they can add a product to their cart.
While this works for individual product pages, it does not place a terms and conditions checkbox at the final checkout. The required checkbox ensures customers acknowledge your terms before adding the product to their cart.
Express checkout bypasses required fields
If you use required product page fields (personalization, terms checkbox, age verification, file upload), consider disabling dynamic checkout buttons (Apple Pay, Shop Pay, Google Pay) on products where those fields are mandatory. Customers using express checkout skip the product page entirely and go straight to checkout — they never see your required fields, so they can complete a purchase without providing the data you need. This is a platform limitation, not an app bug. In Shopify, you can disable dynamic checkout buttons per product or globally in your theme settings to ensure customers always pass through the product page and complete required fields.
Paid fields require published products
Paid fields (embroidery +$X, gift wrapping +$Y, rush fees) create hidden products behind the scenes. These products must be set to "Active" and available on your Online Store sales channel — they can be "Unlisted" so they don't appear in collections or search, but they must be published. If the paid add-on price doesn't show in the cart or the option doesn't work, this is almost always the cause. Check your Shopify admin: Products → find the generated add-on products → ensure Status is Active and the Online Store sales channel is enabled. This is the #1 setup mistake with paid fields.
Originally from our Help Center