FunnelKit
FunnelKitBlogs

WooCommerce Order Notes: The Complete Guide for Store Owners & Developers

Updated:  Aug 12, 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 Order Notes: The Complete Guide for Store Owners & Developers

Imagine a courier who is stuck at a customer's gate with a flower delivery. The gate code was typed into the WooCommerce order notes three days ago, but nobody put it on the shipping label!

That single missed note costs you time, double shipping fees, and a customer support headache.

The frustrating part? The instruction that would have prevented it all was already in your system.

There are three different types of order notes in WooCommerce, and they all behave differently.

Customers write them at checkout, your team writes them privately in the dashboard, and WooCommerce writes them automatically to track stock or payment updates.

However, only one of the three ever reaches the buyer, which is where most stores get caught out.

In this guide, we'll walk through where each type lives, how to add and edit them, and how to control the checkout notes field on both block and classic checkout using settings, code, or a plugin.

We will also cover the emails WooCommerce does not send, how to work with notes programmatically, and why they disappear after a migration.

Short on time? Watch the video 👇

WooCommerce Order Notes: The Complete Guide for Store Owners & Developers

What Are Order Notes in WooCommerce?

Order notes in WooCommerce are the running log of a single order, sitting in the right-hand column of the order edit screen.

Some entries are written by your customer, some by your team, and most by WooCommerce itself.

The distinction that matters operationally is not who wrote the note. It’s who can read it.

1. Customer notes (added at checkout)

These are written by buyers in the checkout order notes field.

For example, it can read like, "Birthday gift - please gift wrap and don’t include the price. Delivery Friday if possible.”

It’s stored on the order itself rather than in the notes log. It surfaces in three places:

  • Customer-provided note box on the order edit screen
  • Admin New Order email
  • Order details page in My Account

Unlike the other types, it stays editable after the fact.

2. Private notes (internal, admin-only)

Anything your team adds and marks as a private note.

Nobody outside your dashboard ever sees these (not the customer, not the order confirmation email and not the My Account page).

For example, “Gift wrap confirmed with warehouse. Invoice removed from parcel.”

That note stops the packing team from dropping a receipt with the price on it into a birthday gift.

3. System-generated notes

These are written automatically by WooCommerce.

Status changes, stock updates, and payment gateway responses land here.

For example, "Stock levels reduced: Vitamin C Serum 40→39 · Payment approved (Transaction ID: pi_3Q7…)" · Order status changed from Pending payment to Processing.

Read them before you email a customer about a problem.

9 out of 10 times, the reason an order is stuck is written in a system note nobody opened.

Color codes and visibility

The fastest way to know if a note is safe to type in is by checking its background color in the dashboard panel:

Note typeBackground color in the panelCustomer can see it or notSends an email
Private notePlain greyNoNo
System noteMauve or pink tintNoNo
Note to customerBlue tintYes, in My Account under Order updatesYes, if enabled
Customer provided noteShown above the order details, not in the panelYes, it is their own textNo

Colors might look slightly different depending on your WordPress admin color scheme.

However, the rule remains: Grey is internal, Tinted is automatic, and Blue goes to the customer.

woocommerce order notes - color codes and visibility

Where to Find the Order Notes Panel in Your Dashboard?

Go to WooCommerce ⇨ Orders, open any order, and look at the right-hand column.

If your store runs High-Performance Order Storage (HPOS), the screen looks exactly the same.

Go to WooCommerce ⇨ Orders, open any order, and look at the right-hand column to find order notes

The panel lists the newest notes at the top with a timestamp.

Because there is no search bar for this specific panel, if an order has 30+ system notes, you will need to use your browser's "Find" feature (Ctrl+F or Cmd+F) to locate specific details.

If the panel is missing entirely, skip down to our troubleshooting section, which is usually a plugin conflict.

How to Add an Order Note (Private or Customer-Facing)

Adding a manual note takes just three clicks.

