FedEx Tracking in Google Sheets: The Complete Guide
FedEx splits its tracking across half a dozen internal systems — Ground, Express, Home Delivery, SmartPost (now Ground Economy), Freight, International — and each has its own tracking number format. If you've ever pasted a batch of FedEx numbers into a spreadsheet and tried to sort them by status, you know the problem: ups.com and fedex.com don't talk to each other, and neither talks to your sheet.
This guide shows how to consolidate every FedEx service into one Google Sheet using a single formula, so all your FedEx shipments live in one place — next to your order IDs, customer names, and everything else you already track.
The formula, in 30 seconds
Install Your Package Tracker from the Google Workspace Marketplace. In any cell, type:
=PKG_STATUS("794657458294", "FedEx")
You'll get back In Transit, Delivered, Out for Delivery, or whichever state FedEx has on file. The formula auto-routes across FedEx services — you don't need to know whether it's Ground, Express, or SmartPost.
The rest of this guide is the detail worth knowing: how to read a FedEx tracking number, how to pull the data at scale, and how to handle the edge cases (international, SmartPost handoffs, freight pros).
FedEx tracking number formats you will see
Unlike UPS's single dominant 1Z format, FedEx uses many. The add-on recognizes all of them, but knowing what you're looking at helps when something doesn't resolve:
| Length | Looks like | Service |
|---|---|---|
| 12 digits | 794657458294 | FedEx Express — standard domestic Air |
| 15 digits | 100000000000000 | FedEx Ground, Home Delivery |
| 20 digits | 61299998820821234567 | FedEx SmartPost / Ground Economy (USPS last mile) |
| 22 digits (9611...) | 9611018765432012345678 | FedEx SmartPost alt format |
| Pro #, 9 digits | 123456789 | FedEx Freight (LTL) |
| FDX... | FDX123456789 | FedEx freight pro (prefixed) |
Rule of thumb: pass any of them with FedEx as the carrier and it will work. SmartPost numbers can also be tracked with USPS as the carrier in the final-mile phase — the add-on resolves either way.
Step-by-step: a FedEx tracking sheet
1. Install the add-on
Extensions → Add-ons → Get add-ons → search Your Package Tracker → Install. You get 3 free lookups.
2. Build the columns
The layout we see most often for FedEx-heavy ops:
| Col | Header | Example |
|---|---|---|
| A | Ship date | 2026-04-18 |
| B | Order ID | SO-8821 |
| C | FedEx # | 794657458294 |
| D | Carrier | FedEx |
| E | Status | (formula) |
| F | Summary | (formula) |
| G | Last event | (formula) |
3. Drop in the formulas
E2: =PKG_STATUS(C2, D2)
F2: =PKG_SUMMARY(C2, D2)
G2: =PKG_LAST_EVENT(C2, D2)
4. Scale to a large list
Once you have more than ~20 rows, do not fill-down. Every formula fires a carrier lookup simultaneously and FedEx will rate-limit you. Use Bulk Track Packages instead:
- Menu bar → Your Package Tracker → Bulk Track Packages
- Tracking range:
C2:C500 - Carrier range:
D2:D500 - Output: Summary
- Click Start Bulk Tracking
The add-on paces the requests, respects FedEx's rate limits, caches duplicates, and writes results into the column right after your carrier column. Close the dialog, let it run, come back when it's done.
What each FedEx service looks like once tracked
FedEx Express
The 12-digit Express numbers move fastest: ORIGIN SCAN → DEPARTED ORIGIN → ARRIVED AT DESTINATION HUB → OUT FOR DELIVERY → DELIVERED. For international Express, you'll also see Clearance in Progress and Released by Customs.
FedEx Ground / Home Delivery
15-digit Ground numbers have a different event vocabulary: Picked Up → At FedEx Destination Facility → On FedEx Vehicle for Delivery → Delivered. Home Delivery (residential Ground) adds evening/weekend windows.
FedEx SmartPost / Ground Economy
The tricky one. FedEx picks up bulk, linehauls it, hands it to USPS for the last mile. The 20- or 22-digit tracking number updates in FedEx's system until USPS takes custody, then updates in USPS's.
The add-on queries both networks so the timeline is continuous from your sheet's perspective, but expect the Last Event location to jump from a FedEx hub to a USPS facility partway through.
FedEx Freight (LTL)
Freight pros (9-digit or FDX-prefixed) track in FedEx Freight's system — different vocabulary again: Dispatched → Picked Up → At Destination Terminal → Out for Delivery. Signature confirmation usually appears as Delivered with a consignee name.
International Priority / Economy
International FedEx uses the same 12-digit Express format but surfaces customs events: Export Clearance, Arrived at Destination Country, Customs Clearance, Released by Customs, On Vehicle for Delivery. If a shipment stalls at customs, it usually says so explicitly.
Three FedEx quirks worth knowing
1. SmartPost tracking feels "slow" — it's not broken
SmartPost (now officially FedEx Ground Economy) is optimized for cost, not speed or tracking granularity. Scans are sparser than Ground: often you'll see an origin scan, a linehaul scan 2–3 days later, and then the USPS handoff. This is normal. Don't be surprised when a SmartPost tracking number sits at In Transit for 5 days.
2. 12-digit Express numbers can collide with old FedEx formats
A very old 12-digit number can sometimes be ambiguous between Express and reused Ground. The add-on disambiguates server-side, but if you ever see Tracking number not found on a number you're sure is FedEx, the fix is to try =PKG_REFRESH(C2, "FedEx") once — it forces a fresh lookup and usually resolves.
3. Freight pros need the full 9 digits, no prefix
If your TMS exports FDX-PRO-123456789, strip the FDX-PRO- part before passing it to the formula. Extra prefixes will fail the lookup. A quick helper:
=PKG_STATUS(REGEXEXTRACT(C2, "\d{9}"), "FedEx")
A worked example: a 3PL with mixed FedEx services
Picture a 3PL that ships on behalf of 30 Shopify merchants. Daily volume is 1,500 packages split roughly 60% Ground, 30% SmartPost, 10% Express.
The workflow we've seen work:
- One master sheet imports each morning from the WMS: order ID, merchant, tracking number, service (mapped to
FedEx). - Column E:
=PKG_STATUS(C2, D2). - Column F:
=PKG_SUMMARY(C2, D2)— this is what merchants see in their portal. - 6 AM cron-style Bulk Track Packages over
C2:C2000. - Pivot table by status, sliced by merchant. Their ops team sees, per merchant per morning, how many are
Delivered/In Transit/Exception. - Filter view on
Exception→ that's the callback queue.
The key unlock: the 3PL stopped needing a separate FedEx account dashboard per merchant. One sheet replaced fifteen browser tabs.
Frequently asked questions
Do I need a FedEx developer account or API key? No. The add-on handles the carrier side. You never touch the FedEx developer portal.
Does the add-on work with FedEx Custom Critical? Custom Critical uses the same 12-digit Express format underneath. It's tracked like any other Express shipment.
Can I see signature / proof of delivery images?
No. Proof-of-delivery images aren't exposed through FedEx's public tracking, so they can't be pulled into a cell. You'll still need fedex.com for the image itself. The PKG_SUMMARY formula does include the signed-by name when available.
What about FedEx Trade Networks / FTN? FTN uses separate systems not covered by consumer tracking. The add-on supports parcel and LTL; FTN freight forwarding is out of scope.
How do I know when FedEx updates a status?
Each run of Bulk Track Packages pulls fresh data (cached results are used for up to a few hours to save your quota). If you need a hard refresh right now, use =PKG_REFRESH(C2, D2) for that specific cell.
What does it cost? 3 free lookups to try. Paid plans from $19/month. See full pricing.
The takeaway
FedEx's tracking surface is fragmented by design — a legacy of the Ground/Express/Freight/SmartPost history. From inside Google Sheets, that complexity disappears: one formula, every service, every status, in the tool your team already uses.
Install Your Package Tracker free from the Google Workspace Marketplace →
Shipping with more than one carrier? Pair this with our UPS and USPS guides — or browse all articles.