Requesting consent via bulk SMS

There are times where it may help to request consent from a respondent remotely (for example, in the context of phone surveys), and you would like (or even require) evidence of that consent. You might be able to record a phone call interview, but there are ethics and laws regarding recording phone calls without asking first. Also, while audio audits in SurveyCTO Collect for Android can record calls, technical limitations imposed by Google in later versions of Android greatly limit support for call recording. Instead of receiving spoken consent, you can send an SMS text to the respondent's phone, asking if they consent to the survey.


Sending a few texts is easy, but what if you have dozens, hundreds, or even thousands of respondents? Luckily, in our modern world, there are lots of bulk SMS services that allow you to easily send and manage a large number of SMS text consent requests. In this guide, we discuss some of the important features to look for, and highlight some specific services we've tried.

You can also request SMS text consent from within SurveyCTO. To learn more, check out our support article on how to get consent via SMS in phone interviews. This could be an alternative or complement to consent via bulk SMS.

1. What to look for in a bulk SMS service

1.1 Keywords

In SMS marketing, keywords are words that respondents can send to the marketing phone number to get special, automated replies. For example, a more reputable marketer might have instructions at the end of an SMS that says "Reply with STOP to opt out". In their system, "STOP" is a keyword. In the context of a survey, if the phone number is being used to deliver a consent request for the survey, you can set up a keyword where if the respondent sends "YES", then they receive the response:

Thank you for your consent to this survey! We will reach out to you this week.

If they text "NO", then this response can be sent to them:

Thank you, have a great day.

In this example, you will require two keywords, "YES" and "NO". (Of course, the phone number you use does not just have to be for consent, and you can set up other keywords as well.)

1.2 Integrations

If an application you are using is missing a feature you need for your project, integrations can make the application extensible so that other services can fill in those gaps. They can even help automate your setup so you do not have to manually enter or move as much data. Below are some integration features to look for.

We will mention Zapier often because it is extensive and integrates with SurveyCTO, but there are plenty of other services that bulk SMS tools can integrate with. Also, check to see if the tool you are interested in already has the features you are looking for.

1.2.1 With your survey

For a SurveyCTO form to be "aware" of data that was not entered into it, you'll need to pre-load that data. The best method is to prepare a server dataset that will store the consent data. Then, as consent responses come in, download the consent data as a CSV, and then publish that data into the server dataset; you can also manually edit the server dataset with the consent data. That way, enumerators will know to skip the respondents who refused consent. If case management is being used, such as with the CATI starter kit, you can set the 'users' value of that row of data to "Refused" when consent is refused; that way, the case will not appear to any enumerators.

You can also send the text message while calling the respondent, sending the SMS text using the form. You can use a field plug-in, such as the launch-sms field plug-in, to send an SMS text right from the form without having to submit it, and your bulk SMS service can take care of the responses and consent recording from there. Once the respondent confirms their consent, the enumerator can immediately continue with the survey.

1.2.2 For keeping you informed of progress

Integrations can help create a centralized location of information and data collected so far. For example, you can set it up so that once a respondent texts "YES" or "NO" to the consent question, a Google Sheet is updated with their consent status. That Google Sheet can even be the same sheet that SurveyCTO publishes form data to, so all of your data is in the same place. This can save a lot of time, since enumerators can simply view that Google Sheet instead of logging into and navigating an SMS service. (It is a good idea to give enumerators "view only" access to that Google Sheet so that they do not accidentally change anything.)

Click on the image for a larger version.

1.2.3 Encouraging response through reminders

You can use the Schedule Zapier helper to automatically follow-up with respondents. This can involve three Zaps:

  1. When a respondent is contacted, publish the date of contact to the Google Sheet.
  2. When a respondent gives or denies consent, publish the consent status to a Google Sheet.
  3. Every day, check the Google Sheet, and if there is no consent status, and it has been more than three days since the last contact, then a follow-up message is sent.

That way, if respondents fail to respond to your first consent request, Zapier will automatically send the command to follow-up.

1.2.4 Promoting understandable responses

A lot of SMS services allow for keywords, but what if the respondent's response does not contain one of the keywords? You can use Zapier's Filter integration so that the Zap (Zapier applet) then sends an SMS text to the respondent informing them that their response was not valid, and that they need to send either "YES" or "NO":


1.3 Personalization

