Extra Order Recipients allows your WooCommerce store to send order emails to additional recipients, without editing email templates. Customers can enter extra email addresses at checkout or in My Account, and store owners can route admin and customer emails using global, product, category, and advanced routing rules with To, CC, and BCC support.
Installation
To start using a product from WooCommerce.com, you can use the โAdd to storeโ functionality on the order confirmation page or the My subscriptions section in your account.
- Navigate to My subscriptions.
- Find the Add to store button next to the product youโre planning to install.
- Follow the instructions on the screen, and the product will be automatically added to your store.
Alternative options and more information at:
Managing WooCommerce.com subscriptions.
Configuration
↑ Back to topAfter installation, configure the extension under WooCommerce > Settings > Extra Recipients. Additional settings tabs appear once the plugin is enabled.
Enable the extension
↑ Back to top- Go to WooCommerce > Settings > Extra Recipients.
- On the General tab, tick Enable extra order recipient routing.
- Save changes.
Customer Recipients
↑ Back to topUse this section to let customers add extra email addresses that receive selected WooCommerce customer emails (for example, processing or completed order emails).
- Display fields on โ Show fields on classic checkout, the WooCommerce Checkout Block, My Account, or both.
- Save checkout values to account โ Store recipient addresses on the customer account for future orders.
- Allow editing after checkout โ Let customers update saved recipients from My Account, or show them as read-only.
- Custom field labels โ Add, rename, or remove extra recipient fields. Mark individual fields as required if needed.
Customer addresses are validated for correct email format, duplicates, and duplicates of the main billing or account email. Values are saved on the order so resending emails later uses the same recipients.
Admin Recipients
↑ Back to topUse this section to route store admin emails to additional recipients.
- Global admin recipients โ Email addresses that should receive selected admin emails for every order.
- Customer emails โ Choose which customer-facing WooCommerce emails should include extra customer recipients.
- Admin emails โ Choose which admin WooCommerce emails (such as New order) should receive extra routed recipients.
You can also set recipients on individual products and categories:
- Products โ Edit a product and enter comma-separated addresses in Extra admin recipients on the General tab.
- Categories โ Edit a product category and enter comma-separated addresses in Extra admin recipients.
Product and category recipients add To recipients only. Use routing rules for CC and BCC behavior.
Routing Rules
↑ Back to topRouting rules give you fine-grained control over who receives which emails. Each rule can:
- Match orders containing specific products and/or categories.
- Target selected WooCommerce email types.
- Add recipients to To, CC, or BCC.
- Use manual email addresses, individual WordPress users, or entire WordPress roles as recipient sources.
- Set a priority when multiple rules apply to the same order.
When an order is placed, the plugin stores a routing snapshot on the order. If you change a rule later and resend an email from the order screen, the original snapshot is used so behavior stays predictable.
Advanced settings
↑ Back to topEnable Debug logging to write recipient resolution events to the WooCommerce logger (WooCommerce > Status > Logs). This is useful while testing routing rules. Disable it in normal production use unless you are troubleshooting an issue.
Usage
↑ Back to topWhat customers see on the front end depends on your Customer Recipients settings.
At checkout
↑ Back to topOn classic checkout, extra recipient fields appear in the billing/contact area using the labels you configured (for example, โGift recipient emailโ or โAccounts payable emailโ).
On the WooCommerce Checkout Block, the same fields appear in the Order information area rather than the contact section.
In My Account
↑ Back to topWhen My Account is enabled, logged-in customers can view and edit saved extra recipient addresses on the Account details page. If editing is disabled, saved values are shown as read-only.
In order emails
↑ Back to topWhen a matching WooCommerce email is sent:
- Customer emails include the extra addresses the customer entered at checkout (for the email types you selected).
- Admin emails include global, product, category, and routing-rule recipients (for the email types you selected).
- Routing rules can place recipients in To, CC, or BCC as configured.
No changes are visible to customers on the order confirmation page itself โ the effect is on who receives the WooCommerce emails behind the scenes.
Troubleshooting
↑ Back to topExtra fields are not showing at checkout
↑ Back to top- Confirm the plugin is enabled under WooCommerce > Settings > Extra Recipients > General.
- Check that Display fields on includes Checkout (or Checkout and My Account).
- Clear any page, object, or full-page cache and test again in a private browser window.
- If you use the Checkout Block, look in the Order information section โ fields are not placed in the contact section by design.
Extra recipients are not receiving emails
↑ Back to top- Verify the correct WooCommerce email type is selected under Admin Recipients (for store routing) or Customer emails (for customer-entered addresses).
- Confirm the email address is valid and was saved on the order without validation errors.
- For routing rules, confirm the order contains a matching product or category and that the ruleโs email types and To/CC/BCC channels are configured correctly.
- Check whether your SMTP or mail plugin is stripping CC/BCC headers.
- Enable Debug logging under Advanced, reproduce the issue, then review logs at WooCommerce > Status > Logs.
Re-sent emails use old recipients
↑ Back to topThis is expected. The plugin saves recipient and routing data on the order when it is placed. Resending an email from the order admin screen uses that saved snapshot, even if you later change settings or routing rules. Place a new test order to verify updated configuration.
Validation errors at checkout or in My Account
↑ Back to topThe plugin rejects invalid email addresses, duplicate extra recipient fields, and addresses that match the customerโs main billing or account email. Correct the highlighted field and try again.
FAQs
↑ Back to topCommon questions about Extra Order Recipients.
Does this work with the WooCommerce Checkout Block?
Yes. Customer recipient fields are supported on the Checkout Block as well as classic checkout. On the block, fields appear in the Order information area rather than the contact section.
Can I add more than one extra recipient field for customers?
Yes. Use the Custom field labels table in Customer Recipients to add multiple fields, rename them, mark fields as required, or remove unused fields.
What is the difference between Admin Recipients and Routing Rules?
Admin Recipients handles global recipients and choosing which WooCommerce email types are affected. Product and category fields add simple To recipients when matching items are in an order. Routing Rules add advanced logic โ product/category matching, priority, To/CC/BCC channels, and recipients from manual emails, users, or roles.
Will changing a routing rule affect emails already sent for past orders?
No. Recipient data is saved on the order when it is placed. Resending an email from an existing order uses the saved snapshot from that order, not your current settings.
Do category rules apply to child categories or only directly assigned categories?
Category rules apply to categories directly assigned to purchased products. They do not automatically include products only assigned to child categories unless those child categories are also matched by your rule.
Can developers extend or customize behavior?
Yes. The plugin exposes actions and filters for email types, field definitions, recipient lists, routing behavior, and debug logging. See the Developer reference section below for the full list.
Developer reference
↑ Back to topThe following hooks are available for extending or customizing Extra Order Recipients.
Actions
↑ Back to topeorw_order_customer_recipients_savedโ Fires after customer recipient data is stored on an order.eorw_email_routing_snapshot_savedโ Fires after an email routing snapshot is stored on an order.
Filters
↑ Back to topeorw_available_email_typesโ Filters the email IDs shown in settings.eorw_settings_defaultsโ Filters the plugin default settings.eorw_max_customer_fieldsโ Filters the maximum number of extra customer fields allowed in settings.eorw_customer_field_countโ Filters the resolved number of customer fields.eorw_checkout_field_argsโ Filters each checkout field definition.eorw_account_field_argsโ Filters each My Account field definition.eorw_order_customer_recipientsโ Filters customer recipients before order persistence.eorw_customer_recipients_for_orderโ Filters customer recipients before order persistence.eorw_customer_recipients_for_userโ Filters customer recipients before user meta persistence.eorw_resolved_customer_recipientsโ Filters fallback customer recipients resolved from account data.eorw_admin_global_recipientsโ Filters global admin recipients before rule merging.eorw_admin_product_recipientsโ Filters product-level admin recipients.eorw_admin_category_recipientsโ Filters category-level admin recipients.eorw_admin_routing_category_idsโ Filters the category IDs considered during admin routing.eorw_resolved_admin_recipientsโ Filters the fully merged admin recipient list.eorw_customer_email_recipientsโ Filters extra recipients before they are appended to customer emails.eorw_admin_email_recipientsโ Filters extra recipients before they are appended to admin emails.eorw_should_attach_customer_recipientsโ Controls whether customer emails are modified.eorw_should_attach_admin_recipientsโ Controls whether admin emails are modified.eorw_should_logโ Controls debug logging behavior.
