Overview
Shipment tracking for WooCommerce with 285 carriers, Shipped and Delivered statuses, tracking emails and live carrier updates. Works with your existing tracking data.
Requirements
- WordPress 6.2 or later
- PHP 7.4 or later
- WooCommerce 5.2 or later
- Required plugins: woocommerce
Installation
Download Dispatchio - Advanced Shipment Tracking for WooCommerce from your ProPluginsLab account, then upload it to WordPress.
Log in to your ProPluginsLab account and open My Account > Downloads.
Download the plugin zip file.
In your WordPress admin, go to Plugins > Add New Plugin > Upload Plugin.
Choose the zip file, click Install Now, then Activate.
License and automatic updates
Dispatchio works fully as soon as it is activated. The license key turns on automatic updates, so new versions arrive in WordPress like any other plugin update. Pro features never depend on it.
Activate your license
Find your license key in My Account on propluginslab.io, in the license keys section. It is also in your order confirmation email.
In WordPress, open Dispatchio > License. When two or more ProPluginsLab plugins or add-ons are active on the site, WooCommerce > Licenses also appears and lists all of them in one place.
Paste the key into the Dispatchio - Advanced Shipment Tracking for WooCommerce Pro row and click Activate. The status changes to Active and automatic updates are on.
Receive updates automatically
Once the license is active, new versions of Dispatchio show up under Dashboard > Updates and on the Plugins screen. Click Update now, or click Enable auto-updates in the Dispatchio row on the Plugins screen and WordPress installs every future release for you.
Good to know
- Keys are checked once a day in the background, so your site never waits for the license server. If the server is briefly unreachable, the plugin keeps its last known status.
- An expired key or a key that is not accepted only stops updates. Dispatchio keeps working. After renewing, click Check now in its row.
- Moving to a new domain: click Deactivate on the old site first, then activate the key on the new one. The status shows Site address changed, checking until the new address is confirmed.
- On the command line:
wp ppl-license list,wp ppl-license activate <plugin> <key>,wp ppl-license checkandwp ppl-license deactivate <plugin>.
Quick start
- Open Fulfillment Dashboard
Go to
wp-admin/admin.php?page=dispatchioin your WordPress admin. - Open Shipment Analytics
Go to
wp-admin/admin.php?page=dispatchio-analyticsin your WordPress admin. - Open Dispatchio Shipment Tracking
Go to
wp-admin/admin.php?page=dispatchio-settings&tab=carriersin your WordPress admin. - Open Dispatchio Advanced Shipment Tracking for WooCommerce Pro License
Go to
wp-admin/admin.php?page=cwg-license-dispatchio-shipment-tracking-for-woocommerce-proin your WordPress admin.
#Fulfillment Dashboard
Location: wp-admin/admin.php?page=dispatchio
On this screen:
- Fulfillment Dashboard
#Shipment Analytics
Location: wp-admin/admin.php?page=dispatchio-analytics
On this screen:
- Shipment Analytics
- Shipments per carrier
- Shipments per day
- Tracking source
#Dispatchio Shipment Tracking
Location: wp-admin/admin.php?page=dispatchio-settings&tab=carriers
On this screen:
- Dispatchio Shipment Tracking
#Dispatchio Advanced Shipment Tracking for WooCommerce Pro License
Location: wp-admin/admin.php?page=cwg-license-dispatchio-shipment-tracking-for-woocommerce-pro
On this screen:
- Dispatchio Advanced Shipment Tracking for WooCommerce Pro License
#Edit order
Location: wp-admin/post.php?action=edit&post=50
On this screen:
- Edit order
- Shipment Tracking
- Order actions
- Order attribution
- Origin
- Customer history
- Total orders
- Total revenue
#Shipments
Location: wp-admin/admin.php?page=dispatchio-shipments
On this screen:
- Shipments
#Settings
Location: wp-admin/admin.php?page=dispatchio-settings
On this screen:
- Dispatchio Shipment Tracking
- Order Statuses
- Tracking in Emails
- Display
- Maintenance
#Documentation
Location: wp-admin/admin.php?page=dispatchio-docs
On this screen:
- Dispatchio Documentation
- Quick start
- Adding tracking to an order
- Settings: General
- Order statuses
- Tracking in emails
- Display
- Maintenance
#WooCommerce > Settings > Email > Shipped order
Location: wp-admin/admin.php?page=wc-settings&tab=email§ion=dispatchio_email_shipped
On this screen:
- Shipped order
- Email preview
- Your Everyday Goods Co. order #12345 has been shipped!
#WooCommerce > Settings > Email > Partially shipped order
Location: wp-admin/admin.php?page=wc-settings&tab=email§ion=dispatchio_email_partial_shipped
On this screen:
- Partially shipped order
- Email preview
- Part of your Everyday Goods Co. order #12345 is on the way!
#WooCommerce > Settings > Email > Updated tracking
Location: wp-admin/admin.php?page=wc-settings&tab=email§ion=dispatchio_email_updated_tracking
On this screen:
- Updated tracking
- Email preview
- Tracking update for your Everyday Goods Co. order #12345
#Dispatchio Shipment Tracking: General
Location: wp-admin/admin.php?page=dispatchio-settings&tab=general
On this screen:
- Dispatchio Shipment Tracking
- Order Statuses
- Tracking in Emails
- Display
- Maintenance
#Dispatchio Shipment Tracking: CSV Import
Location: wp-admin/admin.php?page=dispatchio-settings&tab=csv
On this screen:
- Dispatchio Shipment Tracking
- Import Tracking from CSV
- Sample CSV
#Dispatchio Shipment Tracking: Live Tracking
Location: wp-admin/admin.php?page=dispatchio-settings&tab=live
On this screen:
- Dispatchio Shipment Tracking
- Live Delivery Tracking
- How it flows
#Dispatchio Shipment Tracking: Automation
Location: wp-admin/admin.php?page=dispatchio-settings&tab=automation
On this screen:
- Dispatchio Shipment Tracking
- Fulfillment Dashboard
- Automatic status changes
- Alerts
- Customer Tracking Page
#Dispatchio Shipment Tracking: FTP Import
Location: wp-admin/admin.php?page=dispatchio-settings&tab=ftp
On this screen:
- Dispatchio Shipment Tracking
- Scheduled FTP, FTPS and SFTP Import
- Imported files
#Dispatchio Shipment Tracking: Integrations
Location: wp-admin/admin.php?page=dispatchio-settings&tab=integrations
On this screen:
- Dispatchio Shipment Tracking
- Integrations
- Custom Note Rules
#Dispatchio Shipment Tracking: PayPal
Location: wp-admin/admin.php?page=dispatchio-settings&tab=paypal
On this screen:
- Dispatchio Shipment Tracking
- PayPal Tracking Sync
#Dispatchio Shipment Tracking: Stripe
Location: wp-admin/admin.php?page=dispatchio-settings&tab=stripe
On this screen:
- Dispatchio Shipment Tracking
- Stripe Tracking Sync
- Dispute evidence
#Dispatchio Shipment Tracking: Tools
Location: wp-admin/admin.php?page=dispatchio-settings&tab=tools
On this screen:
- Dispatchio Shipment Tracking
- Outbound Webhooks
- Export Shipments
- Moving from another tracking plugin
- REST API
- Developer hooks
Settings reference
Settings
#Enable the custom "Shipped" order status.
#Enable the custom "Partially Shipped" order status.
#Enable the custom "Updated Tracking" order status.
#Enable the custom "Delivered" order status.
#Show the "Completed" order status to staff and customers as "Shipped".
#Send the "Updated tracking" email when tracking changes without a status change.
#When tracking is added to an order that is already Shipped, move it to Updated Tracking, which sends the Updated Tracking email. Needs the Updated Tracking status switched on.
#Tracking from other plugins
Status to set when a supplier or another plugin writes tracking straight into the order, for example through the WooCommerce REST API order meta. Their tracking still shows on the order and in emails whatever you pick.
#Show tracking on the customer order pages under My Account.
#Add a "Tracking" column to the WooCommerce orders list.
#Suggest a carrier from the shape of the tracking number as it is typed or scanned. When off, the carrier is always picked by hand.
#Show an estimated delivery date, based on the days set for each carrier on the Shipping Carriers tab.
#Log imports and tracking activity to WooCommerce > Status > Logs.
#When the plugin is deleted (not merely deactivated), also remove its settings and tables. Order tracking data is always kept.
WooCommerce > Settings > Email > Partially shipped order
Dispatchio Shipment Tracking: General
#Enable the custom "Shipped" order status.
#Enable the custom "Partially Shipped" order status.
#Enable the custom "Updated Tracking" order status.
#Enable the custom "Delivered" order status.
#Show the "Completed" order status to staff and customers as "Shipped".
#Send the "Updated tracking" email when tracking changes without a status change.
#When tracking is added to an order that is already Shipped, move it to Updated Tracking, which sends the Updated Tracking email. Needs the Updated Tracking status switched on.
#Tracking from other plugins
Status to set when a supplier or another plugin writes tracking straight into the order, for example through the WooCommerce REST API order meta. Their tracking still shows on the order and in emails whatever you pick.
#Show tracking on the customer order pages under My Account.
#Add a "Tracking" column to the WooCommerce orders list.
#Suggest a carrier from the shape of the tracking number as it is typed or scanned. When off, the carrier is always picked by hand.
#Show an estimated delivery date, based on the days set for each carrier on the Shipping Carriers tab.
#Log imports and tracking activity to WooCommerce > Status > Logs.
#When the plugin is deleted (not merely deactivated), also remove its settings and tables. Order tracking data is always kept.
Dispatchio Shipment Tracking: Live Tracking
#Enable live delivery tracking
#Provider
TrackShip: user key from my.trackship.com. 17TRACK: key under Settings > API at 17track.net, where it is labelled Security. AfterShip: key from aftership.com. TrackingMore: key under Developer > API Keys at trackingmore.com.
#API key
Stored encrypted. Leave the masked value untouched to keep the current key.
#Move the order to Delivered when the carrier confirms every shipment has arrived, which also sends the Delivered email.
#In Transit
Email the customer when the carrier reports one of these statuses for a parcel. Each email has its own subject, heading and text under WooCommerce > Settings > Emails. Return shipments never trigger them.
#Out for Delivery
Email the customer when the carrier reports one of these statuses for a parcel. Each email has its own subject, heading and text under WooCommerce > Settings > Emails. Return shipments never trigger them.
#Available for Pickup
Email the customer when the carrier reports one of these statuses for a parcel. Each email has its own subject, heading and text under WooCommerce > Settings > Emails. Return shipments never trigger them.
#Failed Attempt
Email the customer when the carrier reports one of these statuses for a parcel. Each email has its own subject, heading and text under WooCommerce > Settings > Emails. Return shipments never trigger them.
#Exception
Email the customer when the carrier reports one of these statuses for a parcel. Each email has its own subject, heading and text under WooCommerce > Settings > Emails. Return shipments never trigger them.
#Returned to Sender
Email the customer when the carrier reports one of these statuses for a parcel. Each email has its own subject, heading and text under WooCommerce > Settings > Emails. Return shipments never trigger them.
#Email the shop as soon as a parcel has a failed delivery attempt, an exception or is returned to sender.
#Poll every
The poll is the backup for webhooks. 17TRACK, TrackingMore and AfterShip are read 40 numbers per request. A number the provider cannot read is retried later with a growing pause (up to two days), so it never holds up the others.
#Stop polling after (days)
Shipments older than this stop being polled. TrackShip does not need it, because it pushes updates itself.
#Tracking update language
Match each order is the right choice for most stores. On a single language store it is simply your site language. On a multilingual store it is the language each customer placed the order in, so two customers of the same shop each read their tracking in their own language.
#If the carrier has no text in that language
Before you switch this on, please read this. Machine translation is performed by your tracking provider, not by Dispatchio, and your provider bills you for it on top of your normal tracking allowance. Dispatchio cannot see your balance or cap this spending, and we receive no part of it. 17TRACK char
#Webhook secret
Shown when Provider is set to TrackingMore (needs a TrackingMore account and API key).
Optional. From Developer > Webhooks in your TrackingMore dashboard, where it is offered on their V4 webhook tier. Supply it and Dispatchio verifies the signature on every callback, on top of the secret already in the URL below. Leave it empty and the URL secret alone is used. Stored encrypted, so on
#I understand my tracking provider charges me for this, and I want it switched on.
Shown when If the carrier has no text in that language is set to Have the provider translate it (your provider charges for this).
Before you switch this on, please read this. Machine translation is performed by your tracking provider, not by Dispatchio, and your provider bills you for it on top of your normal tracking allowance. Dispatchio cannot see your balance or cap this spending, and we receive no part of it. 17TRACK char
Dispatchio Shipment Tracking: Automation
#Processing
Which order statuses count as still needing to be shipped, and so appear on the Fulfillment dashboard.
#On hold
Which order statuses count as still needing to be shipped, and so appear on the Fulfillment dashboard.
#Partially Shipped
Which order statuses count as still needing to be shipped, and so appear on the Fulfillment dashboard.
#Mark Shipped orders as Delivered the number of days below after their last parcel shipped. Use this for carriers you do not track live.
#Auto-delivered after (days)
Only orders shipped after you switched this on are moved, so older orders and imported history are never touched. Completed orders are left alone unless the Shipped status is switched off. When live tracking follows a parcel, the carrier status decides instead: a parcel the carrier reports as in tra
#Email the shop admin when orders stay unfulfilled longer than the days below.
#Alert after (days)
#Email the shop admin a daily summary of shipments sent, deliveries confirmed and shipments needing attention.
#Tracking page
The page holding the [dispatchio_tracking_page] shortcode. Selecting it also turns on shareable tracking links and QR codes in shipment emails and on the order screen.
#Logo
Image URL shown above the lookup form and the results. Upload the image under Media, then copy its File URL here. Leave empty for no logo.
#Accent colour
Hex colour for the progress line, the shipment history and the Track buttons, for example #2271b1. Leave empty to keep the default purple and your theme's button style.
#Hide the Order Placed to Delivered progress steps.
#Hide the carrier checkpoints (scan events) of each shipment.
#Hide the list of products shipped in each parcel.
#Carrier link
Where the button to the carrier's tracking page sits. As a column it lines up with the carrier, tracking number and ship date, and stacks with them on small screens. The tracking number links to the carrier either way.
#Allow lookup by tracking number. Customers can enter a tracking number instead of the order number and email, and see only the shipment with that number.
Dispatchio Shipment Tracking: FTP Import
#Enable scheduled import
#Protocol
#Host
Hostname or IP only, with no protocol prefix and no path.
#Port
#Username
#Password
Stored encrypted. Leave the masked value untouched to keep the current password. Used for FTP and FTPS, and for SFTP when no private key is set.
#Remote path
#File prefix filter
#Delete remote files after a successful import
Either way, Dispatchio remembers each imported file by its path, size and modification time and does not import it again. A file that changes on the server is imported again. A file that cannot be deleted is remembered too, and the problem is written to the log.
#Schedule
#SFTP private key
Shown when Protocol is set to SFTP (SSH).
Optional, SFTP only. Paste a private key in OpenSSH or PEM format to log in with the key instead of the password. It is stored encrypted and never shown again: leave the masked value untouched to keep it, or empty the box to remove it.
#Key passphrase
Shown when Protocol is set to SFTP (SSH).
Only when the private key is protected with a passphrase. Stored encrypted.
#Public key
Shown when Protocol is set to SFTP (SSH).
Only needed with the PHP ssh2 extension, which wants both halves of the key. Dispatchio works it out from RSA and ECDSA keys in PEM format; for other keys paste the one line from the .pub file here.
#SFTP host key fingerprint
Shown when Protocol is set to SFTP (SSH).
Optional, SFTP only. Pin the server SHA1 hex fingerprint so a server presenting a different host key is refused, which blocks a man-in-the-middle.
Dispatchio Shipment Tracking: Stripe
#Sync tracking to Stripe
#Secret key (optional)
Stored encrypted. Leave the masked value untouched to keep the current key. With no key entered, the key saved in the WooCommerce Stripe gateway settings is used. A restricted key needs write access to Charges, PaymentIntents and Disputes, and read access to Balance for the test button.
#Webhook signing secret
Needed for dispute evidence only. Stored encrypted.
#Webhook URL
In the Stripe dashboard, open Developers, then Webhooks, and add an endpoint with the URL above. Select the event charge.dispute.created. No other event is needed. Copy the endpoint signing secret (it starts with whsec_) into the Webhook signing secret field and save.
Dispatchio Shipment Tracking: Tools
#Send webhook notifications
#Endpoint URL
#Signing secret
Stored encrypted. Leave the masked value untouched to keep the current secret.
#Tracking added to an order
#Tracking removed from an order
#Carrier confirmed delivery
#Delivery exception, failed attempt or return to sender
#Parcel out for delivery
#Any carrier status change (in transit, pickup and the rest)
#Tracking edited on an order
#From
#To
Shortcodes
[dispatchio_tracking_page]
Shortcode registered by the plugin.
[dispatchio_tracking_page]
On your site
These pages show what visitors see on your site.