BoxBuilder includes a built-in gift message feature. When enabled, customers can type a personal message that’s stored with the order and shown in confirmation emails.
Enable Gift Messages
Gift messages are controlled globally in BoxBuilder → Settings → Gift Message tab.
| Setting | Description | Default |
|---|
| Enable Gift Message | Show the gift message field in the box builder | Enabled |
| Required | Make the gift message mandatory before adding to cart | No |
| Label | The label shown above the text field | ”Gift Message” |
| Placeholder | Placeholder text inside the field | ”Add a personal message…” |
| Max Length | Maximum number of characters allowed | 500 |
How It Works
- Customer sees a text field in the box builder (below the box summary)
- They type their personal message
- When the box is added to cart, the message is stored with the cart item
- At checkout, the message is saved as order item meta
- The message appears in:
- Order confirmation page
- Order confirmation email
- Admin order screen (WooCommerce → Orders → Edit Order)
- Customer’s My Account → Orders history
Customizing the Label
You can change the gift message label and placeholder text in BoxBuilder → Settings → Labels tab, or in the Gift Message tab for the specific label and placeholder.
Where the Message Appears
| Location | Visible To |
|---|
| Cart page | Customer |
| Checkout page | Customer |
| Order confirmation page | Customer |
| Order confirmation email | Customer |
| Admin order screen | Store admin |
| Packing slip (with compatible plugin) | Warehouse staff |
The gift message is stored as WooCommerce order item meta (_boxbuilder_message), so it’s accessible to any plugin that reads order item meta — including packing slip and PDF invoice plugins.
Developer: Accessing the Gift Message
// Get gift message from an order item
$message = $item->get_meta( '_boxbuilder_message' );
// Filter the gift message before saving
add_filter( 'boxbuilder/gift_message', function( $message, $box_id ) {
// Modify or validate the message
return $message;
}, 10, 2 );