Branded tracking
Branded tracking is what the customer sees when they click "track my order". It comes in two variants:
- Shipment tracking. A single Carriyo Shipment, identified by its shipment ID.
- Order tracking. Every shipment for a given customer
order, grouped by
partner_order_reference. Useful when one order splits into multiple shipments, and when the customer arrives without a shipment ID.
Most merchants enable both. Shipment tracking is what notification links land on; order tracking is what the customer self-serves from the brand's site.
Shipment tracking
Direct URL per shipment:
https://track.brand.com/track/{shipmentId}
The shipment ID is part of the link Carriyo includes in
notification templates (the tracking_link tag in Liquid).
Each shipment has a unique, unguessable ID; the page is
semi-public: anyone with the URL can view it, but the URL
itself isn't discoverable.
Order tracking
Reached either by the customer typing an order reference, or by deep-linking from your own site:
https://track.brand.com/?order_ref={partner_order_reference}&email_or_phone={value}
Carriyo resolves order_ref against partner_order_reference
on the shipment(s), then validates email_or_phone against the
shipments' dropoff.contact_email or dropoff.contact_phone.
If both match, the customer sees all shipments under that order
on one page.
The landing page
When a customer lands on the root of the tracking domain
(https://track.brand.com/), they see a lookup form: enter the
order reference and their email or phone, submit, and the page
takes them to the order tracking view.
If you can pass order_ref and email_or_phone as query
parameters from your own order-confirmation page, the landing
form is skipped.
When orders aren't subscribed
Order tracking works even if the tenant doesn't subscribe to
Carriyo's Orders module. The lookup goes against
partner_order_reference on the shipment table directly. The
customer doesn't see "order" metadata; they see the list of
shipments that share the reference.
Domains
Tracking pages are served from:
- The default subdomain:
{slug}.track.ordercx.com. - A configured custom domain:
track.brand.com. See Post-purchase CX for the CNAME setup.
The page itself is identical on either domain.
Iframe embedding
The tracking page can be embedded in the merchant's own pages (for example, "My Account → Order Status"). Two things to configure:
- Enable iframe mode on the tracking app.
- Allowed parent origins. A comma-separated list of domains
permitted to embed the page. Carriyo enforces this via
Content-Security-Policy: frame-ancestors; embedding from any origin not on the list is blocked by the browser.
Append ?iframe to the tracking URL to render the
iframe-optimized view (no header / footer chrome).
Theming
Tracking inherits the merchant's brand theme by default, or overrides per app. The Dashboard exposes:
- Logo (per language).
- Favicon.
- Brand colors, body colors, header colors.
- Body, secondary, and header fonts. System fonts are available out of the box; custom fonts can be uploaded.
- Button colors, borders, radius.
- Form-field borders and radius.
- Customer-support contacts (email, phone, WhatsApp) per country.
Languages
The tracking page renders status text, CTAs, and brand strings in the customer's language. The merchant configures which languages are selectable on the tracking app; the customer can switch on the page.
Status labels translate via the merchant's strings; shipment data (tracking number, dates, addresses) renders as-is.
Embedded feedback
If feedback is enabled and the shipment is delivered, the tracking page can embed the feedback widget inline: the customer rates the delivery without leaving the tracking view. Configured on the tracking app via the Feedback Widget setting. Note that the feedback page itself can't be iframed elsewhere; the tracking-page widget is the only way to show the feedback form inside another page.
Privacy
The tracking page URL acts as the access token: anyone with
the shipment-level URL, or anyone who passes the order-tracking
landing-page check, sees the shipment data on it. The order
lookup's email_or_phone validation is the second factor for
the order variant. There's no further authentication.
How it fits with other modules
- Tracking events. The shipment status updates the page displays.
- Post-purchase CX. The parent module.
- Notifications. The email / SMS that links to this page.