FunnelKit
FunnelKitBlogs

WooCommerce Custom Emails Per Product: 3 Ways to Set It Up

Updated:  Jul 1, 2026
Written by: 
Author: Editorial Team
Editorial Team
Author: Editorial Team Editorial Team

The FunnelKit Editorial Team is a group of WooCommerce experts with 10+ years of combined experience. We create actionable guides based on hands-on testing, industry research, and user feedback to help eCommerce businesses grow.

WooCommerce Custom Emails Per Product: 3 Ways to Set It Up

WooCommerce custom emails per product let you send a different message to customers based on the exact item they buy.

To send a different email depending on what someone buys in WooCommerce, you have three working routes:

  1. Append a per-product message inside your existing order emails using a dedicated add-on (no code) or a short snippet (free).
  2. Trigger a separate, designed email based on the exact product purchased using an automation plugin (no code, scalable).
  3. Write a code snippet that targets a product ID, variation, or category and injects content into the receipt.

Some stores just need a note added to the receipt; others need a whole separate email with its own timing.

In this guide, we'll explore all three methods, what they cost, who they're for, and how to pick one, with a comparison table, a deliverability checklist, and a troubleshooting section for when the email doesn't fire.

Short on time? Watch our video tutorial on how to send custom email content for each product using the WooCommerce email designer tool 👇

WooCommerce Custom Emails Per Product: 3 Ways to Set It Up

What Are Per-Product WooCommerce Emails?

A per-product WooCommerce email is an order communication that varies based on the specific item purchased, rather than sending every buyer the same default receipt.

It either adds product-specific content (a license key, setup PDF, or care instructions) to the standard order email or sends a separate email when a particular product, variation, or category is purchased.

Which of the three methods you use depends only on whether you need to add a line to the existing email or send a new email.

3 Ways to Send Custom Per Product Emails in WooCommerce

MethodCostNo-Code?Best For
Dedicated per-product add-onFree / paidYesAppending a simple message to a product's receipt. But it uses the same default WooCommerce email, which doesn't look branded or attractive.
Automation pluginFree / ProYesA separate designed/delayed email with beautiful templates, smart conditions and attractive coupons.
Code snippet (email hooks)FreeNoDevelopers who want exact control without any plugin weight.

Note: The native WooCommerce email settings only let you change global pieces, such as header image, footer text, base colors, and a single additional content block per email type. Those changes apply to every order.

There is no built-in way to vary content by product. The three methods below are the ones that actually work.

Method 1: Append a Message With a Dedicated Plugin (No-Code)

In this method, you write a message once, attach it to a product, and it appears in the order email whenever the product is purchased, without any design or sequence.

You can choose these plugins to do that:

  • WC Custom Emails Per Product: You create messages under a new custom emails menu, then on each product's edit screen you pick which message shows, in which order status email it appears, and where in the template (before/after the order table, after order meta, or after customer details). If two products in a single order share the same message, it appears only once.
  • Additional Custom Emails & Recipients for WooCommerce: The free version sends one custom email triggered by order status, with the option to fire only when certain products or categories are in the cart, and to send it later. It's good if you want a separate email rather than an appended line but don't need a full builder.

Make sure to install the plugin and follow these steps below:

Step 1: Add the custom email

Go to Custom Emails from the WordPress menu and click on 'Add New Custom Message'.

Go to the Custom Emails from the WordPress menu and click on 'Add New Custom Message'.

Create a message with your license text, download link, or care note. Plain HTML also works here.

Step 2: Assign the message to the product

Edit the product, find the new Custom Emails tab in the Product Data box, and assign the message.

Edit the product, find the new Custom Emails tab in the Product Data box, and assign the message.

Choose the order status (Processing / On-Hold / Completed) and the location inside the email.

Save, place a test order for that product, and confirm the note appears in the received email.

Save, place a test order for that product, and confirm the note appears in the received email.

This method is best for stores with a handful of products that each need a fixed instruction.

Here, the content is contained within the default template, so you're styling within WooCommerce's email skin, not designing a standalone email.

Note: If you want the message to look designed and still be product-aware, use a drag-and-drop email customizer. See the best email customizers here.

