FunnelKitBlogs

The Ultimate WooCommerce Order Status Guide: Basic Understanding and Action Elements [2025]

Updated: 
March 7, 2025
By 
Editorial Team
Technical Writer
The Ultimate WooCommerce Order Status Guide: Basic Understanding and Action Elements [2025]

Imagine a customer makes a purchase, but instead of the order smoothly processing through your system, it gets stuck in “Pending Payment” or “On Hold” indefinitely.

You’re checking your settings and constantly refreshing your dashboard, but nothing changes. Meanwhile, your customer is waiting and getting impatient.

WooCommerce order status provides crucial information about the progress of an order from the time it gets placed to when it’s delivered.

These order statuses effectively streamline business operations, enhance customer experience, and monitor revenue.

But when statuses don’t update correctly, it creates confusion, delays shipments, and even results in lost revenue. Payment processing status issues, misconfigured settings, and custom order status not working can all be to blame.

The good news is that you can take control of everything. FunnelKit has helped thousands of store owners optimize their checkout and order management process.

In this guide, we’ll break down the default WooCommerce order status and explain how orders are processed.

Furthermore, we’ll expand on effective order management and how you can create custom order statuses to streamline your operations and boost efficiency.

What is WooCommerce Order Status and Why It’s Important?

WooCommerce order status refers to distinct stages through which an order gets processed within WooCommerce.

It represents the current stage of an order that provides information about its processing and fulfillment phase.

These statuses convey the progress of an order from the moment it gets placed to the time it gets delivered to the customer.

To check an order status, navigate to WooCommerce ⇨ Orders.

The orders placed in your store, along with their statuses, will show up like this:

WooCommerce orders

The WooCommerce order statuses help store owners, managers, and customers by:

  • Helping the staff to keep track of all orders in the fulfillment process
  • Keeping customers informed of the progress of their purchases

Let’s look at their importance:

Importance of Order Statuses in WooCommerce

Order statuses in WooCommerce play an important role in managing the e-commerce workflow.

  • Order tracking: It helps merchants track the progress of each order from placement to fulfillment, providing critical information to store owners and customers. These statuses enable you to identify potential issues and bottlenecks in the fulfillment process and resolve them promptly.
  • Customer communication: These statuses help reduce the number of inquiries and improve customer satisfaction by keeping customers informed about their orders.
  • Inventory management: WooCommerce order status helps track when products are sold and need restocking, facilitating accurate stock-level maintenance.
  • Reporting and analytics: These order statuses allow businesses to analyze order flow and performance. This data helps identify trends and areas for improvement in business processes.
  • Automations: These statuses allow for the automation of various processes, such as sending emails when order status changes and streamlining the fulfillment process. You need a perfect WooCommerce CRM to set up automations in your store.

Overall, WooCommerce order status is a powerful tool that enhances communication, streamlines operations and provides valuable insights for your business.

Understanding the Default WooCommerce Order Statuses

WooCommerce provides default order statuses in its order fulfillment process. Here is the complete WooCommerce order status list below:

  • Pending payment
  • Processing
  • On hold
  • Completed
  • Cancelled
  • Refunded
  • Failed
  • Draft

Let’s look at them one by one.

1. Pending payment

An order with “Pending payment” comes when a customer has started the purchase process on the checkout page, but the payment is still waiting to be confirmed.

This is common for orders using manual or offline payment methods like bank transfer or check payments, which take time to process.

Effective action:

You can contact your customers to confirm their payment method and provide clear instructions (if needed).

Check the WooCommerce order status page to track updates and manage the fulfillment process efficiently.

2. Processing

The WooCommerce processing status is marked with the order when it’s successfully placed, and the payment has been completed.

The order is now being prepared for shipping or fulfillment. This status comes right after the pending, exhibiting progress of the order. 

Effective action:

As orders move to the processing state, you can start fulfilling the order and get them ready for delivery.

Make sure to provide regular updates to customers about the shipment process for their orders.

3. On hold

