Key takeaways
- A collection customer rarely needs the exact minute your truck arrives; they need a window they can plan around, sized to how much route still stands between the truck and their stop.
- Four route events are a useful starting set for messages—out for service, approaching, attempted but not completed, and finished with proof—while a live tracking link can carry smaller changes between them.
- An ETA is only honest if it is recalculated from the live route as the day unfolds. If disposal or offload legs affect the route, verify that the ETA workflow represents them rather than assuming a delivery-style tracker does.
- At Twilio's published August 2026 US base rate, SMS transport starts at $0.0083 per segment before carrier, registration, and platform charges. Cost matters, but consent, deliverability, and a working opt-out determine whether the program works.
- No credible public benchmark exists for how many calls collection fleets field about truck location, so your own count, calls per 1,000 stops before and after rollout, is the number that decides whether any of this worked.
On route days, a collection company's front phone may spend much of the day answering one question: "when will you be here?" Customers have less reason to dial when they receive a window they can plan around, messages at meaningful route events, and a live tracking link between them. I build DynoRoute, routing and dispatch software for fleets whose trucks fill up as they work (the pricing is public), and I have spent this year interviewing operators who run capacity-planned collection routes. ETAs are harder on these routes than in parcel delivery because a mid-route disposal run can pull a truck away and move every arrival behind it. This guide covers the promise, triggers, recalculation, cost, messaging rules, and measurement needed to see whether calls actually fall.
Should you promise an exact ETA or a service window?
Promise the widest window your customers can plan around and the narrowest one your routes can keep. A practical starting ladder is to confirm the service day in advance, tighten it to a two-to-four-hour arrival window by that morning, and offer minute-level precision only through a live surface (a tracking link or a stops-away count) once the truck is actually working toward the stop. Your arrival history, not the example window here, decides the width you can defend.
An exact time quoted at 7am is a guess wearing a commitment's clothes. Between the promise and the arrival sit a dozen sources of drift: a tank fuller than the schedule assumed, a container blocked by a parked car, traffic, the stop before that runs forty minutes over, the truck that hits its fill limit early and leaves for the disposal site. "10:40" is the midpoint of a spread that widens every hour; quote the midpoint as a promise and the route will break it for you.
A window serves the customer better than it sounds, because a collection customer does not need to greet the truck. They need to act before it arrives: gate unlocked, dog inside, car off the pad, trap area clear, containers out, site contact on premises. A window tells them by when their part must be done. Trust survives a wide window; it does not survive one that moves after the customer has already done their part.
| When the customer hears from you | What to promise | Why it holds |
|---|---|---|
| At booking, or on the recurring schedule | The service day | Day-level promises survive route replanning |
| The evening before or early that morning | A two-to-four-hour arrival window | Wide enough to absorb normal drift |
| When the truck goes out for service | The same window, plus a live tracking link | The link absorbs changes without new promises |
| A few stops out | A stops-away count or a "you're next" notice | Stays true even when stops run long |
Stops-away is the honest day-of unit because it degrades gracefully: "three stops away" remains true while each of those stops runs long, whereas an exact-minute ETA goes stale with no help from anyone. Size the window from your own history rather than from what sounds professional: if actual arrivals land an hour either side of the plan, publish the four-hour window you keep, because it will do more for the phone than the two-hour one you keep missing.
Which route events deserve a customer notification?
Four events are a useful starting set: the truck going out for service, the truck approaching the stop, a service the driver attempted but could not complete, and finished service. Each is a state change the customer may be able to act on. Your contracts, service type, consent, and customer research may justify fewer, different, or additional messages; smaller movements can usually stay on the tracking link.
The out-for-service message does the heaviest lifting. Sent when the route starts, it carries the arrival window, the tracking link, and the customer's part: the access note that says keep the trap area clear or leave the side gate open. Repeating that ask at 7:30am is what prevents the attempted-service message at 2pm.
The approaching notice answers the question before it is asked. A customer with a window plans around the end of it, and as the window narrows, so does their patience; a "you're next" message a few stops ahead reaches them before the phone does.
The missed-service message can prevent an avoidable next-day surprise. When a locked gate or buried container stops service, send the required same-day notice with the documented reason, appropriate evidence, and the recovery step permitted by the agreement. That may turn an inbound complaint into a useful reply, but the result should be measured rather than assumed.
The after-service message closes the loop: service done, time stamped, photo on the tracking page. Residential customers file it; commercial site managers forward it to whoever asked, and a year of them is a quiet on-time record that matters at renewal.
Delays and recovery are not extra message types; they are the same promises, reissued honestly. Set a material-change threshold before rollout — half the stated window is one possible starting rule — and send one revised window with a reason when the route crosses it. Smaller movements can stay on the live link. When a stop rolls to another day entirely, the reschedule notice separates "they skipped us" from "they moved us to Thursday morning."
A concise service message usually needs five things: who you are, the window, the customer's part, the link, and the required opt-out instruction. A made-up example to show the shape: "ABC Pumping: grease trap service today 12-3pm. Please keep the trap area clear. Track the truck: [link]. Reply STOP to opt out." That is about 130 characters with a shortened link—one segment under standard encoding. Additional content or triggers should earn their place through customer need, consent, and measured engagement; excess frequency can increase opt-outs.
How does the ETA stay honest when the route changes mid-day?
A live ETA on a collection route is recomputed from what is left of the day: the stops still ahead of the customer in the actual sequence, the service durations trucks are really logging, current traffic, and the disposal or offload legs the route still owes. The morning route sheet is not an ETA source. By noon it is a historical document.
This is where collection routes part ways with the parcel-tracking model most notification tools grew up in. A delivery tracker models drive time plus a fixed minute or two at each door. Collection stops refuse the fixed minute: a septic tank two years past its last pump, a bin buried behind pallets. And the tank itself rewrites the route: when a truck hits its fill limit sooner than planned, it leaves the route for the disposal site, and every stop behind it shifts by the full round trip: the drive there, the queue, the offload, the drive back. An ETA engine that does not model that leg is precise all morning and fictional after the first dump run.
The same recalculation has to absorb the dispatcher's day: a stop added at 10am, a cancellation at 11, two stops moved to another truck at noon, or a disposal queue running long. A simple customer policy can use three outcomes: no new alert while the window holds, one revised window when it materially moves, or a reschedule when the stop rolls. Contractual notices or safety events may require another message. The dispatcher-side protocol for deciding among these outcomes is covered in replanning routes when the day changes.
DynoRoute documents per-stop tracking links that refresh ETA information from live route progress, with display options for a time window, exact time, or stops away. That lets the page reflect route changes without issuing a new static promise. If a disposal or offload return is part of the day, test whether it is present in the route feeding the ETA and how its queue or duration is updated; the tracking-link feature alone does not prove that reset workflow.
What does each message cost, and what do the rules require?
At Twilio's published US rates, current as of August 2026, a text message costs $0.0083 per segment before fees, with carrier surcharges, sender registration, and failed-message fees stacked on top. Email has its own provider and platform costs even when its marginal delivery price is low. For many collection fleets, message transport is smaller than the labor cost of repeated ETA calls, but consent, deliverability, and total program cost still belong in the decision.
| Cost component | Twilio's published US rate, August 2026 |
|---|---|
| SMS, outbound or inbound | $0.0083 per segment |
| MMS (photo message), outbound | $0.022 per message |
| Carrier surcharge on outbound SMS | $0.0035 (AT&T), $0.0045 (T-Mobile) per message |
| Failed message processing | $0.001 per message |
| Business-sender registration | Separate onboarding and recurring fees |
A segment is 160 standard characters, and a message that spills over is billed as multiple segments of 153 characters each. One emoji (or a curly quote pasted in from a word processor) switches the message into a different encoding and cuts the limit to 70 characters, which can triple the cost of a chatty template. Write templates in plain characters and keep the day-of message inside one segment; the five-part example above fits with room to spare.
Here is the fleet-level math, illustrative and rounded rather than quoted: a fleet servicing 1,000 stops a week that sends two single-segment texts per stop sends about 8,700 messages a month. That is roughly $72 at the base rate, somewhere near $110 once carrier surcharges land on top — about what one afternoon of a dispatcher returning "where's the truck" calls costs, except it covers the entire month.
Consent is the part to treat with respect. US rules distinguish marketing from informational or service messages, and the exact obligation depends on the message, sender, consent record, and sending method; 47 CFR § 64.1200 is the federal rule, not a substitute for advice on your campaign. The conservative operating practice is clear: collect and retain permission for service alerts, say what channel will be used, keep promotions out of the service stream, honor revocation promptly, and test that STOP and HELP work before launch. Confirm the current federal, state, carrier, and provider requirements with qualified counsel or your messaging provider.
Deliverability is the quieter leak. A text to a landline can be sent, billed, and never received, so intake should confirm the number is a mobile, and someone should read the failed-message report: every silently failing number is a customer who will still call. The last requirement is a monitored sender. Replies to an address or number nobody watches evaporate while the phone rings anyway; send from a sender your office actually receives.
Did the notifications actually cut the calls?
The only ETA-call benchmark worth anything is your own. Log "where is the truck?" calls for two weeks before rollout, normalize them to calls per 1,000 stops, and run the identical count a month after. I went looking for a credible published figure for what share of a collection fleet's inbound calls are ETA calls, and I will not print one, because what exists is vendor-survey material with incompatible definitions and no collection-fleet sample.
The baseline costs a tally sheet. Everyone who answers the front phone marks ETA calls for two weeks; count stops served over the same stretch and divide. The per-1,000 normalization matters because raw call counts move with route volume. After rollout, wait a full service cycle so every recurring customer has received at least one notified visit, then count again the same way, checking your platform's sent-and-delivered notification history so the messages get credit only for the stretch they actually delivered.
Three secondary numbers help explain why the main one moved or did not. The failed-delivery rate finds dead or incompatible numbers to fix at intake. The opt-out rate is a noise and consent signal; if it climbs, review frequency, content, and expectation setting. Track missed-service disputes separately after service evidence becomes available to customers; access to that evidence may help, but it does not guarantee the calls will fall.
Some calls always remain; the number does not go to zero. A residual ETA call often points to a data problem (a wrong or dead number), a delivery problem (the message failed), or a routing problem (a window your routes keep breaking). The first two are fixed in intake and delivery monitoring. The third is a route-design problem, and no notification system will paper over it.
Choosing software that answers "when will you be here?" for you
Whatever you evaluate, test it against the method above rather than the feature list. Six criteria carry the weight:
- Notification triggers that match service events (out for service, approaching, missed service, service complete), with control by channel and stop type.
- A tracking link generated per stop, with an ETA recalculated from live route progress; any disposal or offload legs must be demonstrated in the route feeding it.
- A choice of ETA display to match your precision rule: time window, exact time, or stops away.
- A branded tracking page (your logo, your colors, your support details) that can carry the proof photo after service.
- Templates with variables and a live segment count, so you see the cost of a message while you write it.
- Your own sender on outbound messages, transparent per-segment SMS pricing, and a notification history you can audit against the call log.
DynoRoute documents the core notification and tracking pieces: SMS or email triggers for out for delivery/service, next customer, missed service, and completion; per-stop tracking links with time-window, exact-time, or stops-away display; configurable branding and templates; customer-visible proof after completion; segment counts and SMS credits; and notification history. Verify the sender, consent flow, proof visibility, terminology, and disposal/reset behavior in the configuration you will deploy. Two documented boundaries remain: new custom trigger events require support, and there is no built-in customer-feedback inbox, so replies need a monitored sender and disputes need an owned workflow.
If the front phone is your ETA system today, book an intro call and give your customers a window they can trust by next cycle.