Method 2: Trigger a Full Custom Email Per Product With Automation

When you need a separate, beautifully designed email with relevant content for different products, an automation builder like FunnelKit Automations is the scalable answer.

FunnelKit Automations is a powerful WordPress marketing broadcast and automation CRM. You can build automated workflows in minutes using pre-built recipes, send broadcasts, get real-time insights, customize your emails with the drag-and-drop visual editor, and more.

Instead of appending a line to the receipt, you build a standalone email that fires on its own trigger, with conditions and timing.

Install FunnelKit Automations Pro to unlock more pre-built automations and advanced customization options - and send custom WooCommerce per-product emails.

FunnelKit Automations includes Free (Lite) and Pro (Premium) versions.

Step 1: Import the WooCommerce custom emails per product automation

Once the FunnelKit Automations plugin is installed, add a new automation to send your custom WooCommerce per-product emails.

Head to the Automations section and click on ‘Create Automation’.

creating a new automation

We have already created a WooCommerce post-purchase email sequence that allows you to contact customers when they purchase a specific product.

All you have to do is import it. As simple as that.

importing a new automation

You can see a preview of the automation.

Here, click on ‘Import’ and enter the name of your per-product email automation for WooCommerce.

naming the automation

Clicking on Create will add this automation to your workspace.

But wait; you must still tweak it to acclimatize to your needs.

Step 2: Configure the event trigger and set a delay to the email

Under the WooCommerce section, click on the ‘Order Created’ event and hit ‘Done’ to add it to your workflow.

Select order created event trigger

Since we want to do this after the purchase, we will tick Completed or Processing.

When the order is completed, i.e., when the customer receives the order, the automation will be triggered.

Selecting the order statuses for WooCommerce per product emails

Click on ‘Save’ when done.

Next, set the delay in minutes, hours, days, weeks, and months.

However, we will keep this WooCommerce per-product email sequence for 30 minutes. So, the automation will trigger 30 minutes after the order is delivered.

customizing the delay of 30 minutes

Click on 'Save' when done.

Step 3: Add conditions to send specific emails per product

Now, let’s tweak the conditions.

Click on Condition and add the product(s) on which you want to run your WooCommerce custom per-product email sequence.

You can choose any one of the three conditions:

  • Matches any of
  • Matches exactly
  • Matches none of

Now, add the product. After adding the product, click on ‘Save’.

adding a conditional product

Further, you need to define what happens when the condition is met and when it is not.

This WooCommerce per-product email sequence will run only when the defined product is purchased from the checkout page. Otherwise, you can set it as Exit.

If the condition is met, you can add an Action.

Step 4: Create your WooCommerce custom product-specific email

In this email, appreciate the customer’s purchase choice. Send them a video tutorial on how to unbox the item and what to remember before first use.

You can even send them a cross-selling email and recommend products that complement their purchase.

With FunnelKit Automations Pro, you get a drag-and-drop visual builder to create beautiful product-specific emails.

Select Visual Builder and click ‘Edit’ to start designing your emails.

Select visual builder and edit to customize woocommerce custom emails per product

You get access to various pre-designed email templates that you can import with a single click and customize as you please.

You can even create custom email templates for the WooCommerce store with your own branding and style.

There are email templates for every case, like abandoned carts, sales campaigns, product recommendations, transactional emails, winback emails, and more.

We’ll import the post-purchase education email template.

Pre-designed woocommerce custom emails per product templates

You can drag and drop your content blocks, such as headings, text, images, videos, and more, to make your emails look on-brand. 

You can add your business logo, change the background color, include pre-built layouts, and more.

Design beautiful woocommerce custom emails per product

👉 Learn how you can customize your WooCommerce emails here.

Hit 'Save' when done and activate your automation on your WooCommerce website.

Activate the woocommerce custom emails per product automation

This is how you can send your customers WooCommerce custom emails per product.

Sending Custom Emails Per Product Category to Customers in WooCommerce

Send per product category emails to your WooCommerce customers to offer product recommendations, custom order confirmation emails, and more.

Add the ‘Ordered Products Categories ' condition once you select the 'Order Created' event.

