By default, WooCommerce only sends order completion emails to the customer and the store admin. But many store owners need additional people to receive these notifications — a fulfillment manager, an accountant, a business partner, or an external shipping service.
In this tutorial, we’ll show you how to add extra email recipients to the WooCommerce order completion email using a simple code snippet. No plugins needed.
Add the Code to functions.php
Add the following code to the end of your child theme’s functions.php file:
function add_multiple_email_recipients(
$recipient, $object
) {
$recipient = $recipient . ', abc@gmail.com';
return $recipient;
}
add_filter(
'woocommerce_email_recipient_customer_completed_order',
'add_multiple_email_recipients',
10, 2
);
Replace abc@gmail.com with the email address you want to add. To add multiple recipients, separate them with commas inside the string:
$recipient = $recipient
. ', manager@example.com'
. ', accountant@example.com';
How This Code Works
The code hooks into the woocommerce_email_recipient_customer_completed_order filter. This filter is called every time WooCommerce is about to send the “Completed Order” email. It passes the current recipient string (the customer’s email by default), and our function appends additional email addresses to it before returning the updated string.
WooCommerce then sends the email to all addresses in the comma-separated recipient list.
Add Recipients to Other Email Types
The filter name follows a pattern: woocommerce_email_recipient_{email_id}. You can use the same approach for other WooCommerce email types:
customer_completed_order — when an order is marked complete
customer_processing_order — when payment is received
customer_on_hold_order — when an order is placed on hold
new_order — the admin new order notification
cancelled_order — when an order is cancelled
For example, to add a recipient to the new order admin email:
add_filter(
'woocommerce_email_recipient_new_order',
'add_multiple_email_recipients',
10, 2
);
How to Test It
1. Go to your store and place a test order.
2. In the WordPress admin, navigate to WooCommerce → Orders and find the test order.
3. Change the order status to Completed and save.
4. Check all the email addresses you added — they should each receive the order completion notification.
Conclusion
Adding extra email recipients to WooCommerce order completion emails is a quick, one-snippet solution that requires no plugin. Whether you need to notify a fulfillment team, an accountant, or a business partner, the filter approach is clean, flexible, and update-safe when used in a child theme.
Frequently Asked Questions
Can I add recipients conditionally based on order details?
Yes. The function receives the $object parameter, which is the WooCommerce order object. You can check the order total, product IDs, shipping method, or any other order data and conditionally add recipients based on those values.
Will the extra recipients see each other’s email addresses?
WooCommerce sends emails using the wp_mail() function, which places all recipients in the “To” field by default. This means recipients can see each other’s addresses. If privacy is a concern, consider using a custom email hook that sends separate emails to each recipient.
Does this work with WooCommerce email customization plugins?
Yes. This filter runs at the recipient level, before the email content is generated. It’s compatible with plugins like WooCommerce Email Customizer, Kadence WooCommerce Email Designer, and similar tools.
Can I remove the default admin email from certain notifications?
Yes. Instead of appending to $recipient, you can replace it entirely by returning a new string. However, be careful not to remove the customer’s email from customer-facing notifications.
