Skip to main content

FedEx Tracking in Google Sheets: The Complete Guide

· 7 min read
The team behind Your Package Tracker

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:

LengthLooks likeService
12 digits794657458294FedEx Express — standard domestic Air
15 digits100000000000000FedEx Ground, Home Delivery
20 digits61299998820821234567FedEx SmartPost / Ground Economy (USPS last mile)
22 digits (9611...)9611018765432012345678FedEx SmartPost alt format
Pro #, 9 digits123456789FedEx Freight (LTL)
FDX...FDX123456789FedEx 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:

ColHeaderExample
AShip date2026-04-18
BOrder IDSO-8821
CFedEx #794657458294
DCarrierFedEx
EStatus(formula)
FSummary(formula)
GLast 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:

  1. Menu bar → Your Package Tracker → Bulk Track Packages
  2. Tracking range: C2:C500
  3. Carrier range: D2:D500
  4. Output: Summary
  5. 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:

  1. One master sheet imports each morning from the WMS: order ID, merchant, tracking number, service (mapped to FedEx).
  2. Column E: =PKG_STATUS(C2, D2).
  3. Column F: =PKG_SUMMARY(C2, D2) — this is what merchants see in their portal.
  4. 6 AM cron-style Bulk Track Packages over C2:C2000.
  5. Pivot table by status, sliced by merchant. Their ops team sees, per merchant per morning, how many are Delivered / In Transit / Exception.
  6. 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.