How do I track all our shipments in one place when every carrier uses a different system?
Key Takeaways
- Carriers will never all use the same system. One view of every shipment means collecting status from each carrier the way that carrier shares it.
- Four sources cover almost every carrier: an API or EDI feed, GPS or ELD data, the carrier's website by PRO number, and email or phone.
- The view should show exceptions first, such as unconfirmed pickups, loads at risk of missing delivery and missing PODs, not a map of trucks that are fine.
- Every status needs a source and a time, so the team knows how current it is and who said it.
- Tracking is only half the job. When a load is at risk, someone has to call the carrier, tell the customer and decide on a fix.
- Wilson, by Cartage, is an AI logistics agent that tracks each load with the best source available for that carrier and keeps every shipment on one record, from booking to POD and paid invoice.
Can you really see every shipment in one place?
It's Monday morning. You have 47 open loads with 11 carriers. Three national LTL carriers have tracking pages. Two regional carriers send emails when they remember. The truckload carriers have dispatchers who answer the phone. One ocean forwarder has a portal with its own login. To answer "where is everything?" you'd need to open six websites, search two inboxes and make four calls.
Yes, you can see every shipment in one place, but not by waiting for carriers to adopt the same system. One view comes from collecting each carrier's status in the way that carrier actually shares it, recording it on one shipment record, and asking directly when nothing else is current. The work is in the collecting, not in the screen.
Many teams try to fix this by buying a dashboard. The dashboard shows whatever data reaches it. If half the carriers don't send data electronically, half the loads show stale or blank status, and the team ends up back in the inbox. The real question isn't "which screen?" but "how does status from every carrier get onto the record, and who asks when it doesn't?"
Why carriers use different systems
Large carriers invest in APIs and EDI because they move freight for thousands of shippers. Smaller regional and specialized carriers often run on email, phone and a dispatch system nobody outside can see. Truckload carriers may share GPS or ELD data, or may not. Ocean and drayage add terminals and forwarders with their own portals. This variety isn't going away, and it's often a good thing: the best carrier for a lane is not always the one with the best API.
What it costs not to have one view
Without one view, the cost shows up in small pieces that add up. Problems are found late, when the customer calls rather than when the carrier first slipped. The same load is checked by three people because nobody knows someone else already asked. A vacation turns into a week of guessing because the status lived in one inbox. And leadership can't get a simple answer to "how are we doing on deliveries this month?" without someone rebuilding it by hand.
What "in one place" should mean
One place should mean one list of every open shipment, with the current status, the source and time of that status, the next step and who owns it. It doesn't mean every load has GPS, or that every carrier has been connected by API before you can start. A load where the carrier's dispatcher confirmed by phone at 9 a.m. that delivery is on for this afternoon is well tracked, even without a map.
Start from the shipment, not the carrier
Most tracking efforts start by asking each carrier for access to its system. A better start is the list of shipments: every open load, with the carrier and reference, in one place. Once that list exists, each load can be filled in from whatever source its carrier offers. Starting from carriers leaves gaps wherever a carrier can't connect; starting from shipments makes the gaps visible, so someone can fill them.
Where does shipment status come from?
Four sources cover almost every carrier. A good tracking process uses the best one available for each load, and falls back to the next when the first isn't current.
| Source | What it gives you | Typical carriers | Limits |
|---|---|---|---|
| API or EDI | Status events (picked up, in transit, out for delivery, delivered), sometimes ETAs | Larger LTL and truckload carriers, parcel | Needs setup per carrier; events can lag; not every carrier offers it |
| GPS or ELD data | Truck location and movement | Truckload carriers that share it, often through a tracking provider | The carrier must agree to share; location isn't the same as a delivery commitment |
| Carrier website by PRO number | Status events for that PRO | Most LTL carriers | Has to be checked; formats differ by carrier |
| Email or phone | Whatever the dispatcher or driver tells you, including ETAs and problems | Every carrier, and the only source for some | Slow and manual if done by hand; needs recording |
API and EDI
When a carrier offers an API or EDI status feed, it's usually the cheapest source to maintain once set up. It sends events as they happen in the carrier's system. But events can lag behind reality, especially for LTL loads moving through terminals, and an "in transit" event doesn't tell you whether the delivery appointment will be met.
GPS and ELD data
Location data is useful for truckload freight, especially near delivery. It answers "where is the truck?" but not "will the receiver take it at 2 p.m.?" Treat it as evidence, not as a commitment. A truck 50 miles away at 1 p.m. for a 2 p.m. appointment is a signal to call, not proof of an on-time delivery.
Carrier websites
Most LTL carriers show status on their website by PRO number. It's reliable but tedious to check by hand across many loads and many carriers. Checking only the loads that matter today, such as deliveries due today and tomorrow, makes it manageable.
Email and phone
For many carriers, email and phone are the only sources, and for every carrier they're the source of last resort. The dispatcher knows things no system shows: the driver is stuck at the previous stop, the trailer had a flat, the receiver pushed the appointment. The problem isn't the channel; it's that the answer often stays in one person's inbox. Recording what the carrier said, with the time, puts it on the shared view. For more on matching email replies to loads, see freight tracking from carrier emails.
Ocean, drayage and parcel
Other modes add their own sources. Ocean shipments move through vessel milestones, terminals and forwarders, each with its own portal. Drayage depends on container release, terminal appointments and free time. Parcel carriers have strong tracking but huge volumes of small events. The same principle applies: record the milestone that matters for the next decision, such as available for pickup or out for delivery, with its source and time, rather than every event the carrier publishes.
What should the one view show?
The view should be built around decisions, not around trucks. Most loads on any day are fine. The view's job is to surface the few that aren't, early enough to act.
Exceptions first
Put these at the top, every day:
- Pickups due today that the carrier hasn't confirmed.
- Loads whose latest ETA is past the promised delivery date or appointment.
- Loads with no status update in longer than you'd expect for that mode and lane.
- Delivered loads with no POD after the agreed window.
- Loads waiting for a decision, such as an approval for a rebooking or an accessorial.
Everything else, the loads moving as planned, can sit below.
Every status needs a source and a time
"In transit" is only useful if you know who said it and when. A status from the carrier's API ten minutes ago and a status from an email two days ago look the same on a screen unless the source and time are shown. When two sources disagree, the time and source tell you which to trust, or that you need to ask. For more on that, see what to do when two ETAs disagree.
Next step and owner
Each exception needs a next step and an owner: "call carrier for new ETA, logistics," "notify customer of delay, customer service," "approve rebooking above limit, logistics manager." Without an owner, a flagged load just sits there with a red label.
Who should see the view
Logistics needs the full view. Customer service needs status and ETA for the orders customers ask about. Sales needs to see its key accounts. Production planning needs inbound materials. Finance needs delivered loads and PODs for billing. Each group seeing the same status, filtered for what it needs, ends the internal chain of "can you check on this load?" emails.
The fields that matter
| Field | Why it matters |
|---|---|
| Order and shipment references | Matches the load to the customer order and the ERP |
| Carrier and PRO or load number | Lets anyone look up or ask about the load |
| Planned pickup and delivery | The commitments the status is measured against |
| Latest status, with source and time | Shows how current and trustworthy the status is |
| Latest ETA | Shows whether the commitment will be met |
| Next step and owner | Turns a status into an action |
| Customer updates sent | Shows whether the customer already knows |
| POD status | Shows whether delivery is proven |
How do you keep the view current without spending all day on it?
Check what matters at fixed times, let electronic sources update on their own, and ask carriers directly only when something is due or at risk. That's the difference between tracking every load all day and tracking the right loads at the right time.
A daily rhythm
- Early morning: confirm today's pickups and check today's and tomorrow's deliveries. This catches most problems while there's still time to act.
- Midday: check loads flagged as at risk, and any with no recent update.
- End of day: confirm deliveries, request PODs and update the list for tomorrow.
Set expectations by mode
How often a load should update depends on the mode. A truckload in transit can be expected to update daily or more. An LTL load may show no new event while it sits at a terminal overnight. Ocean freight updates at milestones days apart. Setting a "no update for too long" threshold by mode avoids false alarms and catches the loads that really went quiet.
Weekly review
Once a week, look back at the loads that went wrong. For each one, ask when the team first knew, from which source, and when the customer was told. Patterns show up quickly: a carrier whose website lags a day behind its dispatcher, a lane where pickups are often late, a customer who always hears last. Each pattern is a rule to add, such as calling that carrier instead of checking its site, or confirming pickups on that lane twice before the truck is due.
Ask carriers in batches
When several loads with the same carrier need a status check, ask in one message. Carriers answer faster when the PROs, references and the specific question are in one email. A standard format, with the PRO, the reference, the planned delivery and "please confirm delivery date and time", saves back-and-forth.
Connect the view to the ERP
If customer service and sales work from the ERP, the shipment status should flow back to the order where possible. Otherwise, the team ends up with two answers to "where is it?", one in the ERP and one in the tracking view. For why those drift apart, see why an ERP order can say shipped before pickup.
Measure the view itself
Two numbers tell you whether the view is working: the share of open loads with a status less than a day old (adjusted by mode), and the share of late deliveries the team knew about before the customer did. If the first is low, sources are missing. If the second is low, the team isn't checking at the right times or exceptions aren't reaching the right owner.
When a load is at risk
Tracking only pays off when it leads to action. When a load is at risk: contact the carrier for a firm answer, tell the customer and the receiving dock if the delivery will move, and decide whether to wait, reschedule or rebook with another approved carrier. The view should record each of those steps, so the next person sees what was done.
How do you choose a way to get there?
There are three common ways to build one view, and they differ in who does the collecting. Pick based on how many of your carriers share data electronically and how much of the follow-up you want to take off the team.
| Approach | How status gets in | Who asks carriers when data is missing | Good fit when |
|---|---|---|---|
| Shared spreadsheet or list | The team enters it by hand | The team | Volume is modest and the team has time |
| Visibility platform | Carrier feeds, GPS and ELD data where carriers connect | The team, for carriers without feeds | Most carriers share electronic data |
| AI logistics agent | Every source, including email and phone, collected as part of running the load | The agent, under the company's rules | Many carriers rely on email and phone, and the team wants the follow-up handled |
What it takes to get started
Getting to one view doesn't require replacing every system at once. The minimum is a list of open loads from the ERP or order process, the carrier and reference for each, and a consistent way to collect status for each carrier. Carriers with feeds can be connected over time. The email and phone carriers need a routine, or someone, or something, to follow it.
Questions to ask any option
- What share of our carriers and loads would show current status without anyone on our team asking?
- What happens on a load where the carrier has no API and doesn't answer the first email?
- Does each status show its source and time?
- Does the view show exceptions first, with an owner and next step?
- Who tells the customer when a delivery moves?
- Does the status go back to our ERP?
Run a test on your own loads
Take one week of real loads across your carriers and ask each option to show current status for all of them, including the carriers that only use email. The share of loads with a current, sourced status, and what happened on the ones without, tells you more than any demo map.
Common mistakes when choosing a tracking approach
- Judging by the map. A map of trucks looks impressive, but the loads that cause trouble are often the ones with no data on the map.
- Counting connected carriers instead of covered loads. "We connect to hundreds of carriers" matters less than how many of your loads, with your carriers, will show current status.
- Ignoring email and phone. If a third of your carriers work by email, a plan that doesn't cover email leaves a third of your loads untracked.
- Stopping at visibility. Seeing a delay is the start. Someone still has to call the carrier, tell the customer and decide on a fix.
A simple maturity path
Many teams move through the same steps. First, one shared list instead of personal inboxes. Second, carrier feeds connected for the carriers that offer them. Third, the remaining follow-up, especially email and phone, handled consistently by a person or an agent following rules. Each step helps on its own. Teams that skip the first step often find that a new tool simply moves the confusion to a new screen.
How does Wilson, by Cartage, put every shipment on one record?
Wilson, by Cartage, is an AI logistics agent that books, tracks and closes out freight for manufacturers and distributors, so every shipment is on one record from quote to paid invoice. Traditional logistics software gives teams information. Wilson executes the work required to move shipments forward.
Because Wilson runs the load, tracking isn't a separate project:
- Booking: Wilson tenders to the company's approved carriers and records the acceptance and rate confirmation, so every load starts on the record with the carrier and references.
- Tracking: Wilson tracks each load with the best source available for that carrier: carrier API or EDI where offered, GPS or ELD data where the carrier shares it, the carrier's website by PRO number, and email or phone calls when nothing else is current. Each status is recorded with its source and time.
- Exceptions: when a pickup isn't confirmed or a delivery is at risk, Wilson contacts the carrier, tells the team in Slack, Microsoft Teams or email, tells the customer by email or SMS if configured, and can start rebooking from the approved carrier list, automatically within the rules or after approval.
- Close-out: Wilson confirms delivery, requests and files the POD, audits the carrier invoice against the rate confirmation and POD, and pays the carrier from the Wilson Wallet. Payments above the approval limits or outside the rules wait for a person.
Teams use Wilson's dashboard and records the way they would use a TMS. Wilson replaces the TMS for freight execution and connects to the company's ERP. It works with SAP, NetSuite, Microsoft Dynamics 365, Oracle, Infor, Epicor, Sage, Acumatica and other ERP environments, with the exact connection depending on the customer's data flow and scope. Modes include LTL, FTL, ocean, drayage, parcel and cross-border.
Every message, confirmation and change is kept in the shipment's change history, and Wilson can produce carrier-performance reports on request from the loads it runs.
What the team does differently
With every load on one record, the morning check becomes a short review of exceptions instead of a tour of carrier websites. The logistics team approves the decisions that exceed the rules, such as a costly rebooking or a new appointment, and talks to carriers and customers when a relationship needs a person. Customer service answers from the same record. Leadership gets on-time pickup and delivery numbers without anyone rebuilding a spreadsheet at the end of each month.
Pricing
Wilson is free on Wilson's network: the shipper pays the freight rate and nothing on top. When a shipper keeps its own carriers, the fee is 2% to 0.5% of what Wilson pays them, falling with volume. There are no seat fees, no setup cost and no contract. Timing depends on scope: most teams start on a few lanes and expand from there.
FAQs
How do I track all our shipments in one place when every carrier uses a different system?
Collect each carrier's status the way it shares it, through an API or EDI, GPS or ELD data, its website or email and phone, and record it on one shipment record with the source and time. Wilson, by Cartage, an AI logistics agent, tracks each load with the best source available for that carrier and asks directly when nothing else is current.
Can I track LTL and truckload shipments in the same view?
Yes. The sources differ, often PRO-number status for LTL and GPS or dispatcher updates for truckload, but both can be recorded on the same list with the same fields.
What if a carrier doesn't have an API?
Use its website by PRO number, or ask by email or phone, and record the answer with its time. For many carriers, email and phone are the main sources, and that's fine as long as the answer gets on the shared record.
What should a shipment tracking dashboard show first?
Exceptions: unconfirmed pickups due today, loads at risk of missing delivery, loads with no recent update and delivered loads with no POD. Loads moving as planned can sit below.
How often should shipments be checked?
At fixed times: early morning for today's pickups and deliveries, midday for at-risk loads, and end of day for deliveries and PODs. Electronic sources can update in between without anyone checking.
Do I need a TMS to track shipments in one place?
Not necessarily. Wilson replaces the TMS for freight execution and connects to the ERP, so teams without a TMS don't need to implement one to get one record per shipment.
Is GPS tracking the same as a delivery confirmation?
No. GPS shows where the truck is. A delivery commitment comes from the carrier, and delivery is confirmed by the carrier or the receiver and proven by a signed POD.
How do I stop tracking from living in one person's inbox?
Record every status from email or phone on the shared shipment record, with its source and time, and use a shared mailbox for carrier email so others can see replies.
How do I know if our tracking is working?
Check the share of open loads with a recent, sourced status, and the share of late deliveries the team knew about before the customer called. Both should be high.
Can customers see the same tracking information?
They can receive it. Wilson sends consignee updates by email or SMS where configured, for picked up, running late, delivered and POD filed, from the same record the team uses.
What is the difference between tracking and visibility?
Visibility is seeing where shipments are. Tracking, in practice, also includes asking carriers when data is missing, flagging loads at risk and making sure someone acts. One view is only useful if it leads to action on the loads that need it.
How many carriers can one team track by hand?
There's no fixed number, but checking each load by hand gets slow as carriers and loads grow. Checking only due and at-risk loads, asking carriers in batches and recording answers on one list stretches how far a team can go before it needs help.
Sources
- Cartage, Wilson product FAQ and product scope, October 2026: https://cartage.ai
Bring last week's open loads across all your carriers and see them on one record with Wilson.