📊 Campaign Analytics

SMS Delivery Reports India

Real-Time Dashboard  •  Per-Number Status  •  CSV Download  •  API Webhooks  •  90-Day Archive

Know exactly who received your SMS — and who didn't. Fivo SMS provides real-time delivery reports for every bulk SMS campaign and individual message, showing delivered, failed, DND-filtered, and pending counts live as the campaign sends. Download per-number CSV reports for CRM import, compliance audit, or ROI analysis. Set up API webhooks to push delivery status directly to your application the moment each SMS lands on the handset. Reports archived for 90 days — always available when you need them.

📊Real-Time Live Dashboard
📱Per-Number Delivery Status
📄CSV Download — All Statuses
💻API Webhook Callbacks
🔒DLT Compliance Audit Trail
🕑90-Day Report Archive

What Are SMS Delivery Reports — and Why They Matter

A delivery report tells you the outcome of every SMS you send — delivered to handset, failed, DND-filtered, or still pending. Without delivery reports, you are sending blind.

4Delivery Statuses — Delivered, Failed, DND, Pending
Real-TimeDashboard Updates as Campaign Sends
Per NumberIndividual Status for Every Recipient
CSVFull Report Downloadable in Seconds
WebhookPush Callbacks to Your App in Real Time
90 DaysReport Archive — Always Accessible

An SMS delivery report is the confirmation trail from the telecom network back to your platform — confirming whether each SMS you sent was actually delivered to the recipient's handset, failed at the network level, was filtered because the number is DND-registered, or is still in transit. Without delivery reports, bulk SMS is a black box — you know you sent messages, but you have no visibility into how many actually reached customers.

Delivery reports serve three critical business purposes. First, operational accuracy — knowing which customers did not receive your OTP, appointment reminder, or dispatch alert enables your team to trigger fallback communication (a call, a WhatsApp, a retry) before the customer is impacted. Second, campaign ROI measurement — knowing your actual delivered reach (not just the numbers you uploaded) gives you an accurate denominator for calculating conversion rates, cost per delivered SMS, and campaign effectiveness. Third, compliance audit trail — for banks, NBFCs, healthcare providers, and government entities required to maintain records of customer communication, delivery logs with timestamps provide the evidence required for regulatory audits.

Fivo SMS delivery reports are available through three channels: the real-time web dashboard (live counts updating as the campaign sends), downloadable CSV export (available within minutes of campaign completion), and API webhook callbacks (delivery status pushed to your application the moment each message is delivered or fails). All three are included at no additional charge.

📊 Campaign Report — Diwali Sale LIVE
86,241Delivered
11,430DND Filtered
1,894Failed
435Pending
Delivery Progress86% delivered
Mobile NumberStatusDelivered AtOperator
98XXXXXX01Delivered10:00:04 AMJio
91XXXXXX88DND—Airtel
73XXXXXX22Delivered10:00:07 AMVi
88XXXXXX45Failed—BSNL
99XXXXXX17Pending—Jio

Illustrative dashboard — numbers shown for reference only

Understanding the Four Delivery Statuses

Every SMS in every campaign is assigned one of four statuses. Understanding what each means helps you act correctly on your report data.

✅ Delivered

The SMS was successfully delivered to the recipient's handset and a delivery confirmation was received from the telecom operator. This is the definitive confirmation that the customer's phone received the message. For OTP and Transactional SMS, a "Delivered" status means the customer can now read and act on the message. Note: "Delivered" confirms network delivery to the handset — it does not confirm the recipient has read the message (SMS has no read receipt standard).

🚪 DND Filtered

The recipient's mobile number is registered on the TRAI NCPR DND (Do Not Disturb) list and the campaign was a Promotional SMS. Fivo SMS scrubs DND numbers from Promotional campaigns before sending — DND-filtered numbers never receive the message and are not charged. You are only billed for numbers outside DND. Transactional SMS (OTP, alerts) is exempt from DND filtering and is never blocked for this reason.

🔴 Failed

The SMS could not be delivered after all routing attempts. Common reasons: invalid or non-existent mobile number, handset permanently switched off or unreachable for an extended period beyond operator retry window, number ported to a network with routing issues, or operator-level rejection. Failed numbers should be reviewed — permanently invalid numbers should be removed from your database. Fivo SMS provides the specific failure reason code where available from the operator.

⏳ Pending

The SMS has been submitted to the telecom operator but a final delivery confirmation has not yet been received. Pending typically means the handset is temporarily switched off, out of coverage, or the operator's delivery retry window is still active. Most Pending messages resolve to Delivered within a few hours as the handset comes back online. A small percentage may eventually move to Failed if the handset remains unreachable past the operator's retry timeout (usually 24–72 hours).

⚠️ Billing Clarification — Failed and DND: For Promotional SMS, DND-filtered numbers are removed before sending and are never charged. For Failed messages, credits are typically not deducted for definitive operator rejections (invalid number, unreachable beyond retry window) — contact Fivo SMS for exact billing treatment of failed messages in your account configuration.

Three Ways to Access Your Delivery Reports

📊 Real-Time Web Dashboard

