SMS Survey
Table of Contents:
One of the primary uses of CommCare Messaging is to send out surveys via SMS.
Some common use cases:
Asking a patient if they have taken their medication
Asking a community health worker some questions about their most recent visit
Surveys are very easy to build because they use the same Form Builder as CommCare.
Getting Started
Navigate to the tab that is called "Applications."
You can find basic information about the Form Builder here or in the Beginner Tutorial. It is highly recommended that you complete the Beginner Tutorial before proceeding.
Design your Survey
Warning!
Please do not make the first question in your SMS survey a question list. This may lead to errors in the sending of the SMS survey.
Please note that the following are not supported in SMS surveys:
'commcaresession' instances and 'location' instances are not supported in SMS surveys
referencing lookup tables are not supported in SMS surveys (via conditional alerts). thorough testing is strongly recommended.
Referencing the Form Builder Page, you can think through the different types of questions you may want to include in your survey, and how you want the structure of your survey.
The most common question types for SMS Surveys are:
Text
Multiple Choice - Single Answer
Multiple Choice - Multiple Answer (Checkbox)
Label - is a message that does not require any action- it is only to provide information
Be sure to consult the CommCare Messaging best practices for helpful hints on designing a good survey.
Let's imagine we want to create a survey like this:
Did you go to the clinic today? Yes/No
Great! What doctor did you see?
Why not? Clinic was closed/I felt fine/Clinic too far/Was busy
Going to the clinic is important- please call 555-555 to reschedule your appointment.
We can add a bit more detail to make it easier to build. For each question you'll want to define:
Question ID- how do you want the answer to the question to be tagged in the data export
Label Text- the text that will be sent to the recipient
Question Type- which of the question types above
Options- if a multiple choice answer, what are the choices
Display Condition- when do you want the message to be sent?
Below you can see one way of thinking about our survey:
Question ID | Label Text | Question Type | Options | Display Condition |
---|---|---|---|---|
went_to_clinic | Did you go to the clinic today? | Multiple Choice-Single Answer | Yes, No | Always show |
next_appointment | Great! What doctor did you see? | Text | - | If went_to_clinic = Yes |
why_no_clinic | Why not? | Checkbox | Clinic was closed, I felt fine, Clinic too far, Was busy | If went_to_clinic = No |
reschedule | Going to the clinic is important. Please call 555-5555 to reschedule your appointment. | Label | - | If went_to_clinic = No |
CommCare Messaging will automatically number options; for example, the question why_no_clinic will be sent out as:
Why not? 1. Clinic was closed, 2. I felt fine, 3. Clinic too far, 4. Was busy.
Build your survey
Use the Form Builder to add questions, options, and display conditions just as indicated in the Beginner Tutorial.
The survey described above would look like this:
It is important to keep things short! Specifically, when asking a multiple choice question you want to ensure that the text of the question, plus the text of all the possible answers fits in one message. If it is too long, it may be broken into multiple messages. Messages are not always assembled in the right order so it advisable not to have them break up.
There are certain words that cannot be used to test surveys. ex. SURVEY, START.
Test your survey
Make sure to try out your survey before going live. You can give it a keyword (https://dimagi.atlassian.net/wiki/x/KCXKfw ) and register yourself in the system (Configure a Mobile Worker for Messagingarchived).
Using the keyword you can try out the survey multiple times. To test the survey using the keyboard, text the system using the format: #start keyword
When completing your survey keep in mind:
You can indicate a choice by replying with either the text of that choice or by simply putting the number of that choice (i.e. you can either reply with 2 or I felt fine. CommCare Messaging will ignore changes in spacing/capitalization, but not in spelling)
If your question is a Checkbox response you can reply with multiple numbers separated by a space. (i.e. in the example above you could indicate both Clinic too far and Was busy by replying: 3, 4)
If you reply with something that is not an acceptable reponse (i.e. there are 4 choices and you reply with "5") CommCare Messaging will send back a generic message that the response could not be understood, and that they should try again.
Schedule your survey & View Data
You can schedule your survey either using a Broadcast or Conditional Alert.
Data from SMS Surveys are set-up in Forms. To review your SMS survey data, apart from other SMS data, you can go to the Form Exports in CommCare.
If you are looking for data from SMS users who are cases, be sure to select "unknown users" to export that information.
SMS Survey FAQs
What question types can I use to send out questions via SMS survey?
Good
Integer, respond with a number
Single-select, respond with a specific choice
Date based, set the date sequence for your project space
Not so good
Text questions are prone to error data entry errors, and hard to interpret
Not supported
Images, multimedia
GPS
What are limitations for using SMS Surveys?
SMS Surveys require inbound messages. Support for inbound messages is limited to projects with a subscription that is PRO or higher.
SMS Surveys are not idea for collecting unstructured incoming messages
A contact cannot have more than one open survey at a time.
A contact cannot restart or overwrite submitted SMS surveys
How flexible is two way messaging?
Two way messaging with mobile workers requires a verification workflow to enable inbound messages, where each phone replies ‘123’ to establish the phone number in HQ.
How do you test that the SMS survey is setup correctly?
Try creating a Keyword, that can trigger the form used for the SMS survey.
How do I test the send time of an SMS Survey?
Timezones in HQ are set to UTC as a standard. Use the reminder calendar, to compare the time configured in the reminder to the planned delivery in the calendar.
SMS Survey Tutorial
Below is an SMS Survey Tutorial that walks you through the steps of setting up an SMS Survey!