Phone Number Checks to Help with Deliverability
Last updated: May 22, 2026
When sending text messages on Switchboard, we run recipient phone numbers through a series of deliverability checks. In some cases, this results in the destination phone number being "skipped", where we don't attempt to send the message to that number. In these cases, we have very high confidence that that number is not reachable, and attempting to send a message to it would result in a failure. By skipping the attempt, this ensures that:
Your overall error rates are lower, which in the long run can help your deliverability in the eyes of carriers.
Your sends will finish faster, since we can use sending bandwidth towards messages that are more likely to go through and don't spend bandwidth on messages that will result in failures.
When you're assessing your phone lists and saved searches, you have a better sense of what proportion of numbers are reachable.
Switchboard can maintain our low prices for users by reducing our costs. When messages result in a failure, while we don't bill you for the message, we still typically pay our downstream vendors for the attempt.
Reasons a Message might be Skipped
There are several criterial for when we skip sending to a phone number.
Opt Out
The number has opted out of receiving messages from your organization. In your data, the status of the Phone Message will be reported as optedout.
Invalid Number
The number is not a valid 10 digit phone number or short code. This is usually because a number is incorrectly formatted (e.g. only 9 digits were submitted), bad input from the source of the phone number (e.g. someone wrote "none" in a form), or the phone area code not being valid. In your data, the skip reason will be invalid_number .
Landline
The number is a landline. For every phone number that's uploaded into Switchboard, we use vendors to lookup the type of number (mobile , voip, or landline ) and which carrier the number belongs to. We skip sending to landlines because they cannot receive text messages. In your data, the skip reason will be landline.
We re-lookup a number at least once every 90 days, to handle cases where it might have been ported to a different carrier or type.
Previous Failures
Note: When sending to a phone for the first time, or if the phone has never errored previously, we always allow the message to be sent (even if it would otherwise be skipped for a reason listed below).
Organization-Level Failures
If the phone number has 5 or more continuous errors since the last sent or delivered status in the last 80 days within the sending organization. In your data, the skip reason will be recent_errors.
Global Failures
If the phone number has resulted in more than 5 errors since the latest "heartbeat" from the number (such as the timestamp of a successful delivery or an action like a click or reply), across all organizations on Switchboard. In your data, the skip reason will be global_lifetime_error_count .
Starting May 2026: If a phone has not been attempted in at least 80 days, we allow the phone message to be attempted again.
Future Changes & Troubleshooting
We continue to monitor deliverability across all of Switchboard, and may change this specific logic or thresholds over time, as we analyze the data to try to ensure we're not unintentionally skipping reachable numbers.
If you believe that a number is being skipped incorrectly, you can try sending a Sample Text to the phone number from a broadcast page. This skips all checks except the opt-out.
If a phone is being incorrectly skipped, or if you have any other questions, please reach out to support@oneswitchboard.com!
Changelog
Below is a long of changes to our skip logic.
May 2026
Added: Ensuring phones are always allowed to be tested if no message has been sent in 80 days.
Removed: Deprecating skips based on Toll Free sending error frequency:
We previously skipped if the phone number has more than 5 errors in 30 days on Toll Free sending, across all organizations on Switchboard. The error count and days window were configurable at the organization level. This was implemented in 2024 when errors on Toll Free sending were more comprehensive than other sending channels. Today, we get robust failure data across all sending number types that this specific check is no longer needed. In your data, the skip reason was
global_error_count.