Orders may get the “On hold” status when they are temporarily paused for reasons like awaiting manual verification, stock availability confirmation, or unusual payment patterns.

Effective action:

Immediately reach out to customers, requesting confirmation or offering alternative payment options.

This will help with smooth order flow and maintain customer satisfaction. You can also set up automated notifications to keep your customers informed automatically.

4. Completed

The “Completed” status indicates that the order has been successfully processed, shipped, and delivered to the customer.

This indicates that the entire transaction for the new order is complete, and you can review it in your store for any final checks.

Effective action:

Now your sale is complete, you can focus on building a relationship with your customers.

You can send a thank you email, request feedback, and next-order discounts via your post-purchase emails.

This helps you strengthen customer loyalty and boost your brand image, increasing the chances of customer retention in the future.

5. Cancelled

This status indicates that the customer or store admin has canceled the order for reasons such as the product being out of stock or the customer changing their mind.

The order stock increases to its previous quantity and will not be fulfilled.

Effective action:

If a customer cancels the order, make the refund process as smooth as possible.

If the cancellation happened due to a product stock being unavailable, let them know and offer help finding an alternative.

6. Refunded

The status changes to “Refunded” when a customer successfully processes and gets an order refunded.

This usually happens when they are unhappy with the product, the item doesn’t meet their expectations, or there is a shipping mistake.

Effective action:

When a refund gets processed, it’s essential to understand why it was requested. 

Address the concern about a product defect, shipping reason, or anything else and ask for their feedback to improve.

Keep the communication channels open during the refund process, building trust and showing you care about your customers.

7. Failed

The order gets a failed status when there is an issue with the payment processing, such as a declined card, insufficient funds, or any other reason. 

Please note that this status may not show immediately but instead show as ‘Pending’ until the confirmation.

Effective action:

Review the issue on the WooCommerce order status page and ask the customer for an alternative payment method using a retry link.

Be transparent and tell them what went wrong so they feel supported and confident to place the order again.

8. Draft

The draft order gets created when shoppers start the checkout process in WooCommerce.

This ensures a shopper can easily pick up where they left off without losing track of their order.

Effective action:

When you get a draft order status in WooCommerce, follow up to gather missing details such as product preferences, shipping or payment method, and address information.

This will help stay proactive and ensure the order moves forward effectively.

How Does Order Status in WooCommerce Work?

WooCommerce order status works as a system to track and manage the lifecycle of an order from the initial point when it’s placed until it’s completed.

Here’s how it works:

  • Initial status assignment: When a customer hits the place order button, WooCommerce automatically assigns it an initial status, typically “Pending Payment” or “Processing”, depending on your payment method.
  • Status progression: As the order moves through different stages in the fulfillment journey, the store administrator can update the status either automatically or manually.
  • Automatic status updates: Certain actions trigger an automatic change in the order status. For example, the status may change from “Pending payment” to “Processing” after a successful payment.
  • Manual order status updates: Store owners need to change the status manually, such as updating it to “Completed” when an order is shipped and delivered to customers.
  • Customer notifications: Many WooCommerce status changes trigger email notifications to inform customers about the progress of their orders.
  • Filtering and sorting: In the WooCommerce admin panel, orders can be filtered and sorted by their status, allowing for efficient management.
  • Custom order statuses: While WooCommerce has default order statuses, store owners can add custom statuses to fit their specific business needs.
  • Reporting: You can generate reports based on different order statuses, helping to track sales and other crucial metrics.

In addition to that, the order status goes through different stages for different types of products to ensure fulfillment.

Simply put, physical products are processed differently than digital products in an eCommerce store.

Let’s understand the WooCommerce order status for different products.

Physical (simple) products

Physical products undergo the journey of order processing, shipping, and delivery. Therefore, it takes some time to process the order and change the order status.

Once the payment is successful, the order status changes to ‘Processing’. After the order is delivered to the customer, it changes to ‘Completed’.

Virtual products

