acf не при чем тут, есть смысл его использовать только если Вы не умеете сверстать форму. Данные пользователя должны добавляться к товару внутри заказа, иначе как Вы собрались получать эти данные и понимать к какому заказу относятся я не понял.
Вот все хуки которые Вам пригодятся для выполнения этой задачи:
add_action( 'woocommerce_before_add_to_cart_button', 'cfwc_display_custom_field', 0); - хук перед кнопкой куда можно повесить форму
add_filter( 'woocommerce_add_cart_item_data', 'cfwc_add_custom_field_item_data', 10, 4 ); -для добавления текстового поля к обьекту корзины
add_filter( 'woocommerce_cart_item_name', 'cfwc_cart_item_name', 10, 3 ); - вывод данных из формы в корзине
add_action( 'woocommerce_checkout_create_order_line_item', 'cfwc_add_custom_data_to_order', 10, 4 ); - позволит добавить значение к обьекту заказу.
Почитайте детальнее о этих хуках, они учитывают все вопросы которые возникнут по пути. Управлять показом формы в зависимости от атрибута можете с помощью js. Удачи в работе :)