Product Features
By -

So, you’ve jumped onto the SMS bandwagon and are firing out campaigns as part of your overall marketing engagement strategy.

You recognize that SMS is one of the most effective ways to reach your desired audience — after all, in the U.S. alone, there are over 301.65 million smartphone users. You know that SMS messages have a 98% open rate, nearly 5x the open rate than email marketing typically sees. And you’ve read that nearly 80% of Americans have their smartphones by their side for 22 hours a day.

But do you know if your campaigns are working?

In today’s guide, we explore how to analyze your SMS campaign performance and troubleshoot common performance issues.

Before we begin… What is SMS marketing and why use it?

  • Allows you to send personalized text messages to target audience’s mobile phones, typically under 160 characters

  • Consumers are constantly glued to their phones; this means when you send an SMS message to your audience, they will likely see it within minutes

  • SMS marketing offers the opportunity to create more personalized interactions with your customers verses mass promotional campaigns

We recommend checking out our SMS best practices overview, where you will find more information about SMS terminology you should know and how to set up your own SMS marketing campaign using Mobile Studio and MobileConnect.


How to extract SMS performance reports in MobileConnect

To extract your performance report:

  1. Head on over to the Analytics Builder > Select Reports section 

  1. Open the Report Catalogue page

  1. From there, you can filter reports based on various field criteria, such as channel, business value, date and more


Ready-to-use reports available on MobileConnect

MobileConnect offers several readily-available reports on the platform — we explore them below.


Report Type


Use Case

SMS Account Summary

An overview of all SMS marketing activity from all business units. Including a total number of opted-in subscribers and counts of inbound and outbound messages.

When performance metrics are required at an enterprise level 

SMS Message Detail Report

In-depth information about campaigns sent on a subscriber level, which can be filtered extensively using criteria such as codes, templates, and CTAs

When taking a closer look at a specific campaign to see how it is performing and which subscribers are engaging with it

SMS Message Summary

Activity reporting for the various keywords used in SMS campaigns

When comparing performance for different keyword campaigns


What is SMS deliverability and why does it matter?

  • Measures if your SMS message actually reached the desired customer’s mobile phone — therefore, it’s the most crucial aspect of your SMS campaign

  • Many factors contribute to successful deliverability, including the carrier, network coverage area, and even basic behavior factors such as if your recipients’ phone battery is dead

  • While some factors are out of your control, many factors are within your control and need to be monitored regularly

  • Factors within your control include compliance, keeping your contact lists updated, and not “spamming” your audience


How to check the delivery status

One way to check is to extract a report within the Catalog Report section of MobileConnect.

Another way is through the Message Contact Delivery API or QueueMO Delivery Status API.

You can also run an SQL query data view within MobileConnect to extract information about messages that did not make it to your recipients’ mobile devices. Here’s how:

  1. Start by creating a data extension where you can save the results from your query. The fields you’ll need are:

Field Name*

Field Type











*Note that you’ll need to remove the spaces from all field names when running your query.


  1. Open Automation Studio and create a new automation

  1. Give the automation a name, select “Schedule” as a starting source.

  2. Then choose how frequently you would like to run the query (skip this step if you would just like to run this adhoc)

  3. Drag SQL Query to the workflow and select “Choose

  4. Click “Create New Query Activity

  5. Add the following query properties: “Name”, “External Key”, “Folder Location” and “Description”.   Note that you can leave external key blank and it will auto-populate

  6. Go on to build your SQL Query using the following SQL syntax:  SELECT * From _UndeliverableSms.

  7. Select “Validate Syntax

  8. Select the data extension you created in Step #1 to save your query results

  9. Select the data action the query activity will perform out of the following: “Append”, “Update” or “Overwrite

  10. Click on the “Save” button

  11. Click "Run Once", "Select All Activities", "Run", "Run Now" to run you're query once.


So you have undeliverable messages… How do you troubleshoot?

Before we dive deep into common deliverability issues, we cannot emphasize this enough: Test your message for typos or bad links before you send out your campaign!

Once you’ve done that, here’s where to begin troubleshooting:

  1. Active Subscription Status
    Has the subscriber opted into the right code and subscription keyword for the specific campaign you’re measuring?

  2. Code Provisioned
    Is the code provisioned correctly for the specific market you’re trying to send to?


Below, we’ve listed the most common issues, why they happen, and how to fix them.


Potential Reasons

Where to Start Fixing

Invalid Number
(hard bounce)

  • The phone number does not have the correct number of digits

  • The number is a landline instead of a mobile number

  • The country code prefix is incorrect

  • This number does not exist within the carrier directory

  • Go into Journey Builder and create a Contact Update Feature in your journey  which you can set up to update a CRM Boolean flag in your Contact or Lead object and assign a task for an individual in your organization to action and fix

Unreachable Number
(soft bounce)

  • The phone is out of range of the physical network coverage area

  • The phone has been turned off

  • Roaming services have not been enabled for the phone

  • The mobile device is out of memory (full inbox)

  • Run a query to filter soft bounces out of SMS journey based on returned activity, i.e. do not send messages to these numbers

Message Validity Period Expired

  • The system has been trying to deliver the message for 48 hours and has failed
  • Create a preference center to allow customers to opt into other means of digital communications

Blocked Number
(by carrier or aggregator)

  • Number may be part of a Do Not Disturb (DND) register

  • A customer has chosen to opt-out of SMS communications with their specific carrier

  • The carrier has blocked the number for other reasons

  • The aggregator/partner has received a STOP request and has therefore blocked the number

  • Create a preference center to allow customers to opt into other means of digital communications

Number Held

  • After consistently failing to deliver, messages are added to the bounce table or the held list. This happens when messages hard bounce to the same number twice within a 30-day duration.
  • Go into Journey Builder and create a Contact Update Feature in your journey  which you can set up to update a CRM Boolean flag in your Contact or Lead object and assign a task for an individual in your organization to action and fix

Market Not Supported

  • Short codes only work within a specific market.
  • Long codes can be sent to all markets where the code is enabled.
  • Visit the “Administration Tab” to view supported markets.
  • Run a Query to filter out these subscribers via automation studio.

Aggregator or Carrier Filtering

  • All markets have specific regulations around what types of content are appropriate to send out, e.g. some markets do not allow political or religious content.
  • Spam filters may also be filtering out words such as “Free” and “You’ve Won!”
  • Rework your content to replace these types of “forbidden” content

Unsupported Content or Character Set

  • The message may exceed the allowed character limit

  • Unicode characters may not be supported in this location

  • Rework your content to fit within the character limit and remove any unicode text


Other important things to know

  • Sometimes, messages may be delayed in reaching the recipient based on AMPscript, networking issues, and database traffic volume from your network

  • MobileConnect does not try to deliver messages to held numbers unless it has received confirmation that one of the previous messages was successfully delivered

  • Again, always test your message before sending to reduce mistakes and issues!


Whether you're new or existing Salesforce users and need help with your Mobile Strategy, Mobile Connect and/or Marketing Cloud, we're here to help!  Contact us.