WooCommerce Shipping Tracking

WooCommerce Shipping Tracking

Cart 2,695 sales
Recently Updated
The WooCommerce Shipping Tracking allows your customers to view the live tracking info for all of their orders. Your customers will be updated about their order tracking information. You can add, edit, and import tracking numbers, providing your customers with tracking URLs that help them track their orders. Supported more than 140 shipping companies!


user: demo
pass: demo
NOTE: In case you don’t receive notifications emails, please check you spam folder.

Tracking url reporting

In case any tracking URL stops working, please report me!


WCST allows your clients to easily track their orders. You will be able to associate every order with a shipping company and a tracking number. WCST will display tracking info (Company URL and tracking code) directly in the “Complete Order” email and “View Order” page. Your clients just clicking on the link generated by WCST will easily track their orders. The tracking URL (where possible, if the company allows that) will automatically redirect to the company site where the user can automatically track the shipping status according to the associated tracking code.

How to automatically update the plugin

To receive automatic updates just install and configure the Envato updater plugin: httpss:// .The official guide that explains how to configure it can be found at the following link: httpss:// .


WCST has defined more than 140 shipping companies. Don’t you find the one you need? Don’t worry!! WCST allows you to define your own custom shipping companies (Name and Tracking URL), just add it from WooCommerce -> Shipping tracking -> Add Custom company page


WCST allows you to associate one or more tracking codes and shipping companies for each order. Furthermore, for every shipping can be also specified a dispatch date and custom text. In this way, both the shop admin and the customer can easily keep track of the shipping timings!


Would you like to customize the HTML snippet included in the email Template and Order details page? It’s possible! You can customize templates directly from the admin menu.

Track shipment progress status with a timeline in site

The Shipping Tracking plugin allows also showing shipment progress status with a timeline directly on site. To do that just use the special [track_shipping_in_site] shortcode inside the Order details message through the special menu.
Once done, a tracking info widget will be displayed showing every step the shipping has performed until the current day on every Order details page!
Optionally you can show the “track in site” widget on any page. To do that just use the following shortcode with the special “track_in_site” parameter: [wcst_tracking_form track_in_site=”true”]. It will render a form where once the user has entered a tracking code, the “track in site” widget will be shown displaying the shipping progress.

Note: The AfterShip will try to detect the shipping company using just the tracking code, this process however in some cases may fail. To avoid detection just pass the company slug in this way: company_slug###tracking code.
Example: dhl###28492021
The tracking company’s slug can be found here: . Just click on the one you need, the slug can be found in the url after the /curriers/ string.

Note: this feature is powered by AfterShip service. It requires an AfterShip pro subscription in order to access its API. Info on how to connect to the AfterShip profile is reported on the plugin options page (it just requires 2 steps!). The service will automatically detect the carrier from the tracking code (if supported) without the requirement of any further code.


Once the tracking info is saved on the order admin page, all the info will be displayed on the order details page. Furthermore, info will be also embedded in all outgoing woocommerce emails according to the order status. By default tracking info is only embedded in the emails only when the status is set as “completed” but you can choose to display info also for other statuses. Go to the General options menu to choose for which status(es) the info has to be embedded into the emails.
You can also specify custom statuses!
In this way, the customer can have all the needed info at his fingertips!


The admin can also send active notification emails by just selecting the tracking code for which he wants the user to be notified. Once selected, he has just to click on the Order update button, the plugin will then send an email containing the selected tracking codes. The tracking code email templates can be customized by using the special options menu. You can also use a shortcode to display the user’s first and last name in order to customize the message!

Germanized pro invoice email

The plugin has support for Germanized pro invoice email, so it will be able to inject tracking info into invoice emails according to the current order status.


Would you like to let your customer specify a delivery date and time range?
now you can!
WCST allows you to enable some extra fields (visible on the checkout and/or order details page) where the user can specify a start and end date, a start and end time (optionally even a secondary time range) when he would like to receive the items! The description, title, and label are fully customizable! Multi-language supported!

Furthermore, delivery dates and times are included in WooCommerce emails!

