Quick answer: Open Twilio Console > Verify Logs, click the failed attempt timestamp, and read the delivery status and error code before changing content or numbers. Twilio describes Verify SMS as best-effort and points developers to Verify Logs for delivery status, per Twilio Help Center, Sept 2026.
Carriers require the campaign use case to match message content. If your campaign is registered as 'marketing' and you're sending OTP codes, it can be silently filtered. Re-register with the 'Two-Factor Authentication' or 'Account Notifications' use case.
Short numeric-only messages with words like 'code', 'verify', or 'security' can trigger carrier heuristics. Add context: 'Your SideGuy verification code is: 482910. This code expires in 10 minutes.' Content with clear sender context passes more reliably.
10-digit long codes are capped at 1 message per second. If users trigger OTP requests in quick succession (double-tap, retry), messages queue and may time out before delivery. Use a messaging service pool or toll-free number for higher throughput.
Individual carriers maintain number-level blocklists. If your number has a poor sending history, specific carriers may block it without notification. Test the same code send to numbers on AT&T, Verizon, and T-Mobile separately to isolate the carrier.
OTP delivery outside the US has separate carrier agreements. Many countries require local number registration or use of in-country numbers. Check Twilio's country-specific compliance requirements if your users are international.
Real operator. No ticket queue. San Diego-based. Most issues resolved in one thread.
Related problems in this cluster: