Most custom fields are asked once per order, at the checkout. A field set to the Product page location is different: it is asked on the product itself, above the add to cart button, and the custom fields data belongs to that one cart line.

Why per item matters #
- Hiring two cars can carry two different drivers, two different collection times, two different sets of extras.
- Adding the same product twice with different custom fields data gives you two cart lines, not one of quantity two. Identical data still merges into one line.
- A missing required field stops the add to cart, so an item can never reach the basket half-specified.

Where the custom fields data goes #
Custom fields data appears under the item name in the cart and on the checkout review, and are copied onto the order line item under the field’s own label — so they show on the admin order screen, the customer’s order and the order emails without any further setup.
Charging for a product page field #
A priced product page field adds a fee to that cart line. It is charged per unit, because the custom fields data belongs to those items — two hire cars with a child seat are two child seats. A percentage is read against that item’s own price rather than the whole cart.
What to ask here, and what to ask at checkout #
| Ask on the product page | Ask at the checkout |
|---|---|
| Anything that differs per item: collection time, driver, size, per-item extras. | Anything that is true of the whole order: delivery instructions, a PO number, how they heard about you. |
Note: File upload fields are not offered on the product page. WooCommerce’s add to cart form is not a file-upload form and there is no way to make it one, so the file would be lost. Ask for documents at the checkout, or use ID Verification.
