The tracking button with no setting to change
A brand running subscriptions wanted the Track order button in their customer portal to land on their own branded tracking page instead of throwing the customer out to a courier’s website. Reasonable ask, and the obvious place to look is the portal’s settings. It is not there. It is not in the advanced settings either, or in the previous version of the portal, or anywhere in the app’s documentation.
What we found
There is no configurable tracking URL because the button is not choosing one. It renders the tracking URL stored on the Shopify fulfilment, whatever that happens to be. The app’s own documentation mentions the feature exactly once, describing it as a button that links to the shipping carrier’s page, and elsewhere notes that the link auto-populates from Shopify.
Checking a live store on the same platform confirmed the mechanism rather than assuming it. The button resolved to a courier URL with the tracking number appended as a query parameter, which is a link that was constructed and stored, not one looked up through a carrier integration.
So the lever is the fulfilment, and that is much better news than a missing setting would suggest. Shopify only generates a carrier link when no URL is supplied. Supply one and every surface follows at once: the portal button, the order status page, the native order history and the notification emails. The usual reason a brand ends up in this position is that their warehouse pushes a tracking number with no URL attached, so Shopify synthesises the courier link and everything downstream inherits it.
What we did
Worked the three places it can be set, cheapest first. Ask whoever creates the fulfilments to send a URL template, which is no build at all. Failing that, check whether the tracking app writes URLs onto fulfilments or only intercepts links on the store’s own pages, which is the difference between third-party apps inheriting the change and not. Last resort is rewriting the tracking info after fulfilment through the Admin API, which works but is a build and needs API access arranged.
The middle option came with a caveat worth passing on. The tracking app’s documentation describes which surfaces its redirect settings cover, but never states the mechanism, and the surfaces listed are all Shopify-owned. Enable it, then look at one real order in the admin and in the portal. A minute of checking answers what the documentation does not.
What to take from it
When an app has no setting for something obvious, that is often the app telling you it is not the owner of that value. Follow the data back to where it is stored. Fixing it at the source fixes every consumer at once, and there are usually more consumers than the one the client noticed.