Skip to main content
Metrics type: Key MetricsCategory: Cross-Platform: Revenue at Risk

At a glance

A live table of in-transit Bring shipments that have gone silent: no new tracking event for longer than the expected scan interval, inside the trailing 24 hours. A parcel with no fresh scan is a parcel you cannot see, and a silent parcel is the single best leading indicator of a delivery failure, a lost parcel, or a tracking-feed outage. Each row is one stale consignment with its last-known state.

Calculation

For every live Bring consignment, the card reads the event list from the Bring Tracking API, takes the most recent event timestamp, and computes the gap to now. If the gap exceeds the expected scan interval for that consignment’s current stage, the parcel is flagged stale and added as a row. The “expected interval” is the key piece of logic. A parcel that has just been booked but not yet collected has a different normal silence than a parcel mid-line-haul or one out for delivery. A Mypack parcel waiting at a pickup point is supposed to be still, so the card does not treat pickup-point dwell as a gap; that is tracked separately on the Mypack expiry cards. The threshold is set per product code and per stage so the table surfaces genuine anomalies, not expected pauses. All event timestamps arrive in carrier-local time (Norwegian time for NO-origin parcels). The card stores in UTC and renders the “hours since last scan” column against your display timezone, so the staleness figure is consistent regardless of where you read it. Because the Tracking API itself has ingestion latency, the card is conservative: a parcel that scanned 20 minutes ago but whose event has not yet propagated will not be wrongly flagged once the next sync lands. Calculated automatically from your Bring tracking data. See the At a glance summary above and the worked example below.

Worked example

The same Oslo outdoor-apparel brand, around 1,900 outbound orders per week on Bring. Reading taken at 09:00 CET on 14 Apr 26; the table reflects the trailing 24 hours. The table lists 4 stale shipments. The alert at >0 stale is tripped. Five things to notice:
  1. The Tromso row is the classic long-haul gap, but 30 hours is too long. A Pakke levert hjem parcel to northern Norway will have legitimate multi-hour gaps between terminal scans, but 30 hours with no movement after an Oslo-terminal scan is anomalous. This is the parcel to chase with Bring first; it may be mis-sorted or stuck.
  2. The Bergen Mypack row is a different story. “Recipient notified” means the parcel reached the pickup point and the customer was told. 38 hours of silence after that is normal dwell, the customer simply has not collected yet, so this row may be a tuning artefact rather than a true gap. Cross-check Mypack Pickup Expiry Rate; if dwell is expected at this stage it should not be on the gap list.
  3. The Gothenburg export row is a customs hold, which is a real, explainable gap. The last event is “customs hold”, so the parcel is genuinely stuck at the border, not lost. This is actionable: it needs a customs document chase. Pair with NO Export Customs Clearance Rate; a hold here is exactly the kind of friction that card aggregates.
  4. A whole-table spike is a feed problem, not 50 lost parcels. If this table jumps from 4 rows to 200 in one refresh, the likely cause is the Bring Tracking API being slow or down, not 200 parcels simultaneously going missing. Check Bring Tracking API Unavailable / 5xx before dispatching anyone to chase parcels; a feed outage makes every live parcel look stale at once.
  5. This is revenue at risk you can act on within the hour. Each stale row is a parcel that, if genuinely stuck, becomes a WISMO ticket, a refund, or a claim. Catching it while it is still in-flight lets you intervene (chase Bring, reship, pre-empt the customer) before it becomes a Failed Deliveries or Open Claims entry days later.

Sibling cards merchants should reference together

The tracking-event gap table is a real-time triage tool. Pair it with these to tell a real gap from a feed artefact and to size the downstream cost:

Reconciling against the source

Where to look in Bring’s own tooling: Bring Tracking for the per-consignment event history (enter the consignment number to see the full scan list and the last event), and Bring MybringShipments → Shipment list to see the same consignments with their latest status and to filter for parcels stuck in a given state. The Tracking API that feeds this card is the same source the public tracking page reads, so the last event you see on tracking.bring.com should match the last event on the row, allowing for ingestion lag. The closest like-for-like check is: take a flagged consignment number, open it on tracking.bring.com, and confirm the last event timestamp matches the card’s “last scan” column. If the public page shows a newer event than the card, the difference is ingestion latency and will clear on the next sync. Why our number may legitimately differ from the public tracking page: Cross-connector reconciliation:

Known limitations / merchant FAQs

A parcel on the list looks fine when I check Bring tracking. Why is it flagged? Almost always ingestion latency. The Bring Tracking API surfaces scans minutes to hours after the physical event, so a parcel that scanned recently can still read as stale here until the event lands in our index. If the public page shows a newer event than the row, it will clear on the next sync. If it persists for several hours past a fresh public scan, raise it. The whole table jumped from a handful of rows to dozens. Are all those parcels lost? Almost certainly not. A sudden whole-table spike is the signature of a Bring Tracking API outage: every live parcel goes silent in our index at once because no scans are arriving. Check Bring Tracking API Unavailable / 5xx first. Do not send anyone to chase parcels until you have ruled out a feed problem. Why is a Mypack parcel at a pickup point showing as a gap? A “recipient notified” Mypack parcel legitimately sits still until the customer collects it, so it should not normally be flagged. If it is, the staleness threshold for the pickup stage needs tuning. Pickup-point dwell is tracked on Mypack Pickup Expiry Rate, not here; this card is for unexpected silence in active transit. A customs hold is showing as a gap. Is that wrong? No, that is a real, explainable gap. A parcel held at customs is genuinely not moving, and you should act on it (chase the customs document). The difference from a lost parcel is that the last event tells you why it stopped. Pair with NO Export Customs Clearance Rate to see if it is a one-off or a pattern. Why a 24-hour window and not longer? This is a real-time triage table: it shows what is actionable now. A parcel silent for days is no longer a fresh gap, it is a failed delivery or a claim, and lives on Failed Deliveries and Open Claims. The 24-hour scope keeps the table to parcels you can still save. Does the staleness threshold differ by product? Yes. A line-haul parcel between Norwegian terminals should scan every few hours; an export parcel crossing a border legitimately has longer gaps; a pickup-point parcel is supposed to dwell. The threshold is set per product code and per stage so a normal pause does not raise a false row. What is the playbook when a row is a genuine gap? In order: (1) confirm it is not a feed artefact by checking the public tracking page and Bring Tracking API Unavailable / 5xx; (2) read the last event type, a customs hold or pickup dwell is explainable, a mid-transit terminal scan with no follow-up is not; (3) for an unexplained mid-transit gap, chase Bring with the consignment number via Mybring; (4) pre-empt the customer with a proactive update before they raise a WISMO ticket; (5) if the parcel cannot be located, start the claim early on Open Claims rather than waiting for the customer.

Tracked live in Vortex IQ Nerve Centre

Shipments with Tracking-Event Gap is one of hundreds of KPI pulses Vortex IQ tracks across Bring and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.