Add the ordered products categories section

Next, put the category name in the value field.

Specify the product category

Hit 'Save' once you're done.

Under the If-Yes condition, add the ‘Send Email’ action.

Add the send email action

Now, you can write your custom email for a specific product category.

Write the woocommerce custom emails per product

Click on ‘Save’ when done.

This is how to send your customers WooCommerce emails by product category.

Method 3: Add a Product-Specific Message With Code

If you're comfortable in PHP, WooCommerce's email hooks give you exact control with zero plugin overhead. It hooks into the order email, loops through the line items, checks whether the target product (or variation or category) is present, and prints your content.

Drop these into a child theme's functions.php, a small site-specific plugin, or the Code Snippets plugin.

Trigger by product ID

This appends a message to the customer's email only when a specific product is in the order.

woocommerce_email_order_details fires inside the order email and hands you the order object, the $sent_to_admin flag, and the email object, so you can scope it to customer emails and to a single email type.

add_action( 'woocommerce_email_order_details', 'fk_product_specific_email_note', 20, 4 );

function fk_product_specific_email_note( $order, $sent_to_admin, $plain_text, $email ) {

    // Only the customer's "Processing" email, not admin copies.
    if ( $sent_to_admin || 'customer_processing_order' !== $email->id ) {
        return;
    }

    $target_product_id = 1234; // Replace with your product ID.

    foreach ( $order->get_items() as $item ) {
        if ( (int) $item->get_product_id() === $target_product_id ) {

            if ( $plain_text ) {
                // Plain-text version of the email — no HTML tags.
                echo "\nYour setup guide\n";
                echo "Thanks for buying the Pro Course. Download your starter kit here: https://example.com/starter-kit\n";
            } else {
                echo '<div style="padding:16px;margin:16px 0;border:1px solid #e2e2e2;border-radius:6px;">';
                echo '<h3 style="margin:0 0 8px;">Your setup guide</h3>';
                echo '<p>Thanks for buying the Pro Course. Download your starter kit here: '
                   . '<a href="https://example.com/starter-kit">example.com/starter-kit</a></p>';
                echo '</div>';
            }

            break; // Print once even if quantity > 1.
        }
    }
}

Swap customer_processing_order for customer_completed_order, customer_on_hold_order, or customer_invoice depending on which email should carry the note.

Hooking into the wrong status is the number-one reason these snippets don't work (we've covered troubleshooting later in this article).

Trigger by variation, category, or order value

The same loop covers the fan-out cases people ask about variation, category, and order-value targeting:

add_action( 'woocommerce_email_order_details', 'fk_advanced_email_conditions', 20, 4 );

function fk_advanced_email_conditions( $order, $sent_to_admin, $plain_text, $email ) {

    if ( $sent_to_admin || 'customer_completed_order' !== $email->id ) {
        return;
    }

    $target_variation_id = 5678;        // Specific variation.
    $target_category_slug = 'fragile';  // Category slug.
    $high_value_threshold = 200;        // Order total in store currency.

    $lines = array(); // Collect matched messages as plain strings.

    foreach ( $order->get_items() as $item ) {

        // By variation ID (returns 0 for simple products, so this self-skips).
        if ( $item->get_variation_id() && (int) $item->get_variation_id() === $target_variation_id ) {
            $lines[] = 'This variation ships with a 2-year extended warranty.';
        }

        // By product category.
        if ( has_term( $target_category_slug, 'product_cat', $item->get_product_id() ) ) {
            $lines[] = 'One or more items are fragile — please inspect on delivery.';
        }
    }

    // By order value.
    if ( (float) $order->get_total() >= $high_value_threshold ) {
        $lines[] = 'As a VIP order, you qualify for priority support. Just reply to this email.';
    }

    // De-duplicate so shared conditions don't repeat.
    $lines = array_unique( $lines );

    if ( empty( $lines ) ) {
        return;
    }

    if ( $plain_text ) {
        echo "\n" . implode( "\n", $lines ) . "\n";
    } else {
        echo '<div style="padding:16px;margin:16px 0;background:#f7f7f7;border-radius:6px;">';
        foreach ( $lines as $line ) {
            echo '<p>' . esc_html( $line ) . '</p>';
        }
        echo '</div>';
    }
}

