Use a variant when a choice identifies a distinct item, such as a size or color you manage in inventory. Use an extra product field to collect a name, message, upload or other order instruction. A product can need both.
Separate what you sell from what the customer tells you
A medium navy sweatshirt is a specific item. The name a customer wants embroidered on it is information about that order. Treating those as the same kind of choice makes the catalog harder to manage.
Start by writing every choice on a list. Mark the choices that need their own stock level or identify a different item. Then mark the details that your team needs to make, personalize or pack the order. This simple split usually makes the setup clearer.
Use variants for distinct items
Shopify variants represent combinations of product options. A size and a color together can identify a variant, and inventory can be managed for that variant. Keep those choices in Shopify’s product structure when your stock or fulfillment depends on them.
Avoid creating a variant for every possible name or gift message. Those are open-ended answers rather than a practical set of items to stock.
Source: Shopify: product variants ↗
Use custom fields for personalization
A product form can collect additional details with the item added to the cart. Shopify calls these line item properties. A theme or an app needs to provide the fields and carry the answers through the shopping flow.
Instant Product Options provides inputs such as text, selections, uploads and swatches, with rules for showing relevant fields. Paid extras can also add a charge. Check the current listing for the features included in the plan you choose.
Make each choice easy to answer
Label a field with the detail you need: “Name on the sweatshirt” tells the customer more than “Custom text.” Explain the limit before they type. If an extra costs more, show the additional charge alongside the choice.
Use conditional fields to remove unnecessary questions. Ask for an engraving message after the customer chooses engraving, rather than making every customer decide what to put in an empty message box.
Test an order your team can actually fulfill
The product page is only the start. Place a test order and check the information where your team uses it. Confirm that edits in the cart preserve the answers and that paid extras reach checkout at the expected price.
- Try an empty required field and an answer longer than the allowed limit.
- Test an upload on a phone, including the file types you accept.
- Change a choice that controls another field and check what happens to the previous answer.
- Check the order details and the workflow used by your fulfillment team.
- Check express purchase buttons and any cart drawer used by your theme.
Source: Instant Product Options: fields, rules and paid extras ↗