SMS Campaigns

Table of Contents:


  • Setting up an SMS campaign is similar to setting up a regular email campaign, except that the message type is SMS. In addition there are a few preliminaries and limitations, detailed below.
  • (info) You will need to set-up an SMS vendor and SMS list field (described below in this section), before you will be able to go ahead to create and send an SMS text message.

Using a separate List for your SMS contacts 

  • (warning) Since the Mobile field you will choose to use, is not the key field of the List (only the email address field is), currently when a member hard bounces or unsubscribes from an SMS, they will also get deactivated, i.e., will not get sent in future Email campaigns as well, and vice versa. Therefore if needed (and that's a business decision), you may want to consider, setting up separate lists just for SMS and Email campaigns. For the SMS list, you can use a dummy email address e.g.,

SMS Vendor Setup

  1. Go to Vendors Settings → My Connections and in the Actions column click on the 'ESP Setup' icon. Depending on the vendor you select, there are typically 2 things to set up when connecting to an SMS vendor: “From Name” and “API credentials” to connect to the respective Vendor. The latter two might be different based on the vendor selected.

  2. From Name: This name will be the Sender Name used to send the sms. The From Name to use normally is provided by SMS Vendor selected. It is recommended to verify the “From Name” from the respective Vendor before using the same in Ongage.
    Note: If you’re using SMS vendor “CM.”, you’ll need to make sure that the “From Name” contain less than 11 characters (this is a limitation of CM. ONLY)
  3. API Credentials:  Enter the required API credentials on Vendor setup page so that Ongage can connect to the vendor via the API in order to send out the SMS text messages from your Ongage campaigns. For more details about SMS Vendor Setup see our online documentation about Vendor Setup Tutorials.

SMS Field Setup

Go to: List Settings → Fields Setup

  • Decide which list field will contain the mobile phone number that the SMS will be sent to.
    For example, as in the illustration below, the name of the List field here is phone (but could be any list field name you desire: mobile, cell, etc.)
    (warning) The field type  should be of type “string
  • Set the "SMS field” to the field name designated to contain the mobile numbers and click ”Save”

    (warning) Note:
    The above setup is mandatory (!) in order to be able to send an SMS campaign.
    Currently the only validation Ongages does, is to check if the SMS number is empty or not.

Create / Edit SMS Message 

  1. Go to Content -> SMS Messages.
  2. Click 'New SMS'.
  3. Type in your SMS text message.

  4. Mobile numbers must contain a country code. If the mobile numbers in your list db contain a country code e.g., 1-212-555-5555 then there's no need to indicate a prefix on the page above. If on the other hand your numbers don't contain the country code, then you can add it here, by clicking on the 'Prefix' checkbox, and typing in the country code prefix number (e.g., 1 for North America, 44 for UK, etc.) to be prepended to all mobile numbers in this campaign.
  5. (warning) Note: SMS messages are limited to 160 characters. If you exceed that length, then the message will get split into 2 messages when sent. by vendor. In such a case the vendor may charge you for 2 messages, though Ongage will only charge you for 1.
    1. Besides our SMS editor which provides a character count, you can use the following tool to check for the length of your SMS messages:
    2. Special characters may get counted as more than one, please consult with your SMS vendor.
    3. (info) Note: Ongage's short link, detailed below, takes up 19 characters.
  6. When done editing, the next 2 steps are exactly the same as for setting up an email campaign, i.e., 'Campaign Configuration' and 'Schedule'.

About Short Links in SMS Messages

  • Links in SMS are wrapped for tracking so that clicks on them will create click statistics.
  • In the case of SMS messages, Ongage automatically changes your links to Short Links (AKA Tiny URLs) when sending the SMS text message.
    • The default Ongage short URL domain is
    • It is best practice and recommended to setup your own branded short link (e.g., Contact Ongage Support for more on how to set that up.
    • As of Summer 2021 it is recommended to configure HTTPS/SSL for your Custom Short URL domain(s).  For that you will need to purchase an SSL certificate, and Ongage will apply that SSL certificate to your short URL. 
      • If you need more than 1 domain to use SSL/HTTPS, you'll need to acquire a Multi-Domain Wildcard SSL certificate.
    • The short link feature can also be removed altogether from your Ongage account, if your using some link shortening product like Please reach out to support for disabling.
  • You can use dynamic fields on SMS links just like you would in the case of with email messages.
  • (warning) By default SMS short links expire after 30 days. Meaning, if a recipient clicked on a link in an SMS message, more than 30 days after the message was sent, that link will no longer work.

About Open and Click Stats in SMS Campaigns

  • Opens do not exist in SMS statistics, but given Ongage's policy of implied opens one open stat will be counted for the first click only of each recipient that clicked one or more times.
  • You can use the Ongage unsubscribe link to unsubscribe a contact both from SMS and email. Or instead you can use the SMS vendor's unsub mechanism and retrieve those unsubs back manually to Ongage (see the following section for more details).
  • (info) Note:
    • The unsubscribe is done on the email associated with the mobile number and not on the number itself.
    • A click on the Ongage unsub link will not be counted as a click! 

Example of how to use an Ongage Unsubscribe Link in your SMS Message:

To unsubscribe click: {{ocx_unsubscribe_link}}
Or if you want to be short and concise then simply
Unsubscribe: {{ocx_unsubscribe_link}}

Sample Ongage Unsub Link in SMS text message

Using the above Ongage unsubscribe link, below is an illustration of how it will appear in an SMS text message.

And here's the message that will get displayed after you click on it.

Managing SMS unsubscribes and bounces 

  • If you use the Ongage unsub link (as illustrated above), unsubscribes will be automatically handled by Ongage.
  • Alternatively you can use the unsubscribe mechanism of the vendor, using a reply with the word Stop (or similar keywords) which is the more common practice, especially in the US.
  • MessageMedia, twilio and Sinch, automatically push both unsubscribes (as described in the previous bullet) and bounces back to Ongage, via a webhook, so that contacts will get deactivated accordingly and automatically in Ongage!
  • Often, clients would like to manage unsubscribes of their SMS channel, separate from their email channel, in that case we recommend managing SMS contacts, in a separate list, where the email can be a dummy email, for example In this setup you'll have your recipients in one list dedicated for emailing (your email channel), and another list dedicated for communicating with them via SMS text messages (i.e., your SMS channel).
  • (warning) The unsubscribed stats when using "STOP" will not appear in the aggregate report, even though the contact will be deactivated with the status unsubscribed.

Dynamic content and SMS campaigns

  1. First of all you can always use dynamic fields like you would in any email message, for example:

    Hi {{first_name}}!
    Click here for today's 24 hour special!{{email}}

    This way each user gets a personalized message. And moreover based on the dynamic parameters you append to the link, they can also arrive at a personalized landing page!
    Businesses in eCommerce, travel and jobs space, often use such a setup (i.e., with a link to a personalized landing page), though it is applicable for any vertical.

  2. You can use a static feed in an SMS text message – but there are two major caveats: (1) The feed must return text (and not XML or HTML, as many feeds do) and (2) Keep in mind you only have a max of 160 characters available!!
    For this purpose you can use Ongage static feed: {{ocx_feed_html{url=... }}}, though the syntax says html, make sure the response from the feed is text.

  3. Similarly you can use the dynamic feed syntax {{ocx_feed_dynamic_html}} for dynamic content per contact. Again you'll need to make sure that feed returns text for populating your SMS text message.

(warning) Content feeds such as Jobs (e.g., Indeed) cannot be used in an SMS text message as they return XML data that is rendered into HTML and not text, and thus not appropriate for SMS text message content. Any other 3rd party content feed that returns text data can be used, so long as you keep in mind, that you want the content to be limited to 160 characters.

SMS Deliverability Best Practices

  1. Ongage comes up with as Default tracking domain for SMS campaigns. However, for improved delivery it is recommended to setup your own branded Short URL with your own tracking domain for SMS campaigns. You can visit our online documentation about setting up Branded Short URL in the SMS Campaigns page and see there About Short Links in SMS Messages.
  2. By Default Ongage tracking links are http. As of 2021 it is recommended to configure HTTPS/SSL for your Custom Short URL domain(s). For that you will need to purchase an SSL certificate, and Ongage will apply that SSL certificate to your short URL. If you need more than 1 domain to use SSL/HTTPS, you'll need to acquire a Multi-Domain Wildcard SSL certificate.
  3. Make sure there is no issue with DNS propagations/Authentication.

  4. Look into Bounce reason as that can uncover some known issue with sending. "Contacts Activity report" have Bounce reason column that can show the reason for Bounce. You can also check Bounce reason at Vendor side. To know more about the contacts with bounce reasons you can refer to our online documentation of Analytics and see there How to know the contacts that are bounced with respective bounce reasons.