Inconsistencies in your order creation and tracking processes can affect your consumers' tracking experience.
To help reduce the number of issues they may face, here are some 'best practices' that you can follow:
Always use the Shipping API. Only orders created via the Metapack Shipping API can be tracked in Delivery Tracker. So, if you are a Delivery Manager customer, always create and allocate your consignments using this API (e.g. using despatchConsignmentWithBookingCode or createAndAllocateConsignmentsWithBookingCode).
Cancel unwanted shipments: For a specific order, you may create multiple shipments, but only actually ship some of them. You can use the Shipping API to void the unused consignments (via deallocate and then deleteConsignment), so that you only show consumers the live or shipped parcels. Otherwise, the unused consignments will appear in Delivery Tracker and never advance past the Processing state. They will eventually move to an Error state once the delivery date has passed.
Ensure that order references are unique: You should verify that you don't use the same order reference across different multiple shipments, in particular for deliveries to your own stores (refer to Setting up your Own Stores). If order references are reused or repeated, it will cause all related orders to be grouped together into a single delivery on the tracking page, which may also include other consumers' parcels.
Avoid spaces and special characters in order references: Delivery Tracker does not support spaces and special characters and their use may result in the tracking page not being displayed. However, if you replace spaces and '&' characters with the URL-encoded ASCII equivalents, then you will still be able to use them in your tracking URL.
Provide Metapack with access to the relevant tracking data: Many carriers only offer a single tracking export to a single location. If you receive this exported data directly, it may mean that Metapack does not have the same data and so cannot display updates. So, if you want to use Delivery Tracker for all of your shipments, you should arrange with the carrier for the same data to be provided to Metapack.
The other option is for you to only share Delivery Tracker URLs (refer to Launch your Tracking URL) for those shipments where Metapack processes your tracking data.
Check the level of tracking in your carrier contracts: Some carriers offer different levels of tracking data as part of your commercial contract. If you (and, by extension, Metapack) receive only a subset of tracking events, this will impact the amount of information that can be shared on the tracking page. It might also impact our ability to display exception messages, should anything go wrong with the delivery. Therefore, please check your carrier contracts as part of your Delivery Tracker implementation, and, wherever possible, modify those contracts so as to receive all events.
Include Postal or Zip codes in your allocation calls. For certain destinations (e.g. Ireland), postal codes are not required, so you may not always include them in your Delivery Manager allocation calls. Currently, the Delivery Tracker page cannot load without a postal or zip code (as it forms part of the background validation).
We are looking into a solution but, in the meantime, if you don’t provide a postcode, the consumer will see a page error message.