Open the order in WooCommerce ⇨ Orders.

In the Order notes panel, type your message into the 'Add note' box.

add note to customer from wordpress dashboard

Select either 'Private note' or 'Note to customer' from the dropdown menu, then click Add.

    Choosing the dropdown correctly is critical. For example, on this order, “Free gift added” should go in as Private.

    But “We will be sending a free gift along with your order as a thank you!” should go in as a Note to customer because it directly answers the buyer's question.

    Pro Tip: Always place a test order on your store and send yourself a "Note to customer" to ensure your emails are actually turning on and delivering!

    The Checkout Notes Field: Block Checkout vs Classic Checkout

    A lot of advice regarding order notes is out of date.

    Since WooCommerce 8.3, new stores use the Checkout Block by default. Order notes behave very differently here than they do in the older Classic checkout.

    To check which version you have, go to WooCommerce → Pages and view your designated checkout page.

    If you see a [woocommerce_checkout] shortcode, you are on Classic. If you see a visual Block editor, you are on Blocks.

    Where the field lives in the block checkout

    Inside the Checkout block, there is an inner block called "Additional information".

    If you click the Checkout block in your editor, you will see a simple toggle switch for order notes in the right-hand settings sidebar.

    Please note that the Block checkout uses React. This means old PHP code snippets designed to hide or change the checkout field will not work.

    Where the field lives in the classic checkout

    In the classic version, the field sits under the "Additional information" heading below the billing and shipping addresses.

    This version does respond to classic PHP filters like woocommerce_enable_order_notes_field.

    where the order notes field lives in the block and classic checkout

    How to Remove, Rename or Require the Checkout Notes Field

    Many store owners want to hide this box to keep checkout clean.

    Try these three methods, in order:

    Method 1: Native block settings (no code)

    If you use the Block checkout, edit your Checkout page, click on the Checkout block, and simply turn off the order notes toggle in the right sidebar.

    Click Update. You are done!

    Method 2: Code snippet (classic checkout)

    If you are on the Classic checkout, you can remove the field completely by adding this to your child theme’s functions.php or a code snippets plugin:

    add_filter( 'woocommerce_enable_order_notes_field', '__return_false' );

    To rename it, change the placeholder, or make it mandatory instead of removing it:

    add_filter( 'woocommerce_checkout_fields', 'mystore_customize_order_notes_field' );
    
    function mystore_customize_order_notes_field( $fields ) {
    	$fields['order']['order_comments']['label']       = 'Delivery instructions';
    	$fields['order']['order_comments']['placeholder'] = 'Gate code, safe place, or gift message';
    	$fields['order']['order_comments']['required']    = true;
    	return $fields;
    }

    WooCommerce has no native setting for making order notes required, so a filter or a field editor is the only route.

    Make sure to think hard before you take it.

    An optional field costs the buyers who ignore it nothing.

    A required one puts a text box between every customer and the Place Order button to serve the small share of orders that need special handling.

    Method 3: Checkout field editor plugin

    If you want to move the field around, show it conditionally, or completely overhaul your checkout page, you will want a checkout field editor plugin.

    FunnelKit’s powerful checkout builder is perfect for this if you are already looking to optimize and boost conversions on the whole page.

    Just edit your checkout. Under the Advanced section on the right side, you will find the field “Order Notes”.

    Simply drag and drop the order note to your checkout form. 

    drag and drop order notes to WooCommerce checkout page

    After adding the field, you can also change the order by simply dragging the field.

    change order of order note field on WooCommerce checkout page

    Set the label and placeholder for order notes.

    How to Edit or Delete an Existing Order Note

    WooCommerce handles customer notes and admin notes differently:

    • Customer notes are editable

    On the order edit screen, click the pencil icon next to the Billing/Shipping details box.

    A "Customer provided note" text box will appear. Correct the text and click Update.

    It's great for when a buyer emails you a typo in their delivery instructions.

    • Admin notes are delete-only

    You cannot edit a note you or the system created.

    Hover over any note in the panel, and a red Delete note link will appear.

    If you make a typo, you have to delete it and write a new one.

    Edit or Delete an Existing Order Note

    Deleting a "Note to customer" does not unsend the email. Once you click Add, that email is gone.

    Also, never delete system notes. They are your audit trail and your best defense against chargeback disputes!

    Order Note Emails: What WooCommerce Sends by Default

    By default, WooCommerce only has one order note email: Customer note.

    You can verify it is turned on at WooCommerce ⇨ Settings ⇨ Emails ⇨ Customer note.

    manage customer note

    Private notes and system notes never trigger an email.

    If you want an internal alert for a failed payment or fraud flag, you need an automation tool, not a basic email setting.

    Next, check the option 'Enable this email notification'. 

    enable customer note email from WooCommerce email settings

    You can also customize the subject, email heading, and additional content. 

    Make sure to hit Save Changes. 

    Now, whenever the store admin adds a note for customers, she/he will receive an email about the note. 

    The default email usually includes a note along with the related order details. 

    Here is a preview of default WooCommerce customer order note emails. 

    default WooCommerce order note email

    While you can add a logo and change the color of the Base, Background and ‎Body text, you can’t change the layout of this customer note email.

    Sending custom order note emails automatically

    The default WooCommerce customer note email is incredibly basic.

    It drops your text into a plain template with no product images, no tracking links, and no order summary.

    Because customers open these emails at a very high rate, you should upgrade them. You can use a powerful tool like FunnelKit Automations to listen for the woocommerce_new_customer_note event.

    When a note is added, FunnelKit can automatically send a beautifully branded email pulling in the note text, the product image, order details, and tracking links.

    Navigate to FunnelKit Automations ⇒ Emails and then click on Customer Note Added email.

    navigate to FunnelKit Automations ⇒ Emails and then click on Customer Note Added email.

    Now, let’s set up the email subject and preview. You can use a merge tag to personalize the subject and preview text. 

    Now, let’s set up the email subject and preview. You can use a merge tag to personalize the subject and preview text. 

    We highly recommend using Visual Builder to design your email. In the email, you can use the merge tag “Current Order Note” to embed the order note. 

    Here is an email designed with the Visual Builder. 

    custom WooCommerce order note email

    Guide: To learn more details, read our blog on WooCommerce email customizer.

    After making the changes, make sure to save the email template. 

    Turn the toggle button on the top-right corner to activate this email.

    Once you activate it, customers will receive an email notification about the order note.

    Including the customer’s note in their receipt

    By default, the customer's checkout note only appears in your admin email, not their receipt.

    Echoing their instructions back to them builds trust.

    Add this snippet to show it on their confirmation:

    add_action( 'woocommerce_email_order_meta', 'mystore_show_customer_note_in_email', 10, 3 );
    
    function mystore_show_customer_note_in_email( $order, $sent_to_admin, $plain_text ) {
    	if ( $sent_to_admin || ! $order->get_customer_note() ) {
    		return;
    	}
    	echo '<h3>Your note to us</h3><p>' . wp_kses_post( nl2br( esc_html( $order->get_customer_note() ) ) ) . '</p>';
    }

    For the wider template, see our breakdown of the order confirmation email.

    Adding Order Notes Programmatically (Developer Reference)

    Most order notes on a busy store are actually generated by code like fulfillment scripts or gateway webhooks.

    The second parameter in the function controls whether an email is sent. If you get it wrong in a bulk loop, you could accidentally email 500 customers at once!

    add_order_note() and wc_get_order_notes()

    Adding a note via code is a simple one-liner. Set the second parameter to 1 to trigger the customer email:

    $order = wc_get_order( 4821 );
    
    // Private note.
    $order->add_order_note( 'Gift wrap confirmed with warehouse. Invoice removed from parcel.' );
    
    // Note to customer — this emails the buyer.
    $order->add_order_note( 'Your gift is wrapped and dispatching Friday.', 1 );

    add_order_note() returns the note ID.

    The procedural equivalent, useful when you only have an order ID, is wc_create_order_note( $order_id, $note, $is_customer_note, $added_by_user ).

    To read notes back:

    $notes = wc_get_order_notes( array(
    	'order_id' => 4821,
    	'type'     => 'customer', // 'customer', 'internal', or omit for all.
    ) );
    
    foreach ( $notes as $note ) {
    	echo esc_html( $note->date_created->date( 'Y-m-d H:i' ) . ' — ' . $note->content );
    }

    Each note object exposes id, date_created, content, customer_note, and added_by.

    Delete with wc_delete_order_note( $note_id ).

    Useful hooks and filters

    HookFires whenTypical use
    woocommerce_new_customer_noteA customer-facing note is addedTrigger a designed email, SMS, or helpdesk ticket
    woocommerce_order_note_addedAny note is added (passes $note_id, $order)Mirror notes to Slack or an ERP
    woocommerce_enable_order_notes_fieldClassic checkout rendersRemove the checkout notes field
    woocommerce_checkout_fieldsClassic checkout builds its fieldsRename, reorder, or require order_comments
    woocommerce_email_order_metaOrder emails renderPrint the customer note into the email body
    add_action( 'woocommerce_new_customer_note', 'mystore_handle_customer_note' );
    
    function mystore_handle_customer_note( $args ) {
    	$order = wc_get_order( $args['order_id'] );
    	$text  = $args['customer_note'];
    	// Push to Slack, log to a CRM, queue an SMS.
    }

    The order notes REST API endpoint

    Notes have their own REST namespace under each order, which is how external systems, such as a 3PL, a helpdesk, and a custom dashboard.

    Write to the order log:

    GET    /wp-json/wc/v3/orders/4821/notes
    POST   /wp-json/wc/v3/orders/4821/notes
    GET    /wp-json/wc/v3/orders/4821/notes/<note_id>
    DELETE /wp-json/wc/v3/orders/4821/notes/<note_id>?force=true

    POST body:

    {
      "note": "Parcel scanned at depot. Tracking: AB123456789.",
      "customer_note": true
    }

    Deletes require force=true because notes aren’t trashable.

    For complete details, go to the WooCommerce REST API order notes reference.

    HPOS database changes

    Even if your store has upgraded to High-Performance Order Storage (HPOS) and moved order data to wp_wc_orders, order notes did not move.

    They still live in the old wp_comments table with comment_type = 'order_note'.

    Because of this, anti-spam comment plugins can sometimes accidentally delete your order notes!

    Order Notes on Packing Slips and Invoices

    • Packing Slips

    A note like "Gate code 4471" does your warehouse no good if it only lives in your dashboard.

    Use a tool like PDF Invoices & Packing Slips to automatically print customer notes directly onto the physical packing slip.

    Print it on the slip, not the invoice, so the person actually packing the box sees it.

    • Exporting

    WooCommerce doesn't natively let you export order notes.

    If you need them in a spreadsheet, use the REST API, an export plugin like Advanced Order Export, or pipe them live into Google Sheets using an automation tool.

    With the WooCommerce order note field on the checkout page, customers can add important order or delivery details. 

    For instance, if they need the delivery to be made at a certain time because they won’t be available otherwise, they can specify it here.

    Best Plugins for Managing Order Notes

    You don't need a plugin for basic note management, but these are the best options if you want to level up:

    ToolBest forCost
    Native WooCommerce + a code snippetRemoving, renaming, or requiring the checkout fieldFree
    FunnelKit AutomationsDesigned, branded emails triggered by the customer note eventFree plan; Pro starts at $99.50/year
    Checkout Field Editor (ThemeHigh)Visual control of the notes field, conditional display, reorderingFree core; Pro starts at $49/year
    PDF Invoices & Packing Slips (WP Overnight)Printing the customer note onto packing slipsFree core; Paid tier starts at €69/year
    Advanced Order Export (AlgolPlus)Exporting notes alongside order data to CSV/XLSFree core; Pro plan starts at $30/year

    If your only requirement is removing the Additional information box, row one is the honest answer.

    Installing a plugin for a one-line filter is a maintenance cost you don’t need.

      Frequently Asked Questions

      Can I just make the order notes field required?

      There is no native setting for it. Set required to true on the order_comments field through the woocommerce_checkout_fields filter, or use a field editor that exposes validation.

      Consider whether you should, since a required field on an optional request adds friction to every order to catch a handful.

      How do I export order notes?

      Core order export leaves them out. Notes sit in wp_comments with a comment type of order_note, so you need an export tool that reads that table or a custom query using wc_get_order_notes().

      Can I search or filter orders by their notes?

      Not from the default orders list. WPC Order Notes adds a searchable view.

      On larger stores, a direct query against wp_comments filtered by order_note will beat any plugin on speed.

      Why aren’t my order notes showing?

      Usually a comments plugin is filtering them out, since notes are stored in wp_comments.

      Other causes include a migration that skipped the comments table, trimmed user capabilities, or a caching layer serving a stale admin page.

      Start Using WooCommerce Order Notes For Efficient Order Management!

      Order notes are the easiest, cheapest communication channel in WooCommerce, yet they are heavily underutilized.

      Every order already has a logbook. You just need to start using it effectively.

      Start by cleaning up your checkout field so you only gather info you actually need.

      Then, take the notes you send to buyers and turn them into beautiful, automated emails that include their tracking numbers and order data.

      A powerful tool like FunnelKit Automations handles this perfectly, turning a basic system alert into a branded customer service win.

      Related Blogs
      WooCommerce Order Attribution - FunnelKit

      Editorial Team

      WooCommerce Order Attribution: Everything You Need to Know

      WooCommerce order attribution tells you where your orders come from. Out of the box, no extra plugin needed. But the built-in report only tells half the story, crediting whichever click...

      How to Add WooCommerce Cart Icon to Menu Bar

      Editorial Team

      How to Add WooCommerce Cart Icon to Menu Bar

      Have you ever noticed the cart icon at the top of many online stores? It’s more than just a design choice. It can greatly improve your customers' experience. A cart...

      WooCommerce Frequently Bought Together - FunnelKit

      Editorial Team

      WooCommerce Frequently Bought Together: 4 Placements That Increase AOV

      WooCommerce frequently bought together offers are one of the easiest ways to increase revenue on a product page. Think about the counter at a kitchen appliance store. Let's say someone...

      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
      WooCommerce Order Attribution - FunnelKit

      Editorial Team

      WooCommerce Order Attribution: Everything You Need to Know

      WooCommerce order attribution tells you where your orders come from. Out of the box, no extra plugin needed. But the built-in report only tells half the story, crediting whichever click...

      How to Add WooCommerce Cart Icon to Menu Bar

      Editorial Team

      How to Add WooCommerce Cart Icon to Menu Bar

      Have you ever noticed the cart icon at the top of many online stores? It’s more than just a design choice. It can greatly improve your customers' experience. A cart...

      WooCommerce Frequently Bought Together - FunnelKit

      Editorial Team

      WooCommerce Frequently Bought Together: 4 Placements That Increase AOV

      WooCommerce frequently bought together offers are one of the easiest ways to increase revenue on a product page. Think about the counter at a kitchen appliance store. Let's say someone...

      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
      996+ 5 star reviews on WordPress.org
      Transform your store to power your business with FunnelKit
      🚀 Maximize Your Profit with FunnelKit – Highest Rated with 996+ 5-Star Reviews
      Get Started