Use get_variation_id() for variable products (it should not be the parent product ID), has_term() against the product_cat taxonomy for categories, and collect matched messages in an array so multiple conditions don't print stacked boxes.

Both snippets also branch on $plain_text so the note renders cleanly in the plain-text copy of the email, not just the HTML version.

For attribute-based logic (pickup vs. delivery, say), this filter rewrites the "Additional content" block rather than appending a new one:

woocommerce_email_additional_content_customer_completed_order 

This method is best for developers who want the exact control. The only limits are that there is no UI, logic errors fail silently, and you own maintenance when WooCommerce updates its templates.

Send By Category vs. Variation vs. Single Product: Which Condition to Use?

People often target the wrong layer and wonder why the email misfires. Here's the quick guide:

  • Single product ID: Use when exactly one SKU needs the message (example, a specific course or device). Most precise, most common.
  • Variation ID: Use when only one option of a variable product requires it (example, the “XL” size ships with a different care note than “S”). Check get_variation_id(), not the parent product ID.
  • Category: Use when a group shares the message (everything in Fragile, Downloadable, or Perishable). Saves you from re-tagging every new product individually.
  • Order Value: Use for VIP or threshold-based perks rather than item identity.

In code, those are get_product_id(), get_variation_id(), has_term( …, 'product_cat', … ), and $order->get_total() respectively. In an automation builder or customizer, they're condition dropdowns.

Troubleshooting: Why Your Per-Product Email Isn't Sending

  • Wrong order-status hook

The email is wired to Completed, but your orders sit in Processing (or vice versa). Confirm the actual status the order reaches and match the hook/trigger to it. This is the most common culprit.

  • Condition mismatch

The code checks get_product_id() but the buyer purchased a variation; or the category slug is misspelled; or the rule targets the parent when it should target the variation. Add a temporary error_log() to see which branch runs.

  • It's only the admin copy

Forgetting the $sent_to_admin guard can cause content to appear (or not) in the wrong recipient's email.

  • Cron isn't firing

Delayed/automation emails depend on WP-Cron. On low-traffic sites, set up a real server cron so scheduled sends actually trigger.

  • Conflicting plugins

Two email tools (a customizer plus an automation plugin) can collide. Deactivate non-essential plugins and retest, and switch to a default theme like Storefront to rule out theme conflicts.

  • Deliverability, not logic

If the log shows the email was sent, but it never arrived, the problem is the spam filter. Go back to the deliverability checklist above.

  • Outdated platform

An outdated WooCommerce or plugin version (pre-HPOS, for example) can break access to order data. Update everything and retest.

10 High-Converting Custom Per Product Email Ideas

Customizing WooCommerce emails for individual products lets you connect with customers personally, enhancing their shopping experience and boosting your brand’s reputation. 

Below are detailed examples of the types of per-product emails you can send and how they can benefit your business.

1. Product usage tutorials

Some products need to be handled with care when first used. 

That’s why, in such cases, you can send an email that educates the customer on how to unbox the item, set it up, and use the product effectively.

Other examples include table lamps, razors, and beard trimmers.

2. Review collections

Reviews and testimonials are a trust seal for prospective buyers.

According to Globe Newswire, 93% of buyers say reviews and testimonials are convincing in their buying decisions.

Set up a review-collection email sequence and ask what they like, what they don’t like, whether the product matches their expectations, and more.

3. Upsell and cross-sell recommendations

You can upsell and cross-sell your products to customers who recently purchased from your store.

For example, if someone has bought shoes, you can set up a product-recommendation email sequence to cross-sell shoe polish, socks, and other related items.

Customize these cross-selling emails per product by sending a dynamic discount coupon to incentivize their next purchase.

4. Styling or use-case tips

Show customers how to incorporate their new product into their lifestyle. Include visuals, such as photos or a video demonstrating the tips.

For example, share styling tips, such as "5 Ways to Wear Your New Jacket", for a clothing item.

This helps inspire creativity, build a stronger connection with your brand, and encourage customers to return to your store for more.