Monitor every campaign live from your Fivo SMS web panel — watch the Delivered, Failed, DND, and Pending counts update in real time as the campaign sends across the network. The dashboard shows overall campaign progress as a percentage bar, a live feed of per-number status updates, and summary statistics per operator (Jio, Airtel, Vi, BSNL). No page refresh required — the dashboard auto-updates throughout delivery. Available for both Transactional and Promotional campaigns.

  • Live counts updated continuously
  • Progress bar — % delivered in real time
  • Per-operator breakdown
  • Filterable by status (delivered / failed / DND)

📄 Downloadable CSV Report

Download the full per-number delivery report as a CSV file — available within minutes of campaign completion, or for in-progress campaigns at any point during sending. The CSV contains every recipient number, their delivery status, delivery timestamp (for delivered numbers), operator name, and failure reason code (for failed numbers). Import directly into your CRM, billing system, or analytics platform for ROI analysis, customer segmentation, or follow-up campaign targeting.

mobile,status,delivered_at,operator,reason
9810XXXXXX,Delivered,10:00:04,Jio,—
9876XXXXXX,DND,—,Airtel,DND Filtered
7320XXXXXX,Delivered,10:00:09,Vi,—
8890XXXXXX,Failed,—,BSNL,Invalid Number

💻 API Webhook Callbacks

For application-integrated SMS — OTP, order alerts, payment confirmations — register a webhook callback URL in your Fivo SMS account to receive real-time delivery status pushed to your application the moment each SMS is delivered or fails. No polling required. Your application receives an HTTP POST with the message ID, recipient number, status, timestamp, and operator. Use callbacks to trigger fallback flows: if an OTP fails to deliver, your app immediately fires a voice OTP; if a dispatch alert fails, your support system flags the order for manual outreach.

  • Instant HTTP POST on delivery / failure
  • Message ID, number, status, timestamp
  • No polling — push architecture
  • Trigger fallback flows automatically

How Different Businesses Use Delivery Reports

🏭 Banks & Fintech — Compliance Audit

RBI mandates transaction alert SMS for all debits above ₹5,000. Delivery logs with timestamps provide the audit evidence required to demonstrate compliance — each transaction alert is logged with message ID, mobile number, delivery status, and exact delivery timestamp. In case of a customer dispute ("I didn't receive the alert"), the delivery report is the first line of evidence for the bank's compliance team.

  • Delivery timestamp per transaction alert
  • 90-day archive for RBI audit access
  • Failed alerts flagged for manual review

🛍 E-Commerce — ROI Measurement

For a Diwali sale campaign sent to 1,00,000 opted-in customers, the delivery report shows 86,000 delivered, 11,000 DND-filtered, 1,900 failed, and 2,100 pending. The marketer now knows the actual delivered reach was 86,000 — not 1,00,000. Cost per delivered SMS is accurately calculated. Revenue attributed to the campaign divided by 86,000 gives the true CPR (Cost Per Reached Customer), enabling accurate campaign ROI and budget justification for the next campaign.

  • Accurate delivered reach count
  • True cost per delivered message
  • Failed numbers removed from future lists

🔑 SaaS & Fintech — OTP Fallback

A payment gateway sends login OTP via SMS. The API webhook callback confirms delivery in under 5 seconds for 98.5% of numbers. For the 1.5% where the SMS fails — invalid number, handset off — the webhook failure callback triggers an automatic voice OTP call within the same session, keeping the authentication flow intact. Without real-time webhook delivery reporting, failed OTPs result in dead-end user experiences and abandoned transactions.

  • Webhook fires on delivery or failure
  • App triggers voice OTP on SMS failure
  • Zero dead-end authentication flows

🏥 Healthcare — No-Show Reduction

A hospital sends appointment reminders the evening before. The delivery report shows 94 patients received the SMS and 6 failed (handsets off). The front-desk team is automatically notified of the 6 failed deliveries and makes a quick call to those patients — converting potential no-shows into confirmed attendances. Delivery report data directly feeds into the hospital's no-show management workflow.

🚚 Logistics — Delivery Dispute Resolution

A customer claims they never received an "out for delivery" SMS and disputes the delivery attempt. The logistics company pulls the delivery report showing the SMS was delivered to the customer's registered number at 9:14 AM — well before the delivery attempt at 10:30 AM. The delivery timestamp is the evidence that resolves the dispute. Without delivery reports, such disputes are impossible to resolve objectively.

📈 CRM & Marketing — List Hygiene

After every campaign, the marketer downloads the CSV report and imports Failed numbers into the CRM as "invalid mobile." Over three consecutive campaigns, numbers that consistently fail are flagged for removal from the active database — improving future campaign deliverability, reducing wasted spend, and maintaining list hygiene. DND-filtered numbers are tagged for Transactional-only communication going forward.

Delivery Report Features — Fivo SMS Platform

🕑 90-Day Report Archive

All delivery reports are stored and accessible for 90 days from the campaign date. Access any past campaign's full delivery data — summary counts or per-number CSV — from the Fivo SMS dashboard at any time within the archive window. Essential for businesses with monthly compliance reporting cycles, quarterly audits, or delayed dispute resolution timelines where historic delivery evidence may be required weeks after the campaign.

👥 Per-Operator Breakdown

The delivery dashboard breaks down delivery rates by telecom operator — Jio, Airtel, Vodafone Idea, and BSNL — so you can identify if a particular network is experiencing routing issues for your Sender ID or template. A delivery rate of 98% on Jio and Airtel but 72% on BSNL immediately flags a BSNL-specific issue that Fivo SMS can investigate and reroute. Operator-level visibility is critical for high-volume enterprise senders.

⏳ Pending Resolution Tracking

Pending SMS — where the handset is temporarily unreachable — are tracked through the operator's retry window (typically 24–72 hours). As Pending messages resolve to Delivered or Failed, the report updates automatically. You receive a notification when a campaign's Pending count drops to zero — the signal that all outstanding delivery confirmations have been received and the report is finalised.

📄 Failure Reason Codes

The CSV report and API callback include the specific failure reason code for every Failed SMS — where available from the telecom operator. Common codes: Invalid Number (the mobile number does not exist on any Indian network), Unreachable (handset off or out of coverage beyond retry window), Barred (number has been deactivated), DLT Rejection (template mismatch — requires DLT review). See: DLT Error Codes Reference

🔌 API Polling & Webhooks

Two API delivery report access methods: polling (GET request to the Fivo SMS API with your campaign or message ID returns current status) and webhooks (push callbacks — Fivo SMS POSTs to your URL the moment each message status changes). For most application use cases, webhooks are preferred as they eliminate polling overhead and provide real-time status without your application having to repeatedly query the API.

📊 Campaign Comparison

Compare delivery performance across multiple campaigns from the Fivo SMS dashboard — delivery rate trends over time, DND-filtered percentage by campaign (a rising DND rate indicates your database needs refreshing with new opt-ins), operator-wise delivery consistency, and failed number rates. Campaign comparison data helps marketing teams identify which audience segments, send times, and Sender IDs consistently produce the best delivery outcomes.

FAQs — SMS Delivery Reports

How quickly are delivery reports available after sending a campaign?
The real-time dashboard begins updating immediately as the first SMS is delivered or fails — you can watch delivery counts tick up in real time during the campaign send. For most campaigns, 95%+ of final delivery statuses are received within 2–5 minutes of the last SMS being sent. A small number of Pending messages (handsets temporarily off or out of coverage) may take up to 24–72 hours to resolve as the telecom operator's retry mechanism attempts redelivery. The downloadable CSV is available for export at any point — including mid-campaign — and reflects the status data at the time of download.
Does "Delivered" mean the recipient has read the SMS?
No — "Delivered" confirms that the SMS reached the recipient's handset and was accepted by the device. It is a network-level delivery confirmation, not a read receipt. SMS does not have a standard read receipt mechanism like email or WhatsApp (where two blue ticks confirm a message has been read). "Delivered" means the message is on the phone and available for the customer to read — but you cannot know programmatically whether they have opened and read it. For campaigns where read confirmation is important, consider RCS Business Messaging which supports read receipts.
How long are delivery reports kept? Can I access reports from 3 months ago?
Fivo SMS archives all delivery reports — summary counts and per-number CSV — for 90 days from the campaign date. Any campaign from within the last 90 days can be retrieved from the Fivo SMS dashboard at any time. For businesses with compliance requirements that mandate longer retention (certain banking, healthcare, or government entities), we recommend downloading and storing the CSV reports in your own systems at the time of the campaign, as reports beyond 90 days may not be retrievable from the Fivo SMS platform.
Can I use delivery reports to clean my contact database?
Yes — and this is a recommended best practice. After every campaign, download the CSV report and import it into your CRM or contact management system. Tag numbers with "Failed — Invalid Number" status as permanently invalid and remove them from future campaigns. Tag DND numbers as "Promotional DND" — they can still receive Transactional SMS but should not be included in Promotional campaigns. Regularly cleaning your database based on delivery report data improves future campaign deliverability rates, reduces wasted SMS spend, and keeps your list accurate. A monthly database hygiene review based on delivery data is best practice for any business sending 50,000+ SMS per month.
Can delivery reports be accessed via the API for automated processing?
Yes — the Fivo SMS REST API provides two methods for programmatic delivery report access: status polling (GET /delivery-status?campaign_id=XXX returns current counts and per-number status) and webhook push callbacks (register your URL and receive real-time HTTP POST notifications as each message is delivered or fails). The webhook approach is preferred for application-integrated SMS (OTP, alerts, notifications) where you need to react to delivery outcomes immediately — triggering fallback flows, updating order status, or logging compliance evidence — without polling overhead. Full API documentation is available to all Fivo SMS customers.

Know Exactly Who Got Your SMS — Start with Fivo SMS

Real-time delivery dashboard, per-number CSV reports, API webhooks, 90-day archive, and failure reason codes — full delivery visibility for every campaign, at no extra charge.

Get Started Today Bulk SMS Service DLT Registration Guide

📞 +91 9310 189 890  |  💌 info@fivosms.co.uk  |  💬 WhatsApp

How can I help you?