Virtual products are digital, non-tangible items such as memberships, services, warranties, subscriptions, etc.

You can access these virtual items with a username and password or a website URL hosted on a server.

Upon successful order placement, the order status goes to ‘Processing’.

Since the virtual products cannot be delivered to you, the order status will still show in processing.

However, you can use a plugin called Autocomplete WooCommerce Orders that allows you to complete the order status for virtual products.

We’ll discuss the autoprocessing of order status later in this post.

Both virtual and downloadable products

Virtual + Downloadable products are digital products that can be downloaded, such as ebooks, music files, PDFs, etc. These can be downloaded straight to your device.

Once you’ve made the successful purchase, the order status instantly changes to ‘Completed’.

How to Add Custom Order Status in WooCommerce?

We already know a lot about the default order statuses in WooCommerce. These help track the progress of orders placed in your store.

However, the default options may not be suitable for everyone’s needs. What if you want your customers updated about their orders more granularly?

That’s where the ability to add WooCommerce custom order status comes in.

Adding custom order statuses in WooCommerce helps store owners manage their orders better and provide personalized experiences to their customers.

With custom order status, WooCommerce store owners can create their own order statuses based on their specific needs.

You can add WooCommerce custom order status in two ways:

  • By adding a custom code snippet
  • Using a WordPress plugin

Let’s look at both of these processes.

Method 1: Create a custom WooCommerce order status (using code)

Here, we’ll add a custom “Order Shipped” status in WooCommerce.

For that, install the WPCode Insert Headers and Footers + Custom Code Snippets plugin for free.

Next, go to ‘Snippets’ and click on the ‘Add New’ button.

Click on add new snippet to create a custom woocommerce order status

Add the following snippet code and select the option below to run it everywhere on the website.

Once done, hit ‘Update’ and activate the snippet.

Paste the code snippet and activate it to  run everywhere on the website.

Orders in WooCommerce have a special ‘post_status’ value attached to them on the wp_posts table in the database, like any other posts.

Therefore, we’ll use the register_post_status() inbuilt function to include our custom order status.

This is the code you need to copy and paste on the code snippet:

// Register new status function register_order_shipped_order_status() { register_post_status( 'wc-order-shipped', array( 'label' => 'Order Shipped', 'public' => true, 'show_in_admin_status_list' => true, 'show_in_admin_all_list' => true, 'exclude_from_search' => false, 'label_count' => _n_noop( 'Order Shipped (%s)', 'Order Shipped (%s)' ) ) ); } // Add custom status to order status list function add_order_shipped_to_order_statuses( $order_statuses ) { $new_order_statuses = array(); foreach ( $order_statuses as $key => $status ) { $new_order_statuses[ $key ] = $status; if ( 'wc-on-hold' === $key ) { $new_order_statuses['wc-order-shipped'] = 'Order Shipped'; } } return $new_order_statuses; } add_action( 'init', 'register_order_shipped_order_status' ); add_filter( 'wc_order_statuses', 'add_order_shipped_to_order_statuses' );

Well done! This is how you can create a custom WooCommerce order status using a code snippet.

Method 2: Create a custom WooCommerce order status (using a WordPress plugin)

The easiest way to create a custom order status in WooCommerce is by installing a WordPress plugin like Custom Order Status Manager for WooCommerce.

This plugin lets you create, edit, and remove custom order statuses to manage your WooCommerce orders better.

Make sure to install and activate this plugin on your WordPress dashboard.

Once done, go to WooCommerce ⇨ Order Status and click on ‘Add New’.

Once you have installed the custom order status manager for woocommerce plugin, go to WooCommerce - Order Statuses and click on add new

