How to Set Up AfterShip Order Tracking on Shopify
Order tracking is where a lot of Shopify stores quietly lose repeat business. A customer buys, hears nothing for four days, emails support, and by the time the package arrives they've already decided the experience was mediocre. AfterShip Tracking fixes the communication gap: it pulls tracking data from your carriers, hosts a branded tracking page, and sends delivery notifications automatically. Setup takes under an hour for most stores. Here's exactly how to do it.
What AfterShip Does for Your Shopify Store (and What It Won't Fix)
AfterShip Tracking connects to your Shopify orders, matches each order to a tracking number, and then:
- Pulls live status from 1,000+ carriers, including USPS, UPS, FedEx, DHL, Canada Post, Royal Mail, Australia Post, and regional couriers
- Hosts a branded tracking page on your own domain (for example,
track.yourstore.com) instead of sending customers to a carrier's generic page - Sends automated email and SMS notifications at key milestones: order confirmed, shipped, in transit, out for delivery, delivered, and exceptions
- Shows an estimated delivery date on the tracking page and in notifications
- Displays a "track your order" widget on your Shopify order status page and thank-you page
What it won't fix: it can't improve a slow carrier, recover a lost package, or replace your carrier's own tracking data. If a shipment hasn't been scanned by the carrier yet, AfterShip has nothing to display. It also won't sync tracking numbers that you never upload — which is why the order sync step below matters.
There's also a distinction worth knowing: AfterShip Tracking is a separate product from AfterShip Returns (returns management) and AfterShip Shipping (label buying). This guide covers Tracking only. If you want returns too, that's a separate app and separate pricing.
Before You Start: What You Need in Place
Get these sorted first so you're not bouncing between tabs mid-setup:
- A Shopify store on any plan. AfterShip works on Basic through Plus.
- Order data flowing. You need at least one test order, or better, a real order with a tracking number. You can create a test order in Shopify admin and fulfill it manually.
- Your carrier accounts or carrier names. Know which carriers you actually ship with. If you buy labels through Shopify Shipping, ShipStation, or Pirate Ship, you already have tracking numbers being generated — you just need AfterShip to read them.
- A subdomain you can point. For a branded tracking page, you'll add a CNAME record (commonly
track.yourstore.com). You need access to your domain's DNS settings. - Email sending set up. AfterShip sends notifications from its own system, but you should decide whether replies go to your support inbox. Have that address ready.
One decision to make up front: do you want AfterShip to auto-detect carriers from tracking number formats, or do you want to map carriers manually? Auto-detect handles most major carriers correctly but occasionally misreads regional ones. Manual mapping is more work but more accurate for stores shipping with smaller couriers.
Step 1: Install the AfterShip Tracking App on Shopify
- Go to the Shopify App Store and search for "AfterShip Order Tracking." Confirm you're installing the Tracking product, not Returns or Shipping.
- Click Add app, then Install app to authorize it against your store.
- AfterShip will ask for permission to read your orders, products, and customers. Grant it — it needs order data to function.
- Once installed, you'll land in the AfterShip admin. It runs its initial order sync automatically, which can take a few minutes depending on order volume.
If you already have an AfterShip account from another sales channel, log in and connect Shopify to it rather than creating a duplicate account. Duplicate accounts cause notification conflicts later.
Step 2: Connect Your Carriers and Sync Your Orders
This is the step people skip, and it's the one that determines whether tracking actually works.
Connect carriers. In the AfterShip admin, go to Settings → Couriers. AfterShip maintains a default list of supported carriers. You have two options:
| Approach | How it works | Best for |
|---|---|---|
| Auto-detect | AfterShip reads the tracking number format and assigns the carrier automatically | Stores using USPS, UPS, FedEx, DHL, and other major carriers |
| Manual mapping | You specify the carrier for each tracking number or fulfillment source | Stores using regional couriers, freight, or multiple carriers with similar number formats |
| Carrier API connection | You connect your own carrier account credentials for richer status data | High-volume stores that want more granular scan events |
For most small stores, auto-detect plus manual override for problem carriers is the right balance. Test auto-detect with a handful of real tracking numbers before trusting it store-wide.
Sync orders. AfterShip pulls tracking numbers from two places: the fulfillment records Shopify creates when you mark an order fulfilled, and any tracking numbers you upload via CSV. Confirm that:
- Orders you've fulfilled in Shopify show up in AfterShip with a tracking number attached
- Orders fulfilled through a third-party tool (ShipStation, etc.) are also syncing — if not, you may need to enable that integration inside AfterShip
- Orders with multiple packages show multiple tracking numbers
If tracking numbers aren't appearing, check whether the order is actually marked as fulfilled in Shopify. AfterShip reads fulfillment data, not order data.
Step 3: Set Up Branded Tracking Pages
The default AfterShip tracking page works out of the box, but the value is in branding it.
- Go to Settings → Tracking Page (sometimes labeled "Branded Tracking Page").
- Add your logo and set your brand colors. AfterShip pulls product images from your Shopify catalog automatically, so tracking pages show what the customer bought.
- Connect a custom domain. Add a CNAME record in your DNS provider pointing
track.yourstore.comto the target AfterShip gives you. DNS propagation typically takes 15 minutes to a few hours. AfterShip will verify it once it resolves. - Add the tracking widget to Shopify. In the AfterShip admin, copy the widget snippet or use the one-click Shopify theme integration. This places a "Track your order" link on your order status page and thank-you page.
- Customize the page content. Add your support email, a link back to your store, and a short note about delivery expectations. Keep it brief — customers land here for one reason.
If you sell internationally, enable the language switcher so the tracking page matches your customer's locale where AfterShip supports it.
Step 4: Turn On Shipping Notification Emails and SMS
Notifications are where AfterShip earns its keep. Go to Settings → Notifications.
Email notifications. Enable the milestones you want. The standard set that works for most stores:
- Order confirmed (optional — Shopify already sends this, so skip it to avoid duplicates)
- Shipped / tracking number assigned
- In transit
- Out for delivery
- Delivered
- Exception (delayed, failed delivery attempt, held at customs)
Turn off "order confirmed" if you already send one from Shopify. Two confirmation emails in ten minutes reads as a broken store.
Customize the templates. Edit the subject lines and body copy. Include the tracking link, the estimated delivery date, and your support email. AfterShip supports dynamic variables for order number, tracking number, and ETA — use them.
SMS notifications. SMS requires a separate setup and is typically billed per message on top of your plan. Enable it only for the milestones that matter most (shipped and out for delivery) and make sure you have consent to text your customers. Check current pricing before turning it on for all orders, since SMS costs scale with volume.
Set your sending domain. For better deliverability, configure AfterShip to send from your own domain rather than a shared one. This usually means adding DNS records (SPF/DKIM) that AfterShip provides.
Step 5: Test Your Setup Before You Go Live
Don't trust the setup until you've run a real order through it.
- Create a test order in Shopify. Use a real product and a real shipping address you control.
- Fulfill it with a tracking number. Use a real tracking number from a recent shipment if you have one, or a carrier test number if available.
- Check the tracking page. Visit your branded URL and confirm the order appears, the branding loads, and the status updates.
- Check the emails. Confirm the shipped notification arrives, the tracking link works, and the email doesn't land in spam. Send to a Gmail and an Outlook address — they filter differently.
- Check mobile. Open the tracking page on a phone. Most customers open tracking links on mobile, and a page that breaks on mobile defeats the purpose.
- Check the Shopify order status page. Confirm the tracking widget appears and links correctly.
Run this test once per carrier you use. A setup that works for USPS may fail for a regional courier that auto-detect misreads.
Common Setup Mistakes and How to Avoid Them
- Duplicate order confirmation emails. Shopify sends one by default. Turn off AfterShip's order-confirmed notification unless you've disabled Shopify's.
- Tracking numbers not syncing. Usually caused by orders not being marked fulfilled, or by fulfilling through a tool that isn't connected to AfterShip. Check the fulfillment source first.
- Branded domain not verifying. Almost always a DNS issue — a missing CNAME, a typo in the subdomain, or propagation still in progress. Wait a few hours before troubleshooting further.
- Notifications going to spam. Configure your sending domain with SPF and DKIM. Shared sending domains get filtered more aggressively.
- Auto-detect assigning the wrong carrier. Override manually for carriers that share tracking number formats. Check a sample of live orders weekly for the first month.
- Forgetting multi-package orders. If you split shipments, confirm each package generates its own tracking entry and notification.
- Not checking pricing before scaling SMS. SMS is billed per message on most plans. Check current AfterShip pricing and estimate your monthly volume before enabling it broadly.
AfterShip also updates its interface and plan structure periodically, so if a menu label doesn't match the steps above, look for the closest equivalent in Settings. The underlying workflow — install, connect carriers, brand the page, enable notifications, test — stays the same.
Setting up AfterShip on Shopify is a one-afternoon job that pays off on every subsequent order. The install and carrier sync take minutes; the real value comes from branding the tracking page and getting your notification milestones right so customers stop emailing "where's my order?" Do the test run in Step 5 properly, and you'll catch the issues that otherwise surface as support tickets.
FAQ
Does AfterShip work if I fulfill orders through ShipStation or another tool? Yes, but you need to connect that tool to AfterShip or ensure tracking numbers are written back to Shopify. AfterShip reads tracking data from Shopify fulfillments, so if your fulfillment tool doesn't push tracking numbers back to Shopify, AfterShip won't see them.
Do I need a custom domain for the tracking page?
No. AfterShip provides a working tracking page on its own domain by default. A custom domain like track.yourstore.com looks more professional and keeps customers on your brand, but it's optional and requires a DNS change.
Will AfterShip replace Shopify's built-in order status emails? No. Shopify sends its own order and shipping confirmation emails unless you disable them. AfterShip sends its own notifications in parallel, so review both sets of settings to avoid sending customers duplicate messages.