xpay✦ Commerce
Directory
WooCommerce plugins
Shipment Tracking for WooCommerce – Trackora
Shipment Tracking for WooCommerce – Trackora
Free shipment tracking for WooCommerce. Add tracking numbers to orders, emails and My Account, plus a Track Your Order page. 152 carriers.
5.0
(3 ratings)Will this break my store?
What the WordPress.org registry says about keeping Shipment Tracking for WooCommerce – Trackora running.
Tested to 7.1
Tested against the WordPress branch in use today.7 days ago
7.4
Your host must be running at least this version.6.4
woocommerce
These must be installed and active first.1
A single maintainer. Worth knowing if the plugin is load-bearing for your store.Maintenance & trust
Scored on how Shipment Tracking for WooCommerce – Trackora is looked after — not on how many stores run it.
95
out of 100Maintenance
35 / 35WordPress compatibility
20 / 20Support responsiveness
Not enough dataMerchant satisfaction
11 / 15Listing transparency
10 / 10Ratings
5.0
3 ratingsTrackora is a free shipment tracking plugin for WooCommerce. Save a tracking number on an order and the link appears everywhere your customer looks: the confirmation email, the My Account order page, and a public Track Your Order page.
“Where is my order?” is the email every store gets most, and every one of them is time you would rather spend shipping. A customer who can see where their parcel is does not write it.
No settings, no account, no API keys. 100% free — no PRO version, no upsells.
HPOS Compatible · Block Checkout Compatible · 152 Carriers · Bulk CSV Import · REST API · Free & Open Source
Why Trackora
Whether you ship 5 orders a day or 5,000 — single-product stores, high-volume shops, dropshippers and 3PL-fulfilled catalogues all handle tracking the same way here:
- 152 pre-built carriers in 37 countries, each with the correct tracking URL
- Choose which carriers you ship with — turn off the ones you never use on the Shipping Carriers tab, and the order screen offers only your own couriers, with your country first
- Multiple tracking numbers per order, for split shipments
- Bulk CSV import — add tracking to hundreds of orders from a spreadsheet instead of one order at a time, with column mapping, an optional status change, a live progress bar and a reason for every row that fails
- Custom carriers with your own tracking URL — no coding. Add one once on the Shipping Carriers tab and it is offered on every order from then on
- Public tracking page via the
[wcst_tracking]shortcode — customers look up shipments with their order number and billing email, no login required - Styling studio for that page — colours, sizes and starter styles with a live preview, plus a CSS editor, no theme files touched
- Tracking column in the orders list, with copy-to-clipboard
- REST API for automation, fully documented on GitHub
- HPOS, Blocks and Subscriptions compatible
- Privacy-first and GDPR ready — the plugin never calls a carrier’s server
How It Works
- Install and activate Trackora.
- Pick the carrier and paste the tracking number on the order screen.
- Done — the tracking link reaches your customer automatically.
Import tracking in bulk
Your carrier or your 3PL already sends you a file at the end of the day. Import Tracking turns it into saved tracking numbers, from the Trackora screen or from the button at the top of your orders list.
- Drop the file in. CSV saved by any spreadsheet — comma, semicolon or tab separated, and files exported by Excel in a non-English locale keep their accents. Or download a sample built from your own store: real orders of yours that are awaiting shipment and have no tracking yet.
- Check what Trackora read. Column headers couriers actually export are recognised on sight — “Order Number”, “Carrier”, “Ship Date”, “Número de guía”, “Sendungsnummer” and many more, in six languages — and the mapping step shows you that reading so you can correct anything before a single order is touched. Columns Trackora does not know are left alone, so a warehouse export keeps its bays and invoice references.
- Import. Rows are applied in batches behind a live progress bar, and every row that could not be imported is listed afterwards with its line number and the reason.
An import writes tracking and, unless you ask for more, changes nothing else. Two optional switches sit on the mapping step: move every order in the file to a status such as Completed, and send each customer the WooCommerce email for that new status — the email that already carries the tracking number. Both are off by default, and the status changes run only after the whole file has been read, so an order with two shipments in your file is emailed once, with both.
Orders are matched by the number your store displays, an order that already has a tracking number is skipped rather than duplicated, and a carrier name Trackora does not recognise is saved as a custom carrier instead of failing the row.
Supported carriers
152 carriers across 37 countries, including UPS, FedEx, USPS, DHL, Royal Mail, EVRi, DPD, Australia Post, Canada Post, PostNL, PostNord, Correos, SEUR, MRW, Estafeta, Servientrega, Coordinadora, Chilexpress, Andreani, OCA, Interrapidisimo, Olva Courier, Correios, Japan Post, SF Express, Thailand Post and 120+ more across the Americas, Europe, Asia-Pacific, the Middle East and Africa.
Don’t see yours? Add it as a custom provider with your own tracking URL — no coding needed. Every carrier is named, with its terms of service and privacy policy, in the External services section below.
Choose the carriers you ship with
Trackora ships with 152 carriers, and no store uses more than a handful of them. The Shipping Carriers tab is where you turn the rest off: a switch on every row, search by carrier or by country, and a country filter that starts with your own market — read from your WooCommerce store address. What you leave on is what the order screen offers, so picking a carrier stops being a scroll through 37 countries.
Add the courier the list does not cover with Add a carrier: a name, a country, and the tracking URL with {tracking_number} where the number goes. It is saved once and offered on every order from then on. Carriers you added can be edited or renamed later — the orders already using them keep their tracking links — and if the carrier has no URL that accepts the number, leave it empty and the number is shown without a link.
Nothing is switched off behind your back: updating Trackora leaves every carrier enabled until you open the tab and choose.
Works with the plugins you already run
- Custom and sequential order numbers — the tracking page and the CSV importer resolve orders by the number your store actually displays, so WooCommerce Sequential Order Numbers, Sequential Order Numbers Pro and Custom Order Numbers for WooCommerce work with no configuration. Any other numbering scheme can be added with the
wcst_order_number_meta_keysfilter - WooCommerce Subscriptions — tracking numbers are never copied onto renewal orders, so next month’s subscription order never arrives carrying last month’s tracking link
- Email customisers — tracking is injected through WooCommerce’s own
woocommerce_email_before_order_tablehook, so any customiser that keeps the standard order email templates — YayMail, Kadence WooCommerce Email Designer, WP HTML Mail and others — displays it with no extra setup - HPOS and Block Checkout — full support for High-Performance Order Storage as well as legacy post storage, and for the block-based cart and checkout
- Label printers, 3PLs and ERPs — anything that can call the WooCommerce REST API can push tracking numbers straight onto orders. Files exported by a courier usually import as-is: Order Number, Carrier, Ship Date, “Número de guía”, “Sendungsnummer” and many more column headers are recognised automatically, in English, Spanish, German, French, Italian and Portuguese
For developers
Trackora exposes a REST API with full create, read, update and delete over tracking items, the PHP helpers wcst_add_tracking() and wcst_delete_tracking(), and filters to extend the carrier list, the orders list column and the email output.
Endpoints, filters and code examples are documented on GitHub: https://github.com/slbarriosdev/wc-shipment-tracker — bug reports and contributions welcome.
External services
This plugin generates tracking links pointing to carrier websites. When a tracking number is added to an order, the plugin builds a URL for the selected carrier and displays it to the store admin and customers.
The plugin does not make any server-side HTTP requests to carrier websites. Data is only transmitted when a user (admin or customer) actively clicks a tracking link — at that point their browser connects to the carrier’s website and the tracking number (and in some cases the shipping postcode) is passed in the URL as required by that carrier’s tracking system.
Each carrier operates its own website under its own terms of service and privacy policy. The external carrier services this plugin may link to include:
Global
Argentina
- Correo Argentino — Terms | Privacy
- OCA — Privacy
- Andreani — Privacy
- DHL Argentina — Terms | Privacy
- FedEx Argentina — Terms | Privacy
- Urbano — Privacy
Australia
- Australia Post — Terms | Privacy
- Fastway Couriers — Terms | Privacy
- Aramex Australia — Terms | Privacy
Austria
Belgium
Brazil
Canada
Chile
- Correos Chile — Terms | Privacy
- Chilexpress — Terms | Privacy
- Starken — Privacy
- DHL Chile — Terms | Privacy
- Blue Express — Privacy
China
- China Post / EMS — Privacy policy currently unavailable (provider website blocks automated access)
- YTO Express — Privacy
- ZTO Express — Privacy
- SF Express — Privacy
- Cainiao — Privacy
- 4PX — Privacy
- Yanwen — Privacy
- Yunexpress — Privacy
Colombia
- Servientrega — Terms | Privacy
- Coordinadora — Privacy
- Deprisa (operated by Avianca) — Privacy
- TCC — Terms | Privacy
- DHL Colombia — Terms | Privacy
- J&T Express CO — Privacy
- Interrapidisimo — Terms | Privacy
Czech Republic
- PPL.cz — Terms | Privacy
- Česká pošta — Terms | Privacy
- DHL.cz — Terms | Privacy
- DPD.cz — Terms | Privacy
Ecuador
- Servientrega EC — Terms | Privacy
- Laar Courier — Privacy
- Correos Ecuador — Privacy
- DHL Ecuador — Terms | Privacy
Finland
France
Germany
- DHL Intraship / Deutsche Post DHL — Terms | Privacy
- Hermes — Terms | Privacy
- UPS Germany — Terms | Privacy
- DPD.de — Terms | Privacy
India
Ireland
Italy
Japan
Malaysia
- Pos Malaysia — Terms | Privacy
- J&T Express MY — Privacy
- Ninja Van MY — Privacy
- DHL Malaysia — Terms | Privacy
Mexico
- Correos de Mexico — Privacy
- Estafeta — Terms | Privacy
- Paquetexpress — Privacy
- Redpack — Privacy
- DHL Mexico — Terms | Privacy
- FedEx Mexico — Terms | Privacy
- UPS Mexico — Terms | Privacy
- Coordinadora — Privacy
- J&T Express Mexico — Privacy
Netherlands
New Zealand
Nigeria
Peru
- Serpost — Terms | Privacy
- Olva Courier — Terms | Privacy
- DHL Peru — Terms | Privacy
- Shalom — Privacy
Poland
Portugal
- CTT — Terms | Privacy
- DPD Portugal — Terms | Privacy
- GLS Portugal — Terms | Privacy
- DHL Portugal — Terms | Privacy
Romania
Singapore
South Africa
South Korea
Spain
- Correos España — Terms | Privacy
- MRW — Terms | Privacy
- SEUR — Terms | Privacy
- GLS Spain — Terms | Privacy
- Nacex — Terms | Privacy
- DHL Spain — Terms | Privacy
- UPS Spain — Terms | Privacy
- DPD Spain — Terms | Privacy
- ASM — Terms | Privacy
- Correos Express — Terms | Privacy
- Zeleris — Privacy
- TNT Spain — Terms | Privacy
Sweden
- PostNord — Terms | Privacy
- DHL.se — Terms | Privacy
- Bring.se — Terms | Privacy
- UPS.se — Terms | Privacy
- DB Schenker (tracking portal: privpakportal.schenker.nu for Privpak service) — Terms | Privacy
Thailand
- Thailand Post — Terms | Privacy
- Kerry Express (KEX) — Terms | Privacy
- Flash Express — Privacy
- J&T Express TH — Privacy
Turkey
United Kingdom
- DHL UK — Terms | Privacy
- DPD.co.uk — Terms | Privacy
- DPD Local — Terms | Privacy
- InterLink (the former trading name of DPD Local; links resolve to dpdlocal.co.uk) — Terms | Privacy
- EVRi — Terms | Privacy
- ParcelForce — Terms | Privacy
- Royal Mail — Terms | Privacy
- TNT Express — Terms | Privacy
- DHL Parcel UK — Terms | Privacy
- City Link — Privacy
United States
- UPS — Terms | Privacy
- FedEx / FedEx Sameday (tracking portal: fedexsameday.com for Sameday deliveries) — Terms | Privacy
- USPS — Terms | Privacy
- DHL US / DHL eCommerce — Terms | Privacy
- GlobalPost — Terms | Privacy
- OnTrac — Terms | Privacy
Venezuela
Open the order, find the Shipment Tracking meta box, select the carrier, enter the tracking number and ship date, and click Save. The tracking link is instantly added to the customer’s order email, their My Account page, and the tracking lookup page.
Yes — completely free. All features (unlimited tracking numbers, 152 carriers, emails, My Account, tracking page, CSV import, REST API) are included. There is no premium version and no locked functionality.
Yes. Trackora requires WooCommerce to be installed and active.
Yes. Add the [wcst_tracking] shortcode to any page and customers can look up their shipment by entering their order number and billing email — no login required.
Yes, as many as you need — useful for split shipments or orders shipped with multiple carriers.
Yes, in two ways. For a courier you use regularly, open the Shipping Carriers tab on the Trackora screen and click Add a carrier: give it a name, a country and its tracking URL with {tracking_number} where the number goes — for example https://carrier.com/track?id={tracking_number}. From then on it is offered on every order, like any built-in carrier. For a one-off shipment, select “Custom Provider” on the order itself and enter the name and URL there, using %1$s for the number. You can also paste the complete link for that one shipment, with the number already in it. The live preview shows the exact URL your customer will open. If the carrier has no tracking page at all, leave the link empty and the number is shown without a Track button.
Yes. The Shipping Carriers tab lists all 152 with a switch on each one. Turn off everything you do not ship with and the carrier select on the order screen offers only what is left, with the carriers from your own country first. You can switch a whole country on at once, or turn the lot off and enable just the handful you use. Turning a carrier off never touches the orders that already use it: their tracking links keep working, and that carrier stays selectable if you edit one of those older shipments.
Yes. The Import Tracking tab on the Trackora screen — also one click from the top of your orders list — writes tracking to hundreds of orders at once. Drop your file in, check the column mapping Trackora read out of your header row, and import. Download a sample built from your own store — real orders awaiting shipment that have no tracking yet, with one of them repeated on a second line to show how a single order can carry more than one shipment — paste your tracking numbers and upload it. Comma, semicolon and tab separated files are all accepted, column headers your carrier or 3PL already exports are recognised in six languages, and every row that could not be imported is listed with its line number and the reason. Re-importing the same file never duplicates anything.
Only if you ask it to. By default an import writes tracking numbers and changes nothing else — no status change, no email. Two optional switches on the mapping step change that: move every order in the file to a status such as Completed, and send each customer the WooCommerce email for that new status, which already carries the tracking number this import saved. The email switch only becomes available once you have chosen a status, since Trackora has no email of its own to send. The status changes run after the whole file has been read, so an order carrying two shipments in your file is emailed once, with both.
Yes. Both the public tracking form and the CSV importer look orders up by the number your store displays, not the internal ID, so plugins such as WooCommerce Sequential Order Numbers and Custom Order Numbers for WooCommerce work without configuration.
No. Trackora makes zero server-side requests to third parties. Tracking links are simply URLs that open the carrier’s website when a user clicks them.
Yes. Trackora is fully compatible with High-Performance Order Storage (and legacy order storage), declares compatibility with the block-based cart and checkout, and prevents tracking numbers from being copied to subscription renewal orders.
Yes. The plugin provides a REST API covering create, read, update and delete, plus the PHP helpers wcst_add_tracking() and wcst_delete_tracking() for use from themes, plugins, or automation scripts.
Yes. Trackora registers a personal data exporter and eraser with WordPress, so tracking numbers, carrier names and ship dates attached to a customer’s orders are included when you run Tools → Export Personal Data or Tools → Erase Personal Data. It also contributes a section to the privacy policy guide at Settings → Privacy.
Categories
Plugin details
Tags on WordPress.org