Fill in the details related to your new custom order status:

  • Order status name: Name of your custom WooCommerce order status
  • Slug: Type in a unique slug for your order status
  • Status icon: Add an icon of your custom order status
  • Status view: Choose whether the status name or status icon will be displayed on the WooCommerce orders page
  • Color: Set the color that gets applied to the text and icon of this order status
  • Text background color: Set the background color of the order status text
  • Paid status: Enable or disable whether the order on this status has been paid
  • Download access: Turn on this option to allow download access when orders are on this status
  • Add to actions on orders page: Turn on this option if you want to add this order status to the order actions page
  • Add to bulk actions list: Enable or disable this option to add this order status to the bulk actions list
  • Edit mode: Turn on this option to allow editing the WooCommerce order data for this status
  • Email notification: Enable this option to get email notifications when the order status changes to this custom status
Enter the data related to the creation of custom woocommerce order status. Once done, hit publish

Once done, hit the ‘Publish’ button.

As you can see, the new custom order status has successfully been created in your WooCommerce store.

Here you can see your custom order status created in your WooCommerce store

From this dashboard, you can edit this custom status, view, edit the email template, or even delete your custom order status.

You can even take bulk actions if you have set up multiple order statuses.

This plugin perfectly handles and helps you efficiently manage all your custom WooCommerce order statuses.

How Payment Methods Impact WooCommerce Order Status?

WooCommerce uses different factors to determine the status of an order. The order status and handling of payment failure may not be as straightforward as expected.

Depending on whether or not the payment was successful, your payment methods also impact the order statuses.

Here are the order statuses for different payment methods used to make transactions in WooCommerce:

Credit cards / Debit cards / Paypal / Express checkout

Upon successful payment, the order status goes to ‘Processing’. The orders are automatically completed once they are processed and fulfilled.

If the payment fails, the status goes to ‘Pending’ but ultimately changes to ‘Failed’ upon payment failure confirmation.

Check payments / Direct bank transfer / Cash on delivery

In the case of offline payments, such as check payments, direct bank transfers, and cash on deliveries, the order status will not auto-complete. But the stock of those products will reduce.

This is because the transactions here are dependent on offline payment methods. Therefore, in such cases, product access doesn’t happen until the payment is successfully received.

Here, the order status remains on ‘Processing’.

The store owner or admin has to verify and manually change the order status to ‘Completed’ or ‘Failed’ in case of successful or unsuccessful transactions.

How to Automatically Change the WooCommerce Order Status?

By default, WooCommerce automatically completes the paid orders for only virtual + downloadable products after a successful purchase.

However, for only virtual products, the order status goes to ‘Processing’, which shouldn’t be the case.

WooCommerce should also mark the order as ‘Completed’ for digital (virtual) products.

But you can alter this behavior in your store.

You can change the WooCommerce order status automatically (programmatically) to ensure it’s convenient for store owners and customers.

Configuration

To automatically change WooCommerce order status, you must install a WordPress plugin called Autocomplete WooCommerce Orders by QuadLayers.

Once you have the plugin, you can set the autocomplete configurations from the WooCommerce settings.

To do that, go to WooCommerce ⇨ Settings ⇨ Autocomplete Orders tab.

Go to woocommerce settings - autocomplete orders section after installing the autocomplete woocommerce orders plugin

Click on the Mode options and select ‘Paid orders of virtual products only’.

You also get different options to configure from here that let you autocomplete your WooCommerce orders.

Choose the autocomplete orders mode to virtual orders and save it.

Once done, hit the ‘Save Changes’ button.

When a user successfully places a virtual order, the order status will automatically be moved to ‘Completed’.

Please note that you can configure autocomplete orders for all orders as well.

Testing

Now, if you try a test purchase of your virtual product in your store, go from the product page to the checkout order page and test purchase it.

Test purchase a virtual product in your store - fill out the details in your checkout page

As you get directed to the WooCommerce thank you page, signifying our purchase is complete.

Make the purchase and you'll be taken to the order confirmation page

🔔 Quick Note: We have changed the default WooCommerce checkout and order confirmation page to beautiful and elegant custom pages using the FunnelKit Funnel Builder.

Now, if you go to WooCommerce orders, you’ll be able to see the order status - Completed.

That means this plugin works!

Alternatively, you can use other WordPress plugins to auto-complete orders as well. Here are some recommendations:

