Most OTP dashboards celebrate the wrong victory: the gateway accepted a message. Users only care whether a code arrived in time and let them finish signup.
This guide lists the few metrics that expose real delivery risk, how to slice them by country, and how to keep staging probes honest without burning inventory.
Most OTP dashboards measure the wrong thing
The default metric teams track — "SMS sent successfully" — is nearly meaningless: it records that your gateway accepted the message, not that a human received a code and got into your product. Between those two events sit carrier routes, spam filters, handset quirks, and user behavior, and that gap is where conversion silently dies. Useful OTP metrics measure the funnel from the user's side, not the gateway's.
The five metrics worth alerting on
- Verified-through rate: of users who requested a code, what fraction completed verification? This is the metric — everything else explains its movements. Segment it by country and carrier or it hides regional collapses inside a healthy global average.
- Time-to-code (p50 and p95): median tells you the normal experience; p95 tells you how long your retry button should wait. A p95 drifting from 20 seconds to 3 minutes predicts abandonment before verified-through drops.
- Delivery receipt (DLR) rate — trended, not trusted: DLRs are inconsistently honest across carriers, but a route's own DLR baseline shifting is an early-warning signal even when absolute numbers lie.
- Resend ratio: resends per initial request. Rising resends with flat DLRs means users aren't seeing messages that carriers claim delivered — usually spam-foldering or sender-ID filtering.
- Cost per verified user: total SMS spend divided by completed verifications. This single number surfaces both route inefficiency and SMS-pumping fraud, which shows up as cost rising while verifications don't.
Making the metrics actionable
Instrument the funnel with terminal states (verified, abandoned, exhausted) so percentages have honest denominators; alert on per-country verified-through dropping below its own trailing baseline, not a global constant; and keep the ability to test any market on demand — a handful of virtual numbers in your top countries turns "Brazil looks degraded" from a dashboard theory into a reproduced failure with a screenshot, in five minutes, before support tickets arrive.
Which OTP KPIs belong on the primary dashboard?
Time-to-inbox: from your send API call to the moment the code appears in a known test handset or virtual inbox. Median and p95 by country catch silent regressions.
First-attempt verify rate: share of sessions that succeed without a resend. This is closer to user pain than total messages sent.
Failure taxonomy: timeout, invalid number class, rate limit, user abandoned. Without categories, on-call engineers guess.
Cost per successful verification: credits or carrier spend divided by verified sessions. Useful when comparing routes.
Keep the board small. Extra vanity charts dilute attention. Review weekly, and page on-call when p95 latency or first-try success cross agreed thresholds.
Lawful SMS verification only. Follow each platform’s terms. Ucode is not for bulk account farming or ban evasion.
Key takeaways
- Measure outcomes: verified logins beat messages accepted.
- Slice by country: global averages hide regional failures.
- Separate first-try success from retry noise.
In short
OTP dashboards should track delivery and verification outcomes by country, not only gateway success. First-attempt verify rate and time-to-inbox reveal the problems users actually feel.