Every SMS campaign starts with a database. Names, phone numbers, opt-in dates — the raw material your CRM feeds into a messaging platform. But a portion of those numbers aren't real contacts anymore. Some were entered incorrectly at registration. Others belong to SIM cards that were deactivated months ago. A few were never valid to begin with.
The result is predictable: messages go out, carrier fees get charged, and delivery reports come back failed. Phone number verification is the step most teams skip — and it's the one that determines whether your messaging budget produces revenue or waste.
At BSG, we've seen businesses lose between 5% and 10% of their entire SMS spend on messages sent to numbers that can't receive them. For a company sending 100,000 A2P SMS messages a month, that's 5,000 to 10,000 messages generating cost without generating any result.
When a message fails to deliver, the cost doesn't always disappear. Carriers charge for the attempt in many markets — the message entered the network, consumed routing resources, and was processed by the originating SMSC before it hit a dead end. You pay for that processing whether the message reaches a person or not.
The financial impact compounds across campaigns. A fintech company running OTP verification for sign-ups, transaction confirmations, and password resets might send hundreds of thousands of messages monthly. If 7% of those go to numbers that are invalid, inactive, or unreachable, the waste adds up: budget that could have funded actual engagement instead funds failed delivery attempts.
But the cost goes beyond wasted credits. Poor delivery rates degrade your sender reputation with carriers. Networks track delivery failure ratios, and senders with consistently high failure rates face throttling, filtering, or in some markets, temporary suspension. What starts as a data quality issue becomes a deliverability problem — and once your routes are deprioritized, even messages to valid numbers suffer.
In our experience working with e-commerce and fintech clients, the teams that don't verify numbers before sending typically see delivery rates 6–8 percentage points lower than teams that clean their databases quarterly. The gap widens in markets with high SIM churn, such as parts of Southeast Asia and Sub-Saharan Africa.
Phone number databases degrade over time. The reason matters because each type of failure requires a different response.
Invalid numbers are entries that never represented a working phone line. These include typos during registration (a misplaced digit, an extra zero), test entries from development environments, and formats that don't match any national numbering plan. No carrier will ever route a message to these numbers, and they should be removed permanently.
Inactive numbers once belonged to real subscribers who have since churned. The SIM was deactivated, the contract expired, or the user switched carriers and abandoned the old number. Mobile network operators eventually recycle these MSISDNs and reassign them. Until that happens, messages to inactive numbers fail silently.
Unreachable numbers are technically valid and may still belong to an active subscriber, but the device is off, out of coverage, or roaming in a way that blocks delivery. These are temporary states — the number may accept messages tomorrow. Sending to unreachable numbers during a time-sensitive campaign (flash sales, OTP delivery) wastes budget and creates a poor user experience.
Fraud-risk numbers include disposable SIMs, virtual numbers from VoIP services, and temporary number apps designed for one-time use. In fintech and e-commerce, these are common vectors for account fraud, promo abuse, and referral program manipulation. Identifying them before OTP delivery prevents wasted verification spend and reduces fraud exposure.
Based on what we observe across the campaigns we support, invalid and inactive numbers together account for roughly 60–70% of all number-related delivery failures. Unreachable and fraud-risk numbers make up the rest, with fraud risk becoming a larger share in markets where prepaid SIM registration rules are loosely enforced.
| Category | Description | Risk to Business | Recommended Action |
|---|---|---|---|
| Invalid | Wrong format, non-existent number | Permanent waste, damages sender reputation | Remove from database |
| Inactive | SIM deactivated, subscriber churned | Ongoing cost until removed | Remove or quarantine |
| Unreachable | Device off, no coverage, roaming | Temporary waste, poor UX on urgent sends | Retry later or skip for time-sensitive campaigns |
| Fraud risk | Disposable SIM, VoIP, temporary number | Fraud exposure, promo abuse, wasted OTP spend | Flag and block at registration |
The mechanism behind phone number verification is the HLR lookup — a query against the Home Location Register, the core network database that every mobile network operator maintains.
When you send an HLR query for a phone number, the request travels to the MNO that currently serves that MSISDN (the full international phone number). The register responds with the number's current status: whether the SIM is active, which network it belongs to (accounting for mobile number portability), whether the device is reachable, and what type of line it is — mobile, fixed, or virtual.
What matters for accuracy is whether this query happens in real time. Some verification providers cache HLR responses and serve stored results for hours or days. This reduces their cost per query but introduces staleness — a number that was active yesterday may have been deactivated this morning.
BSG Number Verifier performs live queries against carrier networks with no caching. Every request returns the number's status as of the moment the query executes. This distinction matters most for time-sensitive use cases: OTP delivery, pre-campaign sms number verification, and fraud checks at registration.
For teams that want to understand the difference between a basic HLR lookup and a full verification service, BSG has published a detailed comparison of Number Verifier and traditional HLR that breaks down the technical differences What is Number Verifier and why it's more than just an HLR lookup.
The most expensive mistake in SMS operations isn't choosing the wrong message template — it's sending to the wrong list. Phone number verification works best when it happens before the campaign, not after the delivery failures arrive.
The verification-first approach means running your database through a number verification check before uploading contacts to your messaging platform. Invalid numbers get removed. Inactive numbers get quarantined. Fraud-risk numbers get flagged for review. What remains is a list where every entry has a confirmed-active SIM on a known network.
What our clients have found is that pre-campaign verification typically reduces delivery failures by 30–50%, depending on how long the database has been in use and how aggressively contacts were acquired. Databases built from web forms without double opt-in tend to have the highest rate of invalid entries. Lists older than 12 months without any cleaning tend to carry the most inactive numbers.
The before-and-after impact is direct. Without verification, a team sends 50,000 messages, 4,000 fail, and the CRM shows a 92% delivery rate. With verification, the team removes the 4,000 bad numbers beforehand, sends 46,000 messages, achieves a 98% delivery rate, and saves the cost of 4,000 wasted attempts. The messages that do go out perform better because the underlying infrastructure — sender reputation, carrier scoring, route allocation — all benefits from consistently high delivery ratios.
When BSG Number Verifier BSG Number Verifier processes a phone number, the number verification response includes five data points that inform both delivery decisions and fraud logic.
Number status tells you whether the number is currently active, inactive, or invalid. This is the primary filter — if the status isn't active, there's no reason to spend a message credit on it.
Country and operator identify which network currently serves the number. This is critical for cost optimization: knowing the destination operator lets your messaging platform select the lowest-cost route, especially in markets where inter-operator SMS pricing varies significantly.
Line type distinguishes between mobile, landline, and virtual/VoIP numbers. For SMS campaigns, mobile numbers are the target. VoIP and virtual numbers are often associated with temporary-use services and carry higher fraud risk in verification workflows.
Reachability indicates whether the device is currently connected to the network. A number can be active (SIM not deactivated) but temporarily unreachable (phone off, out of coverage). This signal helps teams decide whether to attempt delivery now or delay.
All five data points return within an average response time of 312 milliseconds. For API-driven workflows — registration forms, checkout OTP, in-app verification — this latency is fast enough to validate phone number data inline without adding noticeable delay to the user experience.
At BSG, we've seen fintech clients build number verification directly into their sign-up flow. When a user enters a phone number, the app calls the number verification API before sending the OTP. If the number comes back as invalid or high-risk, the user is prompted to re-enter — saving the cost of a wasted OTP message and reducing fake account creation.
BSG Number Verifier supports two integration modes, each built for a different operational rhythm.
API verification handles individual number lookups in real time. You send a phone number, and the API returns status, operator, country, line type, and reachability within 312ms. This mode fits use cases where verification needs to happen at the moment of interaction: user registration, checkout OTP, customer profile updates, or lead intake forms.
The API uses standard REST endpoints with JSON responses. Authentication is key-based, and integration typically takes less than a day for teams with existing API infrastructure. Full documentation is available through BSG's developer portal.
Batch verification processes large number lists — thousands to millions of contacts — in a single operation. Upload a file, start the verification job, and retrieve results when processing completes. This mode is designed for periodic database cleaning: monthly CRM audits, pre-campaign list verification, and post-acquisition list qualification.
For teams running multi-channel campaigns through BSG's unified messaging API One API for SMS, WhatsApp, Viber, and RCS, combining verification with cascade routing message cascade fallback means you send only to verified numbers and deliver through the most cost-effective channel available. The combination of verification plus cascade is where the largest cost savings compound.
An HLR lookup queries a carrier's Home Location Register to check a number's network status. Phone number verification includes that HLR query but adds additional data processing — line type identification, fraud risk detection, and reachability assessment. BSG Number Verifier performs live HLR queries with no caching and returns a structured response covering all five data dimensions.
The average response time is 312 milliseconds per query. This latency supports real-time integration into registration forms, checkout flows, and OTP verification without noticeable delay. For batch operations, processing time depends on volume, but lists of 100,000 numbers typically complete within minutes.
Yes. BSG Number Verifier supports batch verification for list cleaning. Upload your contact file, run the verification job, and download results with status, operator, and line type for each number. Most teams run batch verification monthly or before every major campaign to remove invalid and inactive contacts from their CRM. ─────────────────────────────────────────── Ready to stop paying for messages that never arrive? BSG Number Verifier BSG Number Verifier lets you check any phone number's status before you send — catching invalid, inactive, and high-risk contacts before they cost you money. Run a verification check on your database, or integrate the number verification API into your registration and messaging workflows. Talk to BSG's team contact BSG to verify your first 1,000 numbers and see the difference in your delivery rates.