A respondent is more likely to respond to a message that contains their name, since it looks less like a generic message. For example, when sending SMS text messages in bulk, if one of the respondents is named "Mohammad", then it would be nice for the message to start with "Hi, Mohammad."


1.4 Support

Some services can be tough to get started with, which is why a thorough knowledge base and a helpful support team can make using a new product much easier.

2. Services

This list is by no means all-encompassing; a Google search for bulk SMS services will show many options. Here is a list of services that are inexpensive and feature-rich, but feel free to use any service you prefer. Click on the name of the service to visit their website.


ClickSend is one bulk SMS service you can use. It is easy-to-use, inexpensive, has many integrations (including Zapier), a clear knowledge base, and a helpful support team.

If you decide to use ClickSend, here are some knowledge base articles that can help:


What sets TextIt apart is their extensive Flow feature. This allows you to create mini-surveys you can use to ask for consent (or to run a basic SMS survey for another purpose).

What a TextIt flow looks like in the designer. Click on the image for an expanded and larger version.

It initially asks for consent, and if an invalid answer is sent, or if three days pass without an answer, a follow-up SMS text is sent. After six days of no response, then someone is sent a message saying that there was no response. If you would like to use that TextIt flow, you can download the definition here.

The main disadvantage of TextIt is that it is missing features that other services have natively. For example, you will need to use another service for buying phone numbers, such as Twilio (see below). Also, while TextIt integrates with Zapier, it is not as intuitive as other applications (the articles linked below should help). However, they have a help center with clear support articles that can help walk you through the process, and their support team is quick to respond. When it comes to automated conversations, TextIt may be the best option. 

They are also offering credits to organizations using TextIt to fight COVID-19. Check out this blog post to learn more.

If you decide to use TextIt, here are some articles that can help:


TextMagic also has a survey flow-like feature like TextIt, but they do not have the same branching and looping options available. For example, only the first question in a survey can branch into multiple routes depending on the answer, and there is no automated follow-up like TextIt has. However, they do have features that TextIt does not, such as being able to use a phone number purchased right from them, templates, and more.

If you decide to use TextMagic, this article may be able to help:

A TextMagic SMS survey. Click on the image for a larger version.


If your team is creating an application to assist with data collection, Twilio is a good choice. This is mainly for users who are familiar with programming languages such as Python, Java, C#, Ruby, or several others. They have a detailed API, and helpful guides that walk you through setup. In fact, many bulk SMS services are powered by Twilio.

Even for those who are not familiar with programming, Twilio can be a great way to purchase phone numbers for other services, such as TextIt.

3. Publishing consent data to Google Sheets

Many of these services allow you to publish to Google Sheets (usually through Zapier), which can be a great, centralized way to keep track of who has given consent so far. Here are some tips to make sure everything is as smooth as possible.


Here, you can see that James, Adnan, and Bhavna have given consent, Andy has denied consent, and Juliet has not yet responded. Enumerators can easily check this spreadsheet for consent status.

3.1 Match "Lookup Value" formatting

Make sure cells in the lookup column of the Google Sheet are in the same format as the "Lookup Value" that Zapier is using. For example, in TextIt, phone numbers start with a + sign. If you use the phone number from TextIt as an identifier, make sure phone numbers in the Google Sheet also start with a + sign.

3.2 Prevent auto-formatting

Phone numbers often get formatted in undesirable ways. For example, +18005550123 could be automatically formatted into just 18005550123.

If the cell text starts with a single leading apostrophe ', then the cell will not be auto-formatted. So before each phone number, add a leading apostrophe.

Custom number formatting will not work, since it will either interpret the leading + sign as part of a formula, or drop any leading 0's.

This goes for both adding phone numbers to the Google Sheet manually, as well as when publishing phone numbers with Zapier or another tool.

It may be hard to see, but notice how the phone number starts with a leading apostrophe? That way, it will be published with the +.

However, when using the phone number as a lookup value (such as when reading a specific row in the Google Sheet using Zapier), do not use the apostrophe. Only add it when it is being published to the Google Sheet.

4. Share your experiences

We hope you've found this guide helpful! If you have experience collecting consent via SMS that you think could help other SurveyCTO users, get in touch! Please submit a support request or make a post in the forum.

Do you have thoughts on this support article? We'd love to hear them! Feel free to fill out this feedback form.


Please sign in to leave a comment.