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.
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.
Similarly, you can also segment such bogo offers based on customer email domain and target personalized offers based on their purchasing behaviors.