Last updated

Connect and manage shipment tracking

CWILL Order Tracking

Connect and manage shipment tracking

CWILL Order Tracking is an optional CartWhizz addon. It is disabled by default. Enable it in Modules before opening its configuration page. Disabling the addon stops its tracking synchronization and its additional storefront features; normal CartWhizz order tracking remains available.

Connect the tracking provider

CWILL's all-platform shipment-tracking documentation links to the TrackingMore v4 API. This CartWhizz connector uses that API. It requires a merchant-owned TrackingMore API key with the appropriate service access. A ParcelPanel or Shopify app API key is not interchangeable with this key. Provider charges and account limits belong to the merchant's provider account. See CWILL developer documentation and TrackingMore API documentation.

  1. Open CWILL Order Tracking → Settings.
  2. Enter the TrackingMore API key. CartWhizz stores it encrypted and never returns it to the browser. Leaving the field blank preserves a saved key; removing it requires the explicit remove-key control.
  3. Review and enable the shipment-data sharing consent. Synchronization sends tracking numbers and carrier codes to the provider. Customer names, email addresses, phone numbers, delivery addresses and order items are not sent by this connector.
  4. Save, then use Check connection. This checks provider access without creating a shipment booking or buying a label.
  5. Turn on automatic tracking synchronization when ready, or refresh tracking manually. Only orders with shipment tracking details can be synchronized. Carrier codes must match the provider's supported carrier codes.

Refresh tracking can import local CartWhizz shipment records from the last 120 days without a provider connection. External provider updates still require the verified key and sharing consent. A sweep refreshes a bounded number of eligible parcels. Moving parcels are normally checked about every 30 minutes, and out-for-delivery or exception parcels about every 10 minutes. These periodic checks remain available as a fallback when real-time webhook alerts are configured.

Changing the key clears its verified connection state. Save and check the new connection before resuming synchronization. A provider error does not mean that a shipment was lost; review the connection status and try again after resolving credentials, quota or carrier-code problems.

Set up real-time webhook tracking

Webhooks start off, independently of automatic polling. They let a TrackingMore V4 alert trigger an immediate authenticated read of the latest tracking record. CartWhizz does not accept status, delivery estimates or checkpoint text from the alert as shipment truth. Provider and carrier update timing still determine when new information becomes available.

  1. Save and verify the API connection and shipment-data sharing consent first.
  2. In Real-time tracking updates, enter the separate Webhook Secret from your TrackingMore account and save. This secret is different from the API key. It is encrypted and write-only; an empty field keeps a previously saved secret.
  3. Select Create callback URL. Copy the complete URL directly into TrackingMore. The URL is masked in the editor and shown only in the current page session; it is not stored in browser storage or returned by ordinary settings reads. If it is lost, use Replace callback URL and update the provider configuration.
  4. In TrackingMore, open Developer → Webhooks, add the copied URL, select V4 and choose the tracking statuses you need. Webhook and API versions must match. See the TrackingMore setup guide and V4 webhook specifications for the current provider requirements.
  5. Return to CartWhizz, enable Receive real-time tracking webhooks and save. A saved, verified API connection, sharing consent, webhook secret and callback are all required. Automatic polling has its own switch.
  6. Use TrackingMore's test action after enabling and saving webhook processing in CartWhizz. The callback rejects processing while its switch or addon is off.

Register new shipments first. Webhooks update existing registered tracking records; they do not discover new order shipments. Keep Automatically refresh tracking enabled to discover and register new shipment tracking numbers, or run Refresh tracking manually after adding those details to an order.

The provider test checks callback reachability. Shipment updates apply only to existing store tracking records whose provider identity, tracking number and carrier match the authenticated provider read. The settings page shows the latest verified alert and successful webhook refresh without exposing the payload. Unknown shipments do not create orders or shipping bookings. Repeated alerts reuse the normal shipment-merge and notification protections.

Replacing the callback URL disables the old URL immediately and leaves webhook processing off until you configure and enable the new one. Replacing or removing the webhook secret also invalidates the callback. Changing or removing the API key, revoking sharing consent or disabling the addon stops webhook processing. Review setup again before resuming. Keep the callback URL and webhook secret out of support messages and screenshots.

Review shipments and exceptions

The Shipments tab lists the store's tracking records. Search by order or tracking number and filter for shipping status, stalled shipments or exceptions. Open an order to review its normal fulfillment details. Refreshing tracking reads the provider's latest known status; it does not book or cancel shipping and does not mark an order paid.

The stalled threshold counts days without a new tracking event while a shipment is still moving. A carrier-reported exception and a stalled shipment are different signals: either can require investigation. The last tracking event and last provider check are displayed separately so a recent check is not mistaken for recent physical movement.

Customize the customer tracking page

The addon extends the existing /order-tracking page on the store's own domain. Customers use the existing order-number and email lookup or their authenticated order access. Tracking data remains subject to the normal order-ownership checks.

Set an optional heading, message and accent color. Empty heading and message fields use the page's translated defaults. Dates and labels follow the store's normal language and date-display settings. An estimated delivery range is an estimate, not a delivery guarantee. The configured fallback delivery range is used only when a suitable carrier estimate is unavailable. Both fallback days start at zero, which leaves the fallback estimate off; set an appropriate range before using it.

Hide origin details omits carrier names and codes, first- and last-mile tracking identifiers, raw provider descriptions and locations, labels and external carrier links from the shopper projection. Canonical shipment progress, event times and delivery estimates remain factual; the addon does not invent replacement origins. The original carrier record remains available to authorized store staff. This setting changes presentation; it does not change the package's actual route, country of origin, customs declarations or delivery estimate.

Shipping notifications

Automatic shipping emails start switched off. Enable them only after reviewing the store's existing email service and shipping-update preference. This addon uses the configured email provider and localized shipping templates; it does not supply email credentials or send SMS or WhatsApp updates. Repeated provider reads must not produce repeated customer emails for the same shipping event. Disabling the addon or its notification option stops new addon emails. Existing carrier integrations retain their own notification settings.

Recommendations and delivery analytics

The optional recommendations setting adds eligible store products to tracking visits. Product availability, storefront visibility and normal catalog pricing still apply. AI ranking requires the store's existing CartWhizz AI configuration and usage allowance. When AI is unavailable, ordinary catalog recommendations can be used without being presented as AI-generated results.

The Analytics tab groups recorded shipments by carrier and shows delivered shipments, exceptions, stalled shipments and observed delivery times. These figures describe synchronized tracking records, not all store orders or guaranteed carrier performance. Delivery-time averages depend on valid pickup and delivery events.

Permissions and native apps

Settings and shipment access follow the corresponding CartWhizz staff permissions. The admin app opens the authenticated web setup for connection and webhook configuration. Customer app tracking uses the same authorized, sanitized tracking projection as the web page and receives saved webhook-driven tracking updates without a new customer setting. Credentials are configured only by authorized administrators and never included in customer responses or tracking links.

This is a CartWhizz connector and branded tracking experience. It does not claim to install the Shopify CWILL app, provide CWILL support services, conceal legally required origin information or replace a carrier account.