Dawn Theme Add A Text Field Option for a specific product

Topic summary

Goal: add two custom text fields (Name, Number) for a single product in the Dawn theme.

Primary solution (metafields + code):

  • Create a product metafield (Admin > Settings > Custom data > Metafields > Products) with a True/False toggle to enable personalization per product.
  • In theme code, insert two text areas under the product form. Some users found the snippet in main-product.liquid; others located it under buy-buttons.liquid. Searching for “{%- form ‘product’,” helps.
  • Users report it works and only shows on products where the metafield is enabled. One user also added the fields via a Custom Liquid block as an easier alternative.

No-code alternative:

  • Use the free Easify Product Options app to add a Text box (Name) and Number text box (Number), set validation, and assign to the specific product. Screenshots illustrate setup.

Notes and issues:

  • One user couldn’t find the metafield toggle—likely needs to first create the metafield definition.
  • Theme versions (Dawn 9.0.0/11.0.0): solution remains viable but file locations differ.
  • Open question: whether the entered data is submitted with the order and how it appears in admin remains unanswered.

Status: Practical solutions provided; discussion partially unresolved regarding order data visibility.

Summarized with AI on December 28. AI used: gpt-5.

Hi Echapman24,

I used product metafields to do this before.

  1. From Admin > Settings > Custom data > Metafields > Products > Add definition

  2. Fill in “Name”, “Description”, Select Type “True or false”. You can edit the “Namespace and key” as well

Example on my store:

  1. Go to the Product you want to add this custom text field > Scroll down to bottom > Metafields > Enable Product Personalization: select True

  2. Go to Online store > Edit Code > Open main-product.liquid

Find this code

{%- form ‘product’, product, id: product_form_id, class: ‘form’, novalidate: ‘novalidate’, data-type: ‘add-to-cart-form’ -%}
Place this code right below that:

{%- if product.metafields.custom.enable_product_personalization.value -%}

{%- endif -%}

By using metafields, you can choose which product to enable that custom fields, you can bulk edit as well.

1 Like