Something is really wrong in my opinion with Shopify on this. I have the same issue when people order none tracked packages and this happens a lot (90% of the time). My packages are small and light but for example if I send to Japan the shipping for non tracked air mail is 10 dollars if I go tracked it is like 50. The product is not expensive enough to justify the extra cost. Also does not really get there faster.
What bugs me is that the Post Office knows the mailing label that Shopify generates for mailing (otherwise someone would just keep using the same mailing label when sending multiple times to the same person) so obviously Canada Post knows the label has been used they have to track that. So between Canada Post and Shopify who communicate why can't they simply flag and put through when the dam label was used instead of as so many people point out never updating and creating the customer emails of " I checked back on your site and indicates that it is still be processed even after they receive it".
This is a huge issue and the information is there if Canada Post and Shopify would get there act together. Also effects even more so orders that come via the Amazon Channel which is a whole lot of more pain but that it is different discussion.
First up: OPINION:
In my experience and opinion this is something Shopify needs to address.
So I've experienced the issue when the status page doesn't change at all if you fulfil without a tacking number - that's UNDISPUTEDLY a bug in the core Shopify product. I assume this could be fixed IF YOU are a ShopifyPlus customer and you get access the theme files that build and control that stuff. Alas - I am not.
Shopify: What is the point of having an Order Status page that clearly isn't working for this scenario. It's not good enough to say that your users don't ship without tracking information and if you apply the same logic you wouldn't allow that option when fulfilling the orders in the first place but at the same time - ITS ABSOLUTELY SOMETHING YOUR CUSTOMERS DO ALL THE TIME.
I DO use tracking for all my goods so I can mostly dodge this issue. Typically I ship via Royal Mail. Sadly we don't have any integration because we can't get an account that doesn't have unreasonable minimum quantities (Thank you Royal Mail for being 100% unresponsive and setting a unreasonable minimum yearly quantity - that's a different story altogether)
On occasion I do send un-tracked and it was a surprise to me that the order status page was lacking in this area. Chalking up another longstanding bug to my list here.
So you DO get tracking information showing up on the Order Status page (in my limited testing with Royal Mail). Problem is that it shows up under the same dumb message as follows;
"Your order is confirmed
We’ve accepted your order, and we’re getting it ready. Come back to this page for updates on your shipment status."
I've been doing a lot of work with ADDITIONAL SCRIPTS (under - Settings: Order Processing). I spotted early on that the status of the fulfilment for each item is sadly lacking from any of the data available to the script (via the checkout or shop objects. Personally I think that is another bug / problem as it limits what you can do with the additional scripts function (possibly deliberate on Shopify part?? I can't decide).
Anyway what I ended up doing is setting up an addEventListener and waiting for the "DOMContentLoaded" event and then checking for tell-tale signs that the item was dispatched.. These include:
checking for "os-step__title"
checking for "tracking-info"
There appear under different scenarios (local delivery and or adding the tracking information to the order).
For my purposes I only need to check if the order has shipped so I don't really need to carry out any further checking / testing in order to know understand the actual current status. However, I think you can deduce this by checking.
Where you will see "Your order is confirmed"
I believe this will change accordingly for "other" couriers but alas for Royal Mail - this remains stuck at "Your order is confirmed"....
So I've extended the logic to check for "tracking-info__number" and it's it's included in the document I make some changes like;
document.getElementsByClassName('os-step__title').innerText = "Your order has been dispatched"
document.getElementsByClassName('os-step__description').innerText = "xxxx"
It's a bit of a hack but I think it's working well for me at the moment. Interested in any comments here.