xpay✦ Commerce
Directory
WooCommerce plugins
Vanquish Shipping Tracking for WooCommerce
Vanquish Shipping Tracking for WooCommerce
Add a tracking number and carrier to WooCommerce orders and emails, with a direct link to the carrier tracking page.
5.0
(5 ratings)Will this break my store?
What the WordPress.org registry says about keeping Vanquish Shipping Tracking for WooCommerce running.
Tested to 7.1
Tested against the WordPress branch in use today.3 days ago
7.4
Your host must be running at least this version.5.8
woocommerce
These must be installed and active first.100% of 7 recent threads resolved
From the plugin's WordPress.org support forum.2
Maintenance & trust
Scored on how Vanquish Shipping Tracking for WooCommerce is looked after — not on how many stores run it.
97
out of 100Maintenance
35 / 35WordPress compatibility
20 / 20Support responsiveness
20 / 20Merchant satisfaction
12 / 15Listing transparency
10 / 10Ratings
5.0
5 ratingsVanquish Shipping Tracking for WooCommerce lets you attach a tracking number, a shipping carrier and a dispatch date to each WooCommerce order. The tracking information is shown to your customers in the order emails and on the order details / My Account page, with a direct link to the carrier’s tracking page — the link already has the tracking code filled in whenever the carrier supports it.
Free features
- Assign a carrier, tracking number and dispatch date to any order.
- 1,600+ predefined carriers worldwide, each with a direct tracking link.
- Narrow that list to the carriers you actually ship with, so the dropdown is three entries instead of 1,600.
- Define your own carriers, with a tracking URL template that supports tracking code, postcode and country placeholders.
- Tracking details inside the standard WooCommerce order emails.
- Tracking details on the order details / My Account page.
- Two fully editable tracking messages — one for the order page, one for the emails — with a visual editor and placeholders for the tracking number, carrier name, tracking link, order number, order page and dispatch date.
- Tracking column in the admin orders list.
- A shortcode that lets customers look up their own tracking with an order number and billing email, rate limited:
[vanstr_tracking_form]. - Choose which order statuses show the tracking, whether it goes into the emails, and where it appears — before or after the order table, separately for the emails and the order page.
- Optional default carrier, preselected on orders that have no tracking yet.
- Optionally start the dispatch date on today’s date, for shops that enter the tracking on the day they ship.
- An order note every time the tracking is added or changed, timestamped by WooCommerce — a record of when each parcel was booked, kept where your customers never see it.
- Mark an order as completed from the order screen with one switch, right under the tracking. It appears on orders that are not completed yet, for shops that complete an order as soon as the tracking is in.
- HPOS (High-Performance Order Storage) compatible.
- A documented function,
vanstr_set_tracking(), for attaching tracking from your own code when your warehouse software or carrier plugin books the parcel. - Multilingual ready: with WPML or Polylang active, every customer-facing message can be entered in each language, right on the plugin’s settings pages.
- Migrates your settings and each order’s tracking automatically from the legacy “WooCommerce Shipping Tracking” (CodeCanyon) plugin.
Premium features
- In-site shipping timeline — show the live shipment status (picked up, in transit, out for delivery, delivered…) as a timeline on the order page, drawn by your own site rather than embedded from the provider. Bring your own API key from AfterShip, TrackingMore or track123; requests go straight from your site to the service you chose. Includes a one-click connection test.
- Multiple shipments per order — each parcel with its own carrier, tracking number, dispatch date, note and the products it contains.
- Per-product tracking — when a shipment is tied to specific products, its tracking link is shown next to those products on the order page and in the emails (can be turned off).
- Shipping estimates for products — show an estimated shipping (dispatch) date on the product page, cart, checkout, order and emails, computed from rules you set per product, category or tag (shipping days, cut-off hour, processing days, holidays, optional date range), with a configurable out-of-stock text.
- Delivery estimates for shipping methods — attach a “3–5 days” style estimate to each shipping method, shown with the method in the cart and at checkout. Works in both the block and the classic checkout.
- Requested delivery date — let customers pick a preferred delivery date (and an optional merchant-defined time slot) at checkout, within the window you configure (lead time, latest date, excluded weekdays and dates). Works in both the block and the classic checkout; editable from the admin order screen.
- Bulk import — load tracking codes from a CSV (one row per shipment, auto-detected delimiter) with a progress bar, plus an optional scheduled import that fetches a CSV from a URL you configure.
- Quick assign — fill in tracking for many orders from a single screen, with filters, per-row notifications and an optional status change after saving.
- “Order shipped” notification email — a real WooCommerce email, configured under WooCommerce → Settings → Emails like any other.
- Automatic shipment monitoring — check your tracked shipments on a schedule and act on what changes. Tell customers when their parcel is out for delivery, ready for pickup or delivered, and be alerted yourself when one reports a problem or stops moving for a number of days you choose. Each event is announced once per shipment, delivered parcels are never polled again, and a “check now” button runs a pass immediately.
External services
The free version does not send any data to external services. It only builds direct links to the carriers’ own tracking pages, which the customer opens in their browser.
The premium version can connect to external services. Both are configured and controlled entirely by you:
- Tracking providers (in-site timeline). When you enable the shipping timeline and select a provider, the plugin sends the order’s tracking number and carrier code to that provider’s API to retrieve the shipment status, using your own account’s API key. No data is sent until you enter an API key and select the provider. Supported providers:
- AfterShip — https://www.aftership.com/ (terms, privacy)
- TrackingMore — https://www.trackingmore.com/ (terms, privacy)
- track123 — https://www.track123.com/ (terms, privacy)
- Scheduled CSV import. If you enable the scheduled bulk import, the plugin periodically downloads a CSV file from the URL that you configure (typically a feed published by your own warehouse or fulfilment service). No data is sent to that URL; the file is only fetched.
Yes. The free version links to the carriers’ tracking pages and needs no external account or API key. In the premium version, the in-site timeline is the only feature that uses a tracking service — with your own API key.
Yes. The [vanstr_tracking_form] shortcode puts a small form on any page: the customer enters an order number and the billing email of that order, and gets the tracking of that order back, using the message you configured. Failed attempts are rate limited, so the form cannot be used to fish for order numbers. An optional title attribute adds a heading, as in [vanstr_tracking_form title="Track your order"].
Yes. The checkout features (requested delivery date, delivery estimates on shipping methods, per-product shipping estimates) work in both the block checkout and the classic (shortcode) checkout.
Yes, the plugin is fully compatible with HPOS and with the classic order storage.
No. Your orders keep their tracking: carrier, tracking number and dispatch date are converted the first time each order is loaded, so there is no bulk operation to run. Custom carriers, and the extra shipments and notes if you used them, come across too.
Your settings are migrated as well: the tracking messages (including every language, on a WPML or Polylang site) and the order statuses the tracking is shown on. The placeholders are the same in both plugins, so your wording carries over unchanged. Anything that has no equivalent in the new plugin — most of the old options page consisted of workarounds this plugin no longer needs — is simply left behind, and the advanced features have their own settings pages, which you fill in yourself.
The migration never overwrites anything you have already configured here. It does, however, clear the old plugin’s data as it converts each piece — the custom companies once they have been imported, and each order’s old tracking fields once that order has been converted — because that is how it knows not to run twice. Your messages and the order-status setting are left untouched.
So nothing is lost, but going back to the old plugin is not clean: it would find its custom companies gone and no tracking on the orders you had opened. If you want a way back, take a database backup before you start.
Yes, with vanstr_set_tracking():
vanstr_set_tracking( $order_id, '1Z999AA10123456784', 'ups', '2026-09-09' );
The arguments are the order (an id or a WC_Order), the tracking number, the carrier, and an optional dispatch date as Y-m-d. For the carrier, use the slug shown in brackets under Shipping Tracking → Shipping companies, or the id of one of your own custom companies. A date in any other format is refused rather than stored in a shape the plugin cannot read back, and omitting it leaves whatever the order already had.
Call it any time after plugins_loaded, and wrap it in function_exists( 'vanstr_set_tracking' ) so your code survives the plugin being deactivated. It returns true when the tracking was written, false when WooCommerce is unavailable or the order does not exist. Each call also leaves an order note, so shipments booked by an integration leave the same timestamped trail as the ones entered by hand.
Yes. Every email is a standard WooCommerce email, so you edit it under WooCommerce → Settings → Emails, exactly like the ones WooCommerce sends itself: subject, heading, extra content, the enable switch and your store’s branding. The plugin adds “Order shipped”, “Shipment status update” and “Shipment needs attention (admin)” (the last one goes to you, not the customer, and lets you set the recipient).
The tracking block inside those emails comes from the message you write in Shipping Tracking → Messages, where you can use placeholders such as the tracking number, the carrier name, the tracking link and the products carried by that shipment.
On top of that, the two monitoring emails accept placeholders in their Subject, Email heading and Additional content fields: {order_number}, {tracking_number}, {carrier} and {associated_products}, plus {status} on the status update and {issue} on the admin alert. So a subject like Your {carrier} parcel: {status} or an extra line saying This parcel contains: {associated_products} works without touching any template.
They stay. Custom carriers, messages, enabled carriers and — in the premium version — estimate rules, providers and API keys all survive an uninstall and are still there after a reinstall, and the tracking saved on your orders is never touched. If you do want a clean slate, Shipping Tracking → Settings has a “Reset settings” action that clears the configuration on purpose, behind a confirmation. It leaves the tracking on your orders alone.
The plugin ships translation-ready (POT file included). On top of that, if WPML or Polylang is active, the settings pages show one input per language for all the customer-facing text (messages, labels, estimates), so you can translate them without extra tools.
Plugin details
Tags on WordPress.org
