Parcel Track

Add a tracking link to Shopify email templates

Last updated July 1, 2026

Shopify’s native Shipping confirmation email links customers to the carrier’s website by default. With one small Liquid snippet, you can point that email to your branded tracking page at yourstore.com/apps/parcel-track instead — keeping customers on your store, where they see your branding, estimated delivery dates, and product recommendations.

This complements Parcel Track’s own notifications (which already link to the branded page). See How Parcel Track shipping notifications work for how the two email systems fit together.

Before you start

  • Make sure the tracking page is live on your store — see Add the tracking page to your store.
  • Editing notification templates requires a staff account with the Manage settings permission.

Note: If you changed the tracking page URL, adjust the snippet below accordingly — see Change your tracking page URL.

Step 1: Open the Shopify template editor

  1. In your Shopify admin, go to Settings → Notifications.
  2. Click Customer notifications, then open the Shipping section.
  3. Click Shipping confirmation and then Edit code.

In the Email body (HTML) field, search (Ctrl+F / Cmd+F) for tracking_url or Track your order. You will find a block similar to Shopify’s default:

{% if fulfillment.tracking_url %}
  <a href="{{ fulfillment.tracking_url }}">Track your shipment</a>
{% endif %}

This is the link that currently sends customers to the carrier’s website.

Replace the href (or add a new button) so it points to your tracking page, passing the tracking numbers as a parameter. Example:

{% if fulfillment.tracking_numbers.size > 0 %}
  <a href="{{ shop.url }}/apps/parcel-track?nums={{ fulfillment.tracking_numbers | join: ',' }}">
    Track your order
  </a>
{% endif %}

How it works:

  • {{ shop.url }} resolves to your store’s primary domain.
  • /apps/parcel-track is the tracking page proxy path.
  • ?nums= pre-fills the tracking number(s), so the customer sees their shipment status immediately without typing anything. join: ',' handles fulfillments with multiple tracking numbers.

Tip: Prefer customers to look up by order number and email instead? Link to {{ shop.url }}/apps/parcel-track with no parameters — the page shows an order lookup form. See Embed the order lookup widget.

Step 4: Preview and save

  1. Click Preview at the top of the editor and confirm the link renders correctly.
  2. Click Save.
  3. Place a test order (or use an existing fulfilled order) and use Resend email from the order page to check the real link in your inbox.

Other templates worth updating

The same snippet works in any template that has access to a fulfillment object:

  • Out for delivery and Delivered (if you use Shopify’s native versions)
  • Shipping update

Also remember non-email surfaces: the order status page and customer accounts. See Update the Shopify tracking link and Tracking in customer accounts.

Reverting

Shopify keeps your edits only — there is no version history. Before saving, copy the original block into a note so you can restore it later, or click Revert to default in the template editor to restore Shopify’s stock template entirely (this discards all customizations, not just this one).

Want to hide the raw carrier tracking number too? See Remove the carrier tracking number from Shopify emails. For help, contact support@parcel-track.com.

Still stuck? Email us at support@parcel-track.app — we usually reply within a few hours.

Ready to turn “Where is my order?” into repeat sales?

Install Parcel Track free in one click. Your first 50 orders are on us — no credit card, no monthly fee.

Free for your first 50 orders · Then just $0.04 per order · Cancel anytime