Last but not least, on the checkout page, the selectable date will consider the product’s estimated shipping time and the selected shipping method’s estimated delivery time!


WCST allows you to import order tracking info from a .csv file!
Shop admin for each order can also import one or more shipping info.
The csv file has to have the following columns:
  • order_id: This is the numeric id of the order
  • order_status: can be left empty. If specified the order status will be set as the specified value. Values that can be used: wc-pending, wc-processing, wc-on-hold, wc-completed, wc-cancelled, wc-refunded, wc-failed
  • force_email_notification: can be left empty. If specified, the plugin will resend the woocommerce notification email according to the selected value. Value that can be used: send_email_new_order, send_email_cancelled_order, send_email_customer_processing_order, send_email_customer_completed_order, end_email_customer_refunded_order, send_email_customer_invoice
  • dispatch_date: Can be left empty. In case of multiple dispatch date, values have to be separated by | character. Format must be yyyy-mm-dd. Ex.: 2018-05-13|2018-03-21
  • custom_text: Can be left empty. In case of multiple custom text, values have to be separated by | character. NOTE: REMOVE ALL , from custom texts. Ex.: custom text 1 | custom text 2.
  • tracking_info: Has to have the following format company_id:tracking_code. In case of multiple shipping, values have to be separated by | character. Ex.: DHL:#232R|GLS:1234TR3

Example of the .csv file that can be used to be imported can be found clicking in the following link: Example file

NOTE: Do you want to import orders using custom ids assigned by WooCommerce Sequential Order Number Pro (By SkyVerge)? Just install the following add-on!

if you instead are using the Free version, use this add-on.


You can optionally configure the plugin to automatically import Order shipping tracking from an URL pointing to a .csv file. You have just to enter the .csv file URL path ( like DropBox file link, HTTPS URL, etc…) and select the bulk import task time interval!

NOTE: Scheduling task is performed using the WordPress function wp_schedule_event(). It will trigger the scheduled import task at the specified interval ONLY if someone visits your WordPress site. More info at wp_schedule_event reference page.


WCST supports WPML, this lets the shop admin define HTML Snippets for every language installed.
To add a message for a language, the shop admin has only to select the desired language in the WPML selector, enter the text and save!


The shop admin can now assign shipping info to an order directly using the “Quick assign” menu without editing every order. Using this menu in just a few clicks you can assign shipping info to an order, set its status, and optionally resend a status notification email to the customer!


You can also select a “favorite” shipping company on the options menu. This will be preselected during tracking code submission!


For each shipping rate defined using the native WooCommerce functionalities, the Table Rate Shipping for WooCommerce or the Table Rate Shipping by WooThemes you can define a delivery estimation.


The WCST plugin has another useful feature: Estimated shipping dates (shipping date: the date on which the package is delivered to the courier). The shop admin, simply using a shortcode or setting the automatic estimated date display option (in the plugin options menu), can show on product pages the estimated shipping date. This is calculated automatically on the basis of the “Estimation rule” that matches that product. The plugin can show both a specific shipping date and a date range in which the product will be shown.
Furthermore, if the product is out of stock, the estimated date will not be displayed!

Optionally estimated dates can be also shown on the Cart/Checkout pages after each item showed in the product table. To do just enable the special option you find in the plugin options menu.

Last but not least, you can also configure a customized label (translatable via WPML) to be displayed before the estimated date!

How does it work? it’s simple! You have only to do two steps:

FIRST STEP: Estimated dates configuration Using the “Estimated shipping configurator” under the “Shipping tracking” menu, the shop admin can create multiple “Estimation rules”.
For each of them he can select:
  1. Products / Categories / Tags: Selection of products, categories, or tags to which the rule applies.
  2. Dispatch / Shipment days: days in which the goods are shipped/dispatched to the courier.
  3. Cut-off hour: if an order is placed before that hour, the shipment takes place on the same day (if it is a dispatch/shipment day).
  4. Dispatch delay: If this value is specified, the estimated date will be computed starting from the first dispatch day available after the delay (expressed in days).
  5. Holidays / Non working days: days in which shipments cannot take place.

