Messaging Best Practices and Use Cases

Below are some suggestions for how to effectively use CommCare Messaging / SMS in different use cases

To learn more about Frequently Asked Questions for CommCare Messaging

To learn more about SMS Messaging Vocabulary

Sending an SMS to the Case

  • Send a welcome/confirmation message upon enrollment/registration
    • Why? Sending a message immediately upon registration is helpful because you can confirm that the phone number is correct and that the user is able to receive messages. It can also help in explaining how they are going to get messages.
    • How? Set up an offset-based reminder in which the reminder is triggered when a universal case property like name exists. Configure the offset to be 0 days, 00:01 time so that the message will be set 1 minute after registration the system, and set the repeat to 1 so that it only repeats one time.
      • Trigger: (For each case with:) case type ____; case property name (exists)
      • Start: Start date (as soon as it triggers); Start Offset 0
      • Send: Send (SMS); To (The Case); Frequency (Advanced); Schedule-type (Offset Based); Default Language __; Schedule- Days to Wait 0; Time to Wait 00:01; Language/Message __|Welcome! You are successfully registered!
      • Stop: Repeat the schedule (the following number of times:) 1
  • Keep your messages short (<160 characters)!
    • Why? If you send long messages (greater than 160 characters) your message will be broken up into multiple SMS that your phone will have to join together. This can make the message appear disjointed or even in the wrong order! Unfortunately Dimagi/CommCare cannot guarantee that long messages will be sent in the right order, or even the that they will get sent at all.  Also keep in mind that if you are doing a survey and have a label followed by a question, these will be combined into a single text message.
    • How? Copy your messages into a letter counter website to see how long they are. 
  • Allow your case to opt out if they want to
    • Why? No one wants to be stuck receiving text messages you don't want. While hopefully you can do lots of testing and use SMS messaging best practices, some people may want to be able to remove themselves, or may need to be able to do so in accordance with IRB or other requirements. You can set up a simple keyword to do this.
    • How? Create a form that is a simple SMS survey and has an empty question/simple message and configure the form to deactivate any trigger or to close the case, whatever is appropriate for your project. Then set a keyword reminder like "stop" so that your clients can just text in "stop" in order to opt out.
  • Avoid Required Questions
    • Why?  In some cases users will not complete a survey.  Required questions in a survey will not allow that survey to be saved in a partial state.
    • How? Make sure that questions are not marked as required.  For non-text questions, it is not possible to skip them through SMS anyway.
  • Avoid Using Form Groups
    • Why? They are not well supported over SMS.

Designing an Effective SMS Project: Evidence


What we learn from these papers

(in extremely broad, over-simplified strokes)

  • Real-time, personalized feedback was more effective than generic beepers
  • Weekly messages led to less desensitization than daily ones, and short messages were easier to read than long ones
  • SMS itself isn't guaranteed to be a win unless paired with good content, timing, and real-world, human follow-up

Other General Best Practices:

  • Multi-channel campaigns are more effective than single channel (i.e. commercials are great. commercials and billboards and radio promos together knock people out)
  • The more targeted the message, the more high-impact it will be. (e.g. "Dear Jane, we know you missed your meds 45 minutes ago, because you're trying to hide your condition from your buddies. but remember you need to stay healthy for your son. his big game is tomorrow." as opposed to "please remember to take your meds")