5. Maintenance and care instructions

This WooCommerce custom email per product helps customers care for their purchases to improve durability. 

For example, send cleaning and polishing instructions for leather shoes. Provide frequently bought together items for the cleaning kits you sell.

This reduces product complaints and returns. Additionally, it positions your brand as thoughtful and customer-focused.

6. Exclusive offers or discounts

Reward customers with personalized incentives to encourage future purchases, boost sales, and build customer loyalty.

Let’s say a customer bought a premium blender; you can offer a 15% discount for smoothie recipe books or kitchen accessories.

7. Winback emails

If you sell consumable products, you must implement a WooCommerce custom per-product email sequence, as there is a high chance your customers will forget about the products and may need a push to buy from you again.

This is where a winback campaign can work wonders.

8. Milestone emails

Celebrate significant moments to keep your brand top of mind with your customers.

Let’s say a customer purchased a coffee machine 6 months back; send an email saying, “It’s been six months since you bought your coffee machine! Here are some exciting coffee recipes you might enjoy.”

This helps strengthen the relationship with your customers and encourages continued product use and potential repurchases.

9. Product recall or important notices

Ensure customers are aware of critical updates or product recalls.

For example, "We've identified a minor issue with the power adapter you recently purchased from us. Here's how we're resolving it".

This demonstrates responsibility and accountability. Plus, it protects your brand's reputation in the event of any product issue.

10. Personalized thank you emails

Express gratitude for their purchase with a personal touch. Include tips in your WooCommerce custom email per product for maximizing an item’s productivity.

For example, thank customers for purchasing your handmade candles and how they can bring warmth and relaxation to their homes.

Deliverability Guide for Custom Emails

