Stores
WooCommerce

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

Installation

Download the plugin

The TrackLogy for WooCommerce plugin is available on the official WordPress plugin directory:

Upload and activate

  1. Log in to your WordPress admin panel
  2. Go to Plugins → Add New → Upload Plugin
  3. Choose the downloaded ZIP file and click Install Now
  4. 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/shipments

With the following data extracted from the WooCommerce order:

FieldSource
tracking_numberTracking number on the order
tracking_providerTrackLogy carrier slug (from Carrier Mapping or order meta)
customer_nameWooCommerce billing name
customer_emailWooCommerce billing email
customer_phoneWooCommerce billing phone
customer_addressWooCommerce shipping address
destination_countryWooCommerce shipping country
postal_codeWooCommerce shipping postcode
order_idWooCommerce order ID
order_numberWooCommerce order number
store_urlYour WordPress site URL
currencyWooCommerce 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:

StatusDefault
In TransitEnabled
Out for DeliveryEnabled
Available for PickupEnabled
DeliveredEnabled
On HoldDisabled
Return to SenderDisabled
Failed AttemptDisabled
ExceptionDisabled
ExpiredDisabled

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/webhook

This 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:

  1. Updates the shipment status shown in the order edit screen
  2. Fires the status-change action to trigger customer notification emails (if enabled)
  3. 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 );
ParameterTypeDescription
$order_idintWooCommerce order ID
$tracking_numberstringThe carrier tracking number
$tracking_providerstringTrackLogy 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-woocommerce error entries
  • Confirm outbound HTTPS requests to api.tracklogy.com are not blocked by your server or firewall

"Tracker balance is not available" error

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 POST request to /?tracklogy_wc=connect from 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/webhook is 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].