Yes. Settings → Notifications has a switch for each email we send — disruption alerts, the daily disruption digest and the daily shipment report. Turning one off stops it immediately. Transactional mail (login codes, receipts, a failed payment, replies to your support tickets) still reaches you.
The email body shows the first 8 columns; everything after that is tagged "attachment only" and is still in the attached spreadsheet. Drag a column above the eighth position to bring it into the email itself.
Yes — Settings → Notifications → Daily shipment report → How often offers every day, weekdays only, or once a week on a day you choose. You can also narrow it to only delayed shipments, or only those arriving in the next 7 days.
Yes. Per customer you can switch on alerts for departure, arrival, ETA change and free days ending. Each event is independent, and every email carries a one-click unsubscribe so the customer stays in control.
Alerts are switched on for them but there is no contact email on file, so nothing can actually be sent. It is shown in amber because it looks configured and delivers nothing. Add a contact email to the customer and the alerts start working.
You can, from the dashboard — but ask them first. The unsubscribe link switches off all four events at once and it was their decision. Re-enabling without asking is how an account ends up marked as spam, which hurts delivery for every email you send.
Nothing is sent on a quiet day. The digest only goes out when there is something active to report, because an empty summary trains you to ignore the real ones.
Settings → Notifications → Daily shipment report has a "Send me a test report now" button. It sends immediately using your current columns, scope and attachment format.
It counts new registrations. Your plan limit is the number of shipments ADDED during the billing period, so deleting one does not normally return the slot — otherwise a single slot could be recycled endlessly. One exception for genuine mistakes: a shipment deleted within 48 hours of being added is refunded and never counts, capped at 3 refunds per billing period (scaled up on annual plans). Re-tracking a container you already track, and a reference that fails to resolve, never consume a slot at all.
At the start of your billing period, not on the first of the month. The banner on your shipment list shows how many you have added, your limit, and the exact date the period expires.
Buy add-on slot packs from the billing page — they extend your current plan, including the largest standard one, without moving you up a tier. If you are regularly exhausting the top plan, that is worth a conversation about volume pricing rather than repeat packs.
Check the Status column on your shipment list — it reads "arrived" once the carrier reports the vessel berthed at the destination port. We do not mark arrival before the carrier publishes it, because a vessel alongside on a map is not a confirmed discharge and only the confirmed one affects your free days. To be told rather than having to look, switch on arrival alerts for yourself or for your customer.
The carrier is the source of truth and we report what they publish. A difference usually means one of three things: their website reads an internal system that updates before the public feed; the box is transhipping, so it can show arrived at an intermediate port; or you are tracking a BL covering several containers, one of which moved before the others. If we are more than a day behind on a shipment that is clearly moving, send us the reference and we will check the feed.
The Timeline column shows when we last synced with the carrier. Ocean carriers publish in batches rather than continuously, so a status that synced a while ago is not stale data on our side — it is the most recent thing the line has said. That timestamp is the honest answer to how current it is.
Use Book a demo in the top navigation, or the "Thinking about Traqo" option on our support page. Tell us your rough monthly container volume and the lanes you run, and we will show it tracking your own references rather than a canned example — it is a far more useful half hour than a generic tour.
Yes. Paste a container or bill of lading number into the tracker on our home page — no account, no card, no call. Signing up gives you a dashboard, alerts and the daily report on top of that.
We track over 170 ocean carriers. Paste a reference into the tracker on the home page and you will know in seconds — that is faster than us checking a list for you. If your line is genuinely missing, tell us which one and we will look at adding it.
There is no fixed daily sync time. Each shipment re-syncs on a rolling 12-hour gap — at most twice a day, which is also the most the carrier feeds will give us, so asking more often returns the same data. Opening a shipment refreshes it there and then on any plan, and that counts towards the same gap rather than being extra. Because the gap runs from each shipment's own last sync rather than from a clock, there is no 9am or 10am batch to align an integration to. If you are scheduling a job against it, read the last-synced timestamp on the shipment (or lastSyncedAt on the API) rather than assuming a window.
Paste it anyway — spaces, dashes and full stops are stripped before we look the reference up, so "DXB 1040857" and "DXB1040857" are the same reference to us. If it still does not resolve, the likely reason is that it is a house bill issued by a forwarder rather than the ocean carrier; ask for the master BL.
Do not schedule against a sync time — there is not one. Ask for what changed instead: GET /api/v1/shipments?updated_since=<ISO timestamp of your last run> returns only the shipments whose tracking data has moved since then, which is the primitive built for exactly this. Every row also carries last_synced_at, so you can see how current each one is rather than assuming. If a shipment matters and its timestamp is older than you can accept, call the tracking endpoint for that reference and it re-syncs on the spot, subject to a 12-hour minimum gap. For a heavy overnight job the cheap pattern is: pull the delta, check timestamps, and force a re-track only on the handful that are both stale and important.
Check spam first — the code is a plain transactional email and filters occasionally hold it. Codes are short-lived, so if one arrives after you have already requested another, use the newest. Repeated requests in a short window are rate-limited, which looks like nothing happening: wait a minute rather than pressing send again. If nothing arrives at all, the address may have bounced previously — write to the support desk from any address and say which account it is.
120 requests per minute per API key by default, over a fixed 60-second window. Every response carries X-RateLimit-* headers, not just the ones that fail, so you can pace against the remaining count instead of waiting to be refused. Over the limit you get a 429 with Retry-After in seconds. Higher limits can be configured per plan.
Not necessarily — 402 has two distinct causes and data.error tells you which. "shipment_limit_reached" means you have used every shipment slot for the billing period; "payment_overdue" means a payment failed and the grace period has ended. Branch on data.error rather than the message text. Either way, references you already track keep updating; what is blocked is adding new ones.
Yes — the Developer page shows used, limit and remaining live, and the same figures are available to your integration. Poll that rather than learning your position from a 402.
No — keys are stored hashed, so we genuinely cannot read an existing one back. Issue a new key and revoke the old one. That is a deliberate design choice: a key we could show you is a key anyone who reached our database could show themselves.
Cancel from the billing page. You keep access until the end of the period you have already paid for, and it does not renew. Your shipments and history stay readable while the account exists — cancelling stops the billing, it does not wipe the account. If you want the data removed entirely, ask us and we will handle it as a deletion request.
Yes — invoices are on the billing page and are also emailed when a payment succeeds. If you need specific details on them (a company registration or tax number, a purchase-order reference), tell the support desk what has to appear and we will set it on the account so future invoices carry it.