---
title: Monitoring SMS in campaigns
slug: messaging-apis/monitoring-sms-in-campaigns
docTags: 
createdAt: 2025-10-03T09:47:43.853Z
---

:::Iframe{iframeHeight="0" code="<div&#xA;              style=&#x22;&#xA;                position: relative;&#xA;                padding-bottom: 56.25%;&#xA;                height: 0;&#xA;                border-radius: 0;&#xA;                box-shadow: 0 15px 40px rgba(63,58,79,.3);&#xA;                overflow: hidden;&#xA;                min-width:320px&#x22;><iframe&#xA;              src=&#x22;https://learn.exotel.com/share/CYoq1bLPTIUvrcNftG72FQ/embed?autoplay=false&#x22;&#xA;              frameborder=&#x22;0&#x22;&#xA;              webkitallowfullscreen&#xA;              mozallowfullscreen&#xA;              allowfullscreen&#xA;              allow=&#x22;autoplay; fullscreen&#x22;&#xA;              style=&#x22;position: absolute; top: 0; left: 0; width: 100%; height: 100%;&#x22;></iframe></div>"}

:::

**Track Campaigns on Exotel's dashboard**

Suppose you set up an SMS campaign via Exotel, you can monitor the statistics of the campaign right there on the Campaigns page. Like this:

![](https://api.archbee.com/api/optimize/SK2urIgCC2ml99YyqWOSl/nP7vCjxqgawY6XUymAYds-20260729-063441.png)

You can refer to the SMS status code article to understand the status better - SMS Code

**Track Campaigns on your server**

However, if you want to automate this and/or integrate this information with your own CRM, then you can do the following:

1. While creating an SMS campaign, you can optionally specify a Status Callback URL
2. ***For each phone number in the campaign***, our server will make an HTTP POST request to this URL with the POST parameters

- SMS Sid - this is a unique identifier of an individual SMS
- To - the phone number the SMS was sent to
- Status - This is the delivery status of the SMS. This can be one of&#x20;
  - "sent" => the SMS was successfully delivered to the recipient
  - "failed-dnd" => the delivery of the SMS failed because the number belongs to the TRAI NCPR list
  - "failed" => the delivery of the SMS failed because of other reasons (for example a number not reachable, switched off, etc.)

**How to identify *which* campaign a Status callback is for?**&#x54;he Status Callback URL that you specify (in step 1 above) itself can contain different query parameters to help your system identify what campaign is to be tracked. For example, the Status Callback URL can be something like - [http://example.com/exotel-sms-campaign.php](http://example.com/exotel-sms-campaign.php)**?campaignid=12345**
Since Exotel will make an HTTP POST request to the above URL, your web application receiving the HTTP request can strip out the ***campaign ID*** query parameter and identify which campaign the status callback belongs to.&#x20;