These WooCommerce order status manager plugins effectively let you streamline the order fulfillment process in your business.

How to Set Up Automated WooCommerce Order Status Email Notifications?

Order status email notifications are crucial in the WooCommerce order management system, serving as an essential communication channel between merchants and customers.

Although WooCommerce uses default emails for some order statuses, you cannot customize them based on your brand.

The best way to customize your emails is with FunnelKit Automations, the most powerful marketing broadcast, and automation CRM for WooCommerce ever made.

You can set up automated sequences, send email broadcasts or SMS texts, track orders and conversions for each campaign, and more.

Suppose you have to send an email about the order being packed and awaiting shipment.

All you have to do is go to create a new automation in FunnelKit Automations. Select the ‘Order Status Changed’ event and configure them:

Select the woocommerce order status changed event trigger

Now select the ‘Send Email’ action below the event.

One of the coolest things about FunnelKit Automations is that you get access to 20+ pre-designed email templates optimized for all devices.

You can import these templates and customize your emails the way you want.

design awaiting shipment emails using drag and drop email builder in funnelkit automations

👉 Read our detailed post on sending WooCommerce order notification emails here.

Not only that, FunnelKit Automations integrates with various plugins such as shipping plugins, subscription plugins, etc.

This way, you’ll be able to send transactional and marketing emails, such as shipment tracking emails, cart abandonment emails, subscription emails, customer winback emails, and more.

5 Best Practices to Follow for WooCommerce Order Statuses in Improving the Customer Experience

Improving the customer experience in the order status process is crucial for WooCommerce stores.

Here are some effective best practices:

1. Clear and timely communication

Update order statuses promptly and ensure that every status change triggers a clear, informative notification to the customer.

This way, you keep them in the loop and reduce anxiety about their purchase.

FunnelKit Automations offers the convenience of sending automated order notification emails for each order status change.

2. Use descriptive order status labels

Take on status labels that are easy for customers to understand.

Instead of technical terms, use clear order status descriptions such as “Order Received”, “Preparing for Shipment”, “Out for Delivery”, etc.

These user-friendly labels help customers quickly understand the whereabouts of their orders without having to decipher complex terminologies.

3. Offer tracking information

Integrate your WooCommerce store with shipping carriers to automatically update shipment orders with tracking numbers.

FunnelKit Automations integrates with different shipment tracking plugins such as WooCommerce Shipment Tracking, WC Jetpack Shipment, Advanced Shipment Tracking for WooCommerce, and more.

Once a package is shipped and a tracking number is generated, update the order status to include this information or email customers about it.

Consider embedding tracking information directly into your site so customers can track their packages without leaving your store.

4. Personalize status updates

Use merge tags in your WooCommerce email templates to automatically include the customer’s name, order number, and specific item details in your email notifications.

FunnelKit Automations provides dynamic merge tags that let you personalize your emails with relevant information.

The personal touch makes customers feel valued and provides relevant information without them having to look it up.

5. Optimize for mobile

With over 1.7 billion people using their mobile phones to open and read their emails, that’s why it’s crucial that your order status emails are mobile-responsive.

Use a single-column layout, large, readable fonts, and buttons that are easy to tap on small screens.

Ensure that your order tracking page is fully functional and easy to navigate on mobile devices.

WooCommerce Order Status: Frequently Asked Questions (FAQs)

Our experts have answered some common user questions about WooCommerce order status in this section.

1. How to add custom order status in WooCommerce?

You can add custom order statuses in WooCommerce using a plugin or a custom code with the ‘register_custom_order_status’ action to your theme’s functions.php file. We have talked about it in this post in detail.

2. How to change default order status in WooCommerce?

You can change the default order status in WooCommerce using a plugin or custom code with the ‘change_default_order_status’ filter.

In addition, you can change the default status according to the payment method. For example, you can change the default status when the payment method is cash on delivery or bank transfer.

3. How do I get all the order status in WooCommerce?

