WooCommerce Store
The TrackLogy plugin for WooCommerce syncs tracking numbers to your TrackLogy workspace automatically. When a tracking number is added to any order, the plugin sends it to TrackLogy instantly — no manual entry, no API calls required from your side.
What the Plugin Does
- Auto-syncs tracking numbers — when a tracking number is added to a WooCommerce order (manually or by a fulfillment plugin), TrackLogy receives it immediately
- Shipment status email notifications — sends branded delivery status emails to customers (In Transit, Out for Delivery, Delivered, and more), customizable per status with a live template editor
- Delivery automation — automatically marks WooCommerce orders as delivered when TrackLogy reports a delivered event from the carrier
- Real-time status updates — TrackLogy pushes tracking events back to the order via webhook; current status is visible in the order edit screen sidebar
- Carrier mapping — map your WooCommerce carrier names to TrackLogy provider slugs so the correct carrier is used for tracking
- Track button on orders page — optional "Track" button in the customer account orders list
Compatible with WooCommerce High-Performance Order Storage (HPOS). Tracking data is stored in the _wc_shipment_tracking_items order meta, the same format used by the WooCommerce Shipment Tracking extension.
Requirements
- WordPress 5.8+
- WooCommerce 6.0+
- PHP 7.4+
- An active TrackLogy account — create one free (opens in a new tab)
Installation
Download the plugin
The TrackLogy for WooCommerce plugin is available on the official WordPress plugin directory:
- WordPress.org (recommended): Search "TrackLogy for WooCommerce" in your WordPress admin → Plugins → Add New, or install directly from wordpress.org/plugins/tracklogy-for-woocommerce (opens in a new tab)
- TrackLogy dashboard: my.tracklogy.com/integrations (opens in a new tab) → WooCommerce → Get Plugin
Upload and activate
- Log in to your WordPress admin panel
- Go to Plugins → Add New → Upload Plugin
- Choose the downloaded ZIP file and click Install Now
- Click Activate Plugin
After activation a TrackLogy entry appears in your WordPress admin sidebar.
Connect to TrackLogy
Go to TrackLogy in your WordPress sidebar and click the Connect Store button.
You are redirected to the TrackLogy connection approval page. Sign in to your TrackLogy account if prompted, review the store details, then click Approve Connection.
TrackLogy sends the credentials back to the plugin automatically. You are redirected to WordPress with a "Store connected" confirmation.
No API key entry is needed in WordPress. The connection uses a secure token exchange — credentials are passed directly between TrackLogy and the plugin.
Verify the connection
On the TrackLogy dashboard page in WordPress admin, the status indicator shows Connected with your store name. The plugin is now active and will sync all future orders that have tracking numbers.
How Shipment Sync Works
The plugin adds a TrackLogy Tracking panel to the order edit screen sidebar. From there you can:
- Add a tracking number manually — enter a tracking number, select a carrier, and send it to TrackLogy immediately
- Auto-send on status change — configure which order statuses trigger an automatic sync in TrackLogy → Settings → General
- Use the order action — from the order actions dropdown on the order edit screen, select "Send to TrackLogy" to push any unsent tracking numbers on demand
When a tracking number is sent, the plugin calls:
POST https://api.tracklogy.com/v1/shipmentsWith the following data extracted from the WooCommerce order:
| Field | Source |
|---|---|
tracking_number | Tracking number on the order |
tracking_provider | TrackLogy carrier slug (from Carrier Mapping or order meta) |
customer_name | WooCommerce billing name |
customer_email | WooCommerce billing email |
customer_phone | WooCommerce billing phone |
customer_address | WooCommerce shipping address |
destination_country | WooCommerce shipping country |
postal_code | WooCommerce shipping postcode |
order_id | WooCommerce order ID |
order_number | WooCommerce order number |
store_url | Your WordPress site URL |
currency | WooCommerce order currency |
Settings
Go to TrackLogy → Settings in your WordPress admin. Settings are organized in five tabs.
General
Shipment Trigger to TrackLogy on statuses — select which WooCommerce order statuses automatically push tracking numbers to TrackLogy. Leave empty to disable auto-send and use the manual meta box or order action instead.
Add a track button to orders history page — adds a "Track" button to the Actions column on the customer-facing My Account → Orders page.
Mark orders as shipped by default — pre-selects the "Mark as shipped" checkbox when adding tracking info from the order edit screen.
Rename "Completed" to "Shipped" — displays "Shipped" everywhere WooCommerce shows the "Completed" status (orders list, order screen, emails, customer account). The underlying WooCommerce status remains wc-completed.
Automation
Enable Order Delivery Automation — when TrackLogy receives a delivered event from the carrier it sends a webhook to your store. With this on, the plugin automatically transitions the WooCommerce order to the delivered status with no manual work needed.
Notifications
TrackLogy sends branded shipment status email notifications to your customers when their shipment status changes. Notifications are sent by the plugin (not by WooCommerce) and are fully customizable per status.
Status toggles — enable or disable notifications independently for each status:
| Status | Default |
|---|---|
| In Transit | Enabled |
| Out for Delivery | Enabled |
| Available for Pickup | Enabled |
| Delivered | Enabled |
| On Hold | Disabled |
| Return to Sender | Disabled |
| Failed Attempt | Disabled |
| Exception | Disabled |
| Expired | Disabled |
Template editor — click Edit Template on any status to open the live editor:
- Subject line
- "From" name and email address (applies to all shipment emails)
- Heading and body text — supports placeholders:
{order_number},{site_title},{customer_name},{tracking_number},{carrier},{status} - Accent color and body text color to match your store branding
- "Track your order" button (enable/disable, set button text)
- "Items in this shipment" section toggle
- Footer text
- Send test — send a test email to any address to preview the template live
Carrier Mapping
Map carrier names from WooCommerce (e.g. "Royal Mail") to TrackLogy carrier slugs (e.g. royal-mail). When a tracking number is added with a matching carrier name the plugin automatically uses the correct TrackLogy slug.
Find available carrier slugs in your TrackLogy account under Carriers.
Click Add Mapping to add a row, enter the WooCommerce carrier name on the left, and select the TrackLogy carrier on the right.
Shipping Providers
Enable or disable which TrackLogy carriers appear in the carrier dropdown on the order edit screen and in the Carrier Mapping tab. Use Enable all / Disable all to manage the list, or search by provider name.
Disabling a provider does not affect shipments already sent to TrackLogy. Click Refresh list to sync the latest carrier list from TrackLogy.
Webhook (Real-time Status Updates)
TrackLogy pushes tracking events back to your store via a signed webhook:
POST https://your-store.com/wp-json/tracklogy-for-wc/v1/webhookThis endpoint is registered automatically when the plugin is connected. When TrackLogy receives a new event from the carrier it sends a tracking.updated payload. The plugin then:
- Updates the shipment status shown in the order edit screen
- Fires the status-change action to trigger customer notification emails (if enabled)
- Adds a private order note with carrier, tracking number, and new status
Signature verification — every request is signed with HMAC-SHA256 using a shared secret. The plugin verifies the X-Tracklogy-Signature (or X-Hub-Signature-256) header on every incoming request and rejects unsigned requests with 401.
Store Management
When the plugin first syncs a shipment, TrackLogy automatically creates a store record linked to your WordPress URL. You can view and manage it under Dashboard → Stores in your TrackLogy account.
Subsequent syncs from the same store URL link to the existing record — no duplicates are created.
Disconnecting
A connected store can only be disconnected from the TrackLogy dashboard, not from WordPress. Go to Dashboard → Stores, find your store, and remove it. TrackLogy sends a signed disconnect request to the plugin which clears the stored credentials automatically.
Third-party Integration
Other plugins can create TrackLogy shipments programmatically using the WordPress action hook:
do_action( 'tlg_create_shipment', $order_id, $tracking_number, $tracking_provider );| Parameter | Type | Description |
|---|---|---|
$order_id | int | WooCommerce order ID |
$tracking_number | string | The carrier tracking number |
$tracking_provider | string | TrackLogy carrier slug (optional — auto-detected if omitted) |
Troubleshooting
Shipments not appearing in TrackLogy
- Check that the store shows as Connected in TrackLogy in your WordPress sidebar
- Verify the order has a tracking number saved
- Check WooCommerce → Status → Logs for any
tracklogy-for-woocommerceerror entries - Confirm outbound HTTPS requests to
api.tracklogy.comare not blocked by your server or firewall
"Tracker balance is not available" error
- Your TrackLogy tracker balance is exhausted. Upgrade your plan →
Connection fails
- Ensure your WordPress site is publicly reachable (not behind maintenance mode, Cloudflare Access, or a password)
- The plugin must be able to receive a
POSTrequest to/?tracklogy_wc=connectfrom TrackLogy's servers
Webhook not receiving events
- Confirm the plugin is still connected (check the status in TrackLogy in your sidebar)
- Verify
https://your-store.com/wp-json/tracklogy-for-wc/v1/webhookis reachable from the internet - Check if a security plugin (Wordfence, etc.) is blocking incoming requests
Notifications not sending
- Go to TrackLogy → Settings → Notifications and verify the status toggle is on
- Use Send test in the template editor to confirm your server can send email
- Check your server's mail function or SMTP plugin for delivery errors
For further help, contact [email protected].