WooCommerce
WooCommerce Extra Product Fields: Engraving, Dimensions and Conditional Options

WooCommerce extra product fields let a customer type engraving text, enter a dimension or pick a paid option on the product page before adding it to the cart. Regular attributes and variations fall short here. Why? Because every variation has to be defined in advance, and you can’t predict what people will type in by hand. Below I cover when fields are worth it, which types to choose, how to price add-ons and what to do with the collected data so the order can still be fulfilled without hassle.
Table of Contents
When are variations not enough and you need WooCommerce extra product fields?
When the customer provides their own content. Or when there are so many combinations that building variations for them stops making sense. The simplest example is engraving: a name, a date, a short dedication, different every time. You just can’t prepare a variation like that. A made-to-measure product in WooCommerce works the same way (a roller blind, a countertop, anything cut to order). Hundreds of width and height combinations? No, thanks. Two fields where the buyer types in their numbers are enough, and that’s it.
Custom attributes describe the product and build variations that the seller sets up in advance. A field on the product page works differently, because it collects information from the customer at the moment of purchase. One is for the catalogue and filtering. The other is for personalising a specific order. In my view, it’s worth keeping this distinction in mind before you start configuring anything.
Which field types work best for product personalisation?
In most stores, three types will cover it: a dropdown list (select), a checkbox and a text field. Each has its own job:
- select - choosing a material, size or finish from a closed list,
- checkbox - extra services, such as gift wrapping or engraving,
- text field - engraving text, a dimension or production notes.
But the field type isn’t everything, how the options look matters too. For sizes, text is enough. For patterns and shapes, an image works better. And where the customer picks a colour, show a colour swatch, because people want to see the colour, not read a name like „sage green”. One more thing: mark fields with information you need to make the product, such as the engraving text, as required. Otherwise, sooner or later you’ll get an engraving order with no text to engrave.
How do you set surcharges for engraving and extra options?
Each option can raise the price, lower it or leave it unchanged. The surcharge can be a fixed amount or the price of another product in the store. Engraving is usually set as a fixed surcharge. A watch case or a gift box is different, here it’s easier to link the option to the price of an existing product. Discount the box, and the price in the option changes too. No manual fixing in two places.
Options selected by default speed up the purchase. As long as they don’t quietly raise the price. A paid add-on picked on the customer’s behalf? It’s easy to see that as an attempt to mislead, and honestly, that’s hard to argue with. In practice, a clear label with the amount right next to the option works best, for example „Engraving (+ surcharge)”. Straight away, fewer questions for customer service.
Conditional product fields: how do you build options that depend on each other?
In layers. From single elements up to the whole form, so the customer only sees what applies to their choice. The smallest building block is a single option, say one engraving font. Several options make up a field, and fields make up the product configuration. The upside is that an element defined once can then be reused across many products (instead of building everything from scratch for every new mug).
What does it look like in practice? The customer ticks engraving, and only then does the text field and font choice appear. Anyone who doesn’t want engraving doesn’t see the extra questions. Simple. I recommend planning a configuration like this in the following order:
- List all the options the customer can choose or type in.
- Assign each option its effect on the price.
- Decide which fields are required.
- Test the whole purchase path, from the product page through picking a parcel locker on the map to the order in the admin panel.
Where does the field data go and how do you use it to fulfil the order?
The values the customer chooses are saved in the database under their own key. That way you can see them in the order and search for them easily. That said, not every option needs to be stored. Some are used only to calculate the price and nobody cares about them once the order is placed. Others, like the engraving text or a dimension, are essential in production.
Give the keys human-readable names, for example engraving_text or width_cm. Exports get simpler, and passing the data to the engraving workshop or the team that cuts material to size stops being guesswork. Oh, and for fields that need explaining, a „Read more” link to external instructions comes in handy. For instance, a guide on how to measure a window correctly, because customers have quite a lot of trouble with that.
Plugin or custom code: how do you add personalisation to your store?
For typical scenarios (engraving, dimensions, surcharges), a ready-made plugin is enough. Custom code only makes sense when the logic is genuinely unusual. One example is the Woo Product Fields Pro plugin, built on Parts with a colour, label, image, database key and price source. Parts are linked to the options of select, checkbox and text fields, and for each option you set the price effect, default selection and whether it’s required.
Before you choose a solution, check that it gets regular updates and support. And that it plays well with your theme, because that varies. Well-planned WooCommerce extra product fields shorten the path from order to fulfilment. The customer provides everything the workshop needs right away, and you don’t have to chase them by email afterwards.
Frequently asked questions
Do extra product fields replace WooCommerce variations?
No, they complement them. Variations are still useful where stock levels matter, for example with clothing sizes. Fields collect data from the customer that you can’t predict in advance.
How do I add the engraving price to a product?
Add an engraving option with a fixed surcharge or link it to the price of another product in the store. The amount should be visible right next to the option. The customer should know the cost before adding the product to the cart, not only at checkout.
Can the customer skip the engraving text field?
No, if the field is marked as required. They can’t add the product to the cart without filling it in, so an order with no text to engrave won’t reach the store.