You can get all the order status in WooCommerce by navigating to WooCommerce ⇨ Orders section. 

You’ll see all the orders placed in your WooCommerce store and their respective status there.

4. How can I manually update WooCommerce order statuses?

You can manually update order statuses in WooCommerce by navigating to WooCommerce ⇨ Orders.

Click on an order you want to update and it’ll open a WooCommerce order details page.

woocommerce order status page to update the status of an order manually

Click on the status and select the one you want from the dropdown.

Once done, hit the ‘Update’ button to save the changes.

Subscribe to our YouTube channel and join our Facebook group to get daily tips and tricks to grow your eCommerce business.

Optimize Your WooCommerce Order Management for Seamless Growth

Effective order management is crucial to any successful WooCommerce store.

You can streamline your order fulfillment, enhance customer communication, and optimize business operations by mastering default and custom order statuses.

This not only improves efficiency but also builds trust with your customers, ultimately encouraging repeat sales.

For businesses looking to go beyond the basics, custom order statuses give the flexibility to align your workflow with unique operational needs.

Additionally, leveraging automation tools will help save time and reduce manual effort.

WordPress order management plugins can take order management to the next level by automatically updating order statuses.

Add FunnelKit Automations to the mix to send automated email notifications for various order status changes.

This way, you can keep you and your customers informed, leading to a frictionless shopping experience.

So what are you waiting for? Start optimizing your WooCommerce order status management today, and watch your business grow with efficiency and confidence!

Related Blogs

How to Integrate Stripe with WooCommerce WooCommerce Stripe Integration

Editorial Team

How to Set Up WooCommerce Stripe Integration in 5 Simple Steps

Does your WooCommerce store offer enough payment options? If not, you could be losing up to 13% of sales. [According to Baymard]. WooCommerce’s default payment options don’t always meet customer...

How to Skip the Cart Page and Enable Direct Checkout in WooCommerce in 3 Easy Methods

Editorial Team

How to Set Up WooCommerce Direct Checkout in Your Store: 3 Easy Methods

Are you tired of seeing customers add items to their cart only to vanish withoutt completing the purchase?  Well, you're not alone. According to Baymard, around 18% of customers abandon...

how to set up free shipping in WooCommerce

Editorial Team

How to Setup WooCommerce Free Shipping: 6 Methods & Practical Tips

Want to know how to offer WooCommerce free shipping? Free shipping is the practice of not charging any money for shipping. It’s a powerful tool that, when used right, can...

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.
Join Over 38,315+ Growing Store Owners 🚀
Join FunnelKit
FunnelKit Checkout gives you beautiful, ready-to-use WooCommerce checkout templates, embed order forms, one-page checkouts, and more.
Please enable JavaScript in your browser to complete this form.
Join FunnelKit

Related Blogs

How to Integrate Stripe with WooCommerce WooCommerce Stripe Integration

Editorial Team

How to Set Up WooCommerce Stripe Integration in 5 Simple Steps

Does your WooCommerce store offer enough payment options? If not, you could be losing up to 13% of sales. [According to Baymard]. WooCommerce’s default payment options don’t always meet customer...

How to Skip the Cart Page and Enable Direct Checkout in WooCommerce in 3 Easy Methods

Editorial Team

How to Set Up WooCommerce Direct Checkout in Your Store: 3 Easy Methods

Are you tired of seeing customers add items to their cart only to vanish withoutt completing the purchase?  Well, you're not alone. According to Baymard, around 18% of customers abandon...

how to set up free shipping in WooCommerce

Editorial Team

How to Setup WooCommerce Free Shipping: 6 Methods & Practical Tips

Want to know how to offer WooCommerce free shipping? Free shipping is the practice of not charging any money for shipping. It’s a powerful tool that, when used right, can...

Leave a Reply

Ready to Transform Your Store?

Join 38,315+ 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
861+ 5 star reviews on WordPress.org
Transform your store to power your business with FunnelKit
861+
 Reviews
4.9
chevron-downarrow-right