SECOND STEP: Use the shortcode (or setting the automatic estimated date option) on product page On the product page, on the description or short description or any tab, the shop admin can use the special [wcst_show_estimated_date] shortcode to display the estimated shipping date.
As an alternative, the shop admin can enable the automatic estimated date option display (in the plugin options menu).

The plugin will then calculate the date finding the “Estimation” rule that matches the item. The plugin will automatically find the next working day when the item can be shipped.
Furthermore, on the product list, a new column is added displaying the Estimated shipping rule that matches the product.


Using the special shortcode [wcst_tracking_form] a tracking form can be displayed on any post/page that will allow the user to choose the shipping company (using a select menu) and input the tracking code and be redirected to the shipping company tracking page.
The tracking code can also be used with the parameters:
  1. company_id (company id can be retrieved in the company configuration page): [wcst_tracking_form company_id=”“] In this way the shipping company will be already selected (the shipping company select menu is thus hidden).
  2. button_classes: [wcst_tracking_form button_classes=”class1 class2”] in this way the specified classes will be added to the tracking button.

Additionally, you can also use the special track_in_site paramenter to directly show shipping current status directly in site! read more about it in the previous Track shipping tracking in site paragraph!

Retrieve order tracking data programmatically

To retrieve order tracking data programmatically you can use the special wcst_get_order_tracking_data($order_id) function that will retrieve all the tracking data associated to the order. The result will be an array that will have the following format:
array(2) {
  array(6) {
    string(5) "12332" 
    string(0) "" 
    string(0) "" 
    string(6) "Aramex" 
    string(6) "ARAMEX" 
    string(70) "" 
  array(6) {
    string(5) "12312" 
    string(10) "2019-01-08" 
    string(2) "aa" 
    string(15) "Correos España" 
    string(14) "CORREOSESPAGNA" 
    string(128) "" 
In the previous example, the order has associated with two tracking codes.

Actions and Hooks

The plugin triggers two actions before and after sending an active notification email. They can be hooked in the following way:
add_action('wcst_before_active_notofication_email', 'your_custom_function_name', 10, 2);
function your_custom_function_name($recipients, $order)
add_action('wcst_after_active_notofication_email', 'your_custom_function_name', 10, 2);
function your_custom_function_name($recipients, $order)


Create a custom company and then enable the “Aftership service” or the “TrackingMore” option. The plugin will automatically generate the tracking URL using the Aftership/TrackingMore service and the tracking code inserted in the order page! (Note: The standard and URL are used. Make sure the shipping company you are using is supported by Aftership/TrackingMore)


Optionally can be enabled the option to autofocus on the main tracking code input field when editing the order page. This could be useful for bar code scanners (Note: Some 3rd party plugins could break this feature).
Furthermore, the plugin lets the shop admin search orders by tracking code and shipping companies by using the default “Search Order” input box already present on the WooCommerce orders page!


WCST adds a dropdown box menu on the orders table that allows the admin to filter orders by company.


= 32.8 - 17.01.23 =
* Typo

= 32.7 - 10.01.23 =
* Tracking data associated with products, is now displayed on the Product table on the Order details page

= 32.6 - 07.01.23 =
* Updated the URL of POS MALAYSIA

= 32.5 - 28.12.22 =
* UI improvements

= 32.4 - 23.12.22 =
* Minor improvements

= 32.3 - 22.12.22 =
* Custom companies are now properly sorted on the order details page

= 32.2 - 15.11.22 =
* Minor improvements

= 32.1 - 10.11.22 =
* Minor bugfix

= 32.0 - 12.10.22 =
* Fixed the GLS Germany URL

= 31.9 - 23.09.22 =
* Updated Vasp Expresso URL

= 31.8 - 21.09.22 =
* Added GLS Germany

= 31.7 - 31.08.22 =
* Minor bugfix

= 31.6 - 28.08.22 =
* Minor bugfix

= 31.5 - 07.07.22 =
* GLS Spain tracking URL updated

= 31.4 - 04.06.22 =
* Typo

= 31.3 - 23.05.22 =
* Added Vasp Expresso

= 31.2 - 26.04.22 =
* Option menu restyling 
* Added some new options

= 31.1 - 07.03.22 =
* Minor improvements

= 31.0 - 05.03.22 =
* The plugin now avoids invoking the WC_Order save() method in case the tracking data was equal to the already present data

= 30.9 - 08.02.22 =
* Fixed an issue due to Custom company tracking URLs were not properly generated

= 30.8 - 03.02.22 =
* Updated POSTNL shipping address
* Custom companies tracking URL now accepts the new %post_code and %country_code placeholders

= 30.7 - 04.01.22 =
* Minor bugfix

= 30.6 - 17.12.21 =
* Fixed an issued that prevented tracking info to be properly embedded into the emails

= 30.5 - 08.12.21 =
* Improved estimated product date computation

= 30.4 - 07.12.21 =
* Minor bugfix

= 30.3 - 06.12.21 =
* Typo

= 30.2 - 29.01.21 =
* Added the following filters: 'wcst_getting_tracking_url' and 'wcst_getting_shipping_companies'

= 30.1 - 29.01.21 =
* Order items can now be selected also in the "Quick assign" page

= 30.0 - 28.01.21 =
* Fixed an issue that prevented the "Quick assign" page from properly work

= 29.9 - 25.01.21 =
* Added the option to associate a shipment to specific order items

= 29.8 - 23.01.21 =
* Fixed an issue related to the activation system

= 29.7 - 21.01.21 =
* Updated Belpost tracking URL
* Updated AfterShip carriers list

= 29.6 - 01.01.21 =
* Templates can be now copied into the theme folder

= 29.5 - 21.10.21 =
* Minor update

= 29.4 - 04.10.21 =
* Fixed an issue related to multiple tracking number display

= 29.3 - 01.10.21 =
* Updated FedEx URL

= 29.2 - 28.07.21 =
* Chile Express updated

= 29.1 - 28.07.21 =
* Added Welivery

= 28.9 - 23.07.21 =
* Typo

= 28.8 - 21.07.21 =
* Updated the Russian post URL

= 28.7 - 07.07.21 =
* Added GLS Spain

= 28.6 - 02.07.21 =
* Fixed some javascript issues

= 28.5 - 01.07.21 =
* Minor improvements

= 28.4 - 07.06.21 =
* Fixed an issue related to the dispatch date selector

= 28.3 - 02.06.21 =
* Typo

= 28.2 - 28.05.21 =
* Fixed an issue that caused the plugin to crash

= 28.1 - 27.05.21 =
* Code redesign

= 28.0 - 18.05.21 =
* Fixed an issue due to the hour timepicker was not working

= 27.9 - 13.04.21 =
* Added two new options to customize the active notification from name and from email address

= 27.8 - 19.03.21 =
* Improved active notification management

= 27.7 - 06.02.21 =
* Fixed an issue related to the "Add another tracking code" button

= 27.6 - 19.01.21 =
* Fixed an issue with WooCommerce 4.9

= 27.5 - 14.01.21 =
* Added new tracking company: Flash Express

= 27.4 - 12.01.21 =
* Fixed an issue with WooCommerce 4.9

= 27.3 - 05.01.21 =
* Added option that allows excluding specific dates to be selected as delivery dates

= 27.2 - 28.10.20 =
* Fixed an issue related to the bulk import feature

= 27.1 - 27.10.20 =
* Minor improvements

= 27.0 - 20.10.20 =
* Updated the Colissimo tracking URL

= 26.9 - 05.10.20 =
* Improved estimation delivery date computation

= 26.8 - 22.09.20 =
* Fixed an issue related to the product shipping estimation

= 26.7 - 07.09.20 =
* Fixed DHL DE shipping company

= 26.6 - 31.08.20 =
* Added DHL DE shipping company

= 26.5 - 14.08.20 =
* Fixed an issue related to WordPress 5.5 and jQuery

= 26.4 - 07.08.20 =
* Added option to merge imported data for the automatic bulk importer

= 26.3 - 04.08.20 =
* Fixed an issue related to the estimation date display on the cart page for out of stock item

= 26.2 - 30.07.20 =
* Added option to disable UTF8 encoding for the estimated shipping dates

= 26.1 - 28.07.20 =
* Updated the POSTNL link generation 
* Added the new "Tracking link" button in the order details page

= 26.0 - 22.07.20 =
* Fixed an issue related to the tag management

= 25.9 - 08.07.20 =
* Updated the Correos Chile tracking URL

= 25.8 - 29.06.20 =
* Minor improvement

= 25.7 - 28.06.20 =
* Minor improvement

= 25.6 - 28.06.20 =
* Minor improvement

= 25.5 - 28.06.20 =
* Minor improvement

= 25.4 - 15.06.20 =
* Minor improvement

= 25.3 - 15.06.20 =
* Minor improvement

= 25.2 - 08.06.20 =
* Added a new option to consider the "non shipment days" when computing the next available shipping date

= 25.1 - 29.05.20 =
* Added Mondial relay
* Added DPD France

= 25.0 - 28.05.20 =
* The calendar picker now displays according to the current language

= 24.9 - 25.05.20 =
* Updated the GD Express tracking URL

= 24.8 - 25.05.20 =
* Updated the GD Express tracking URL

= 24.7 - 24.04.20 =
* Dispatch date displayed in the order table is now rendered according to the datetime format set through the WordPress settings menu

= 24.6 - 05.04.20 =
* Minor bugfix

= 24.5 - 14.03.20 =
* Updated the Australian Post International tracking URL

= 24.4 - 13.02.20 =
* Minor improvements

= 24.3 - 05.02.20 =
* Minor UI improvements

= 24.2 - 05.02.20 =
* Minor UI improvements

= 24.1 - 18.01.20 =
* Fixed a minor issue related to the CSV import process

= 24.0 - 17.01.20 =
* Fixed a display issue related to custom tracking numbers containing multiple codes

= 23.9 - 22.12.19 =
* Minor bugfix

= 23.8 - 19.12.19 =
* Belgium post tracking URL updated

= 23.7 - 06.12.19 =
* JNE Express tracking URL has been replaced with AfterShip service. The original one no longer permits tracking via URL.

= 23.6 - 07.11.19 =
* Removed the N/A text shown when no custom text, dispatch date or was entered for additional custom companies

= 23.5 - 03.11.19 =
* Added "l, d.m" date format

= 23.4 - 16.10.19 =
* Minor UI improvements

= 23.3 - 13.10.19 =
* Update internal libraries
* Updated Chronopost URL

= 23.2 - 17.08.19 =
* Minor bugfix

= 23.1 - 12.08.19 =
* Added support to SF Express

= 23.0 - 21.06.19 =
* Fixed LaPoste tracking URL
* Internal libraries update

= 22.9 - 21.06.19 =
* Internal libraries update

= 22.8 - 08.05.19 =
* Added new date format "j m" 

= 22.7 - 08.05.19 =
* Typo

= 22.6 - 24.04.19 =
* Removed the DTDC company

= 22.5 - 21.04.19 =
* Added DHL Global Mail

= 22.4 - 02.03.19 =
* Fixed a minor CSS loading issue

= 22.3 - 21.02.19 =
* The [order_url] and [additional_order_url] now will render the order url

= 22.2 - 20.02.19 =
* Added option to hide "Track shipment" buttons in the Orders list table (My Account -> Orders)

= 22.1 - 13.02.19 =
* Added option to send active notification during bulk import

= 22.0 - 13.02.19 =
* Typo

= 21.9 - 13.02.19 =
* Minor bugfix

= 21.8 - 13.02.19 =
* Updated the USPS tracking URL

= 21.7 - 12.02.19 =
* Minor bugfix

= 21.6 - 11.02.19 =
* Included .po file for Spanish

= 21.5 - 11.02.19 =
* Minor bugfix

Tell us what you think!

We'd like to ask you a few questions to help improve CodeCanyon.

Sure, take me to the survey