SMS charged but not received
Upper shows an SMS as sent and charged but the customer says no text arrived. The cause is usually a landline, a wrong number format, or carrier blocking. Here's how to check.
When Upper shows an SMS as sent and your balance goes down, but a customer says no text arrived, the message left Upper but the carrier didn't deliver it to the phone. The cause is almost always the phone number itself — a landline, a wrong format, or a carrier blocking automated messages.
There's a difference between "Upper sent the message" and "the carrier delivered it to the handset." Upper hands the message to the SMS carrier; the carrier is responsible for the final delivery. The SMS report tells you which side the problem is on.
Start with the SMS report
The fastest way to see what actually happened to each message is the SMS report. It records every text Upper attempted, its delivery status, and the reason for any failure the carrier returned.
Open the report
Go to Analytics, then choose Route Plan SMS Detailed Report from the report selector.
Find the customer's row
The report lists one row per message, tied to the recipient contact. Use the columns to locate the stop or customer you're investigating.
Read the status and failure reason
Check the SMS Status and Fail Reason columns. The Fail Reason is the carrier's explanation for why a message didn't land — it's your single best clue. The Country Code, Phone number, Total Segments, and Total SMS Cost columns are also on this report if you need to confirm the number Upper actually sent to or what it cost.
If you don't see the Fail Reason or SMS Status columns, open Customize Columns on the report and switch them on.
Run these checks
Verify the phone number
This is the single most common cause. Confirm the customer's number is:
- A mobile number, not a landline — landlines can't receive SMS.
- Correctly formatted with the country code (for example, +1 for US/Canada).
- Free of typos — one transposed digit fails silently.
Check the contact's notification history
Open Contacts, click the customer, and open the Notifications tab to see the per-stop send history for that contact.
Confirm the trigger and channel are set up as expected
In Settings > Notifications, confirm the Text Message (SMS) channel is on, the trigger you expected is enabled, and it applies to the right stop types (Delivery, Pickup, Stop).
Common causes and fixes
| Cause | Fix |
|---|---|
| The number is a landline | SMS can't deliver to landlines. Switch the customer to email notifications, or capture a mobile number. |
| Wrong number format | Re-enter using the full international format with country code (+1 for US/Canada). Compare against the Country Code and Phone number columns in the SMS report. |
| Carrier blocked or filtered the message | The Fail Reason column will usually indicate this. The customer may need to contact their carrier or check their messaging app's spam filter. |
| The customer replied STOP | Customers who text STOP are opted out at the carrier level and won't receive further messages until they opt back in. |
Before re-sending to a number that keeps failing, fix the underlying data first. Re-trying the same broken or invalid number won't change the outcome and adds more cost to your balance.
Frequently asked
Still seeing the issue?
If you've checked the number format, confirmed the SMS channel and trigger are on, and reviewed the SMS Status and Fail Reason in the report — and customers still aren't receiving texts — contact us:
- Live chat — click the chat icon in the dashboard.
- Email — support@upperinc.com.
Include a few specific customer phone numbers and the date range. That speeds up the investigation.