A perfectly targeted email is useless in the spam folder. Few competing guides cover this, so it's worth doing right:

  • Send via SMTP, not PHP mail: The default WordPress wp_mail() is unauthenticated and frequently flagged. Use an SMTP plugin connected to a real sending service (your host's relay, SendGrid, Brevo, Amazon SES, etc.).
  • Authenticate your domain: Set up SPF, DKIM, and DMARC records so mailbox providers trust mail from your store.
  • Use a real from-address on your domain: Sending as [email protected] rather than wordpress@server-hostname improves trust and reply handling.
  • Log what you send: Install a mail-logging plugin to confirm that an email was actually generated and dispatched before blaming the inbox.
  • Test against a seed inbox: Before going live, send to Gmail, Outlook, and Yahoo addresses and check placement. Keep image weight modest and always include a text fallback.

Check out our complete guide to fixing the WooCommerce email not sending issue.

Frequently Asked Questions

Yes, you can send a custom email per product for free. The code snippet (Method 3) is free, and several add-ons, including the free tiers of WC Custom Emails Per Product, Additional Custom Emails & Recipients, and Kadence, cover the basics.

Scheduling, visual design, and advanced conditions are usually paid.

Yes, this works for subscription, downloadable, and variable products. Trigger on the product type, the specific product ID, or the variation ID. Downloadable products are the classic use case (deliver the file link), and variable products are handled via the variation ID.

Yes, you can notify a supplier or a different admin when a specific product sells. Route the recipient by product either with an automation action that emails a custom address when the product condition matches, or with a plugin like Additional Custom Emails & Recipients that supports per-product recipients.

No, this won't break the default WooCommerce order emails. The append and code methods add to or run alongside the standard emails; the automation method sends a separate email entirely. Your default receipts keep working.

Editing the template (native settings, MailPoet, a customizer) changes the design or text for all orders. A per-product email changes the content or sending based on what was actually bought.

  • Custom emails provide information specific to the product purchased, such as care guides, installation steps, or warranty coverage. This helps enhance customer satisfaction and reduce post-purchase support queries.
  • Improve customer satisfaction and trust by offering instructional tutorials, troubleshooting guides, or direct links to support pages that show customers you care about their experience. This helps them trust your business and provides them with valuable, targeted information.
  • Suggest related products that complement the customer's purchase, along with attractive, personalized offers to encourage repeat purchases.
  • These emails provide consistent, relevant communication that keeps you top of mind with customers and encourages repeat business.
  • Sending per-product emails with care instructions, warranties, and FAQs reassures customers about their purchase decision. For example, an email with assembly instructions and care tips will be helpful for high-ticket items like furniture.
  • Tailored emails with product-specific content are more likely to resonate with customers, increasing the likelihood of repeat purchases.

Skyrocket Your Sales with WooCommerce Custom Emails Per Product!

Sending product-specific emails is a proven way to improve engagement, nurture relationships, and drive repeat sales.

By delivering tailored content, exclusive offers, and relevant follow-ups, you enhance the customer experience and create opportunities for upselling, cross-selling, and building long-term loyalty.

The three methods map cleanly to three needs: append a fixed note with a dedicated add-on, target precisely with a code snippet, or trigger a designed, scalable email with automation.

Match the method to your store: most stores need Method 1, and growing stores move to Method 2.

Make sure to run a test order and confirm deliverability before you go live.

If you’re ready to send standalone, product-triggered emails with conditions and timing rather than a single appended line, FunnelKit Automations handles it without code.

Related Blogs
How to Send WooCommerce Canceled Order Email to Customer

Editorial Team

How to Send WooCommerce Canceled Order Email to Customer

Discover how a canceled order doesn't have to mean a lost customer, and how the right WooCommerce canceled order email can turn it into a second chance. WooCommerce canceled order...

WooCommerce HubSpot Integration - FunnelKit

Editorial Team

WooCommerce HubSpot Integration: 5 Best Tools Compared (2026)

Choosing the right WooCommerce HubSpot integration is harder than it looks because HubSpot has no first-party WooCommerce sync and every third-party option handles data differently. Pick the wrong connector and...

WooCommerce Post Purchase Email - FunnelKit

Editorial Team

How to Send WooCommerce Post-Purchase Emails to Drive Repeat Sales

WooCommerce post-purchase emails are automated messages sent to customers after they complete an order. They cover everything from order confirmations and shipping updates to review requests, product tips, and next-purchase...

Published by: Editorial Team
The Editorial Team at FunnelKit (formerly WooFunnels) is a passionate group of writers and copy editors. We create well-researched posts on topics such as WordPress automation, sales funnels, online course creation, and more. We aim to deliver content that is interesting and actionable.
Thank you for reading. Stay connected with us on the Facebook group, X (Twitter), LinkedIn and YouTube channel for more tips to help grow your business.
Join Over 40,300+ Sellers Increasing Profits with FunnelKit! 🚀
Join FunnelKit
FunnelKit Checkout gives you beautiful, ready-to-use WooCommerce checkout templates, embed order forms, one-page checkouts, and more.
Join FunnelKit
Related Blogs
How to Send WooCommerce Canceled Order Email to Customer

Editorial Team

How to Send WooCommerce Canceled Order Email to Customer

Discover how a canceled order doesn't have to mean a lost customer, and how the right WooCommerce canceled order email can turn it into a second chance. WooCommerce canceled order...

WooCommerce HubSpot Integration - FunnelKit

Editorial Team

WooCommerce HubSpot Integration: 5 Best Tools Compared (2026)

Choosing the right WooCommerce HubSpot integration is harder than it looks because HubSpot has no first-party WooCommerce sync and every third-party option handles data differently. Pick the wrong connector and...

WooCommerce Post Purchase Email - FunnelKit

Editorial Team

How to Send WooCommerce Post-Purchase Emails to Drive Repeat Sales

WooCommerce post-purchase emails are automated messages sent to customers after they complete an order. They cover everything from order confirmations and shipping updates to review requests, product tips, and next-purchase...

Ready to Transform Your Store?
Join 40,300+ successful store owners who trust FunnelKit to power their businesses.
Conversion Optimized Checkout Pages
Increase Revenue with Smart Upsells
Capture Emails & Recover Abandoned Carts
Automate Winbacks & Repeat Sales
988+ 5 star reviews on WordPress.org
Transform your store to power your business with FunnelKit
🚀 Maximize Your Profit with FunnelKit – Highest Rated with 988+ 5-Star Reviews
Get Started