Surprising customers with an unexpected free gift when they complete an order not only encourages customers to make a purchase but to become repeat customers of your store. This customization isn’t just about adding a product to a cart—it’s about notifying the customer of the free gift via email and giving a touch of joy in their shopping experience.
Solution: Add a Free Gift to All Completed Order Email Notifications in WooCommerce
This code will automatically add a free gift to email notifications of completed orders.
// Add action to include added free gift in completed order email add_action('woocommerce_email_after_order_table', 'ts_email_after_order_table', 10, 4); function ts_email_after_order_table($order, $sent_to_admin, $plain_text, $email) { // Check if the email is for completed order status if ('customer_completed_order' === $email->id) { $free_gift_product_id = '470'; // Replace with your actual free gift product ID // Check if the free gift is in the order $free_gift_added = false; foreach ($order->get_items() as $item) { if ($item->get_product_id() == $free_gift_product_id) { $free_gift_added = true; break; } } // If the free gift is not in the order, add it if (!$free_gift_added) { $free_gift_quantity = 1; // You can adjust the quantity as needed $order->add_product(wc_get_product($free_gift_product_id), $free_gift_quantity); } // Output information about the added free gift in the email echo '<p>Free Gift Added:</p>'; echo '<table cellspacing="0" cellpadding="6" style="width: 100%; color: #636363; border: 1px solid #e5e5e5;" border="1"><tbody>'; echo '<tr><th style="text-align: left;">Product</th><th style="text-align: left;">Quantity</th></tr>'; // Output free gift product details foreach ($order->get_items() as $item) { if ($item->get_product_id() == $free_gift_product_id) { echo '<tr>'; echo '<td>' . $item->get_name() . '</td>'; echo '<td>' . $item->get_quantity() . '</td>'; echo '</tr>'; break; // No need to iterate further once the free gift is found } } echo '</tbody></table>'; } } // Add a notice message on the cart page function add_free_gift_notice() { wc_print_notice( 'Complete your order now and receive a free gift!', 'notice' ); } add_action( 'woocommerce_before_cart', 'add_free_gift_notice' );
Output
After the order is successfully placed by the customer, the free product details are automatically sent to the completed order of email notifications as shown below.
![How to Add a Free Gift to All Completed Order Email Notifications in WooCommerce? 1 How to Add a Free Gift to All Completed Order Email Notifications in WooCommerce? - Tyche Softwares](https://media.tychesoftwares.com/wp-content/uploads/Free-gift-added-in-all-Completed-Order-Email-notifications-725x1024.png)
The last function in the code will display a notice message on the cart page to inform customers about the free gift in order to complete the purchase.
![How to Add a Free Gift to All Completed Order Email Notifications in WooCommerce? 2 How to Add a Free Gift to All Completed Order Email Notifications in WooCommerce? - Tyche Softwares](https://media.tychesoftwares.com/wp-content/uploads/complete-order-1024x410.png)
Similarly, you can also segment such bogo offers based on customer email domain and target personalized offers based on their purchasing behaviors.