Imagine sending texts to thousands of people and having to manually type up a reply to everyone who responded. This would be time-consuming, a barrier to scaling your texting program with quickness and accuracy. 

 

Now imagine having access to scripted replies that you could quickly plug into your conversations. You’d be conversing a lot faster. And because you’d have prepared those replies in advance, you’d be able to feel confident about the content being shared. 

 

Even better, imagine adding data points to your scripts that let you track what your respondents are saying. Now you could use those data points to better engage with your contacts and assess the performance of your campaigns.

 

Spoke allows you to meet these goals with scripted replies that also track data. You can add scripts to your campaigns in two ways: 

 

  1. As branching questions and answers that guide texters to scripts

  2. As a flat list of canned responses that texters can search and select from

 

Each approach has advantages, depending on what you want to accomplish. 

 

TABLE OF CONTENTS

 


Branched Scripts: The Guided Texter Experience

Branching is a way to arrange your scripts: it means the scripts have been set up as the answers to a question or follow-up questions. Because the answers are grouped together with the question you’re asking, they’re easy for texters to find and understand. 

 

Example of branched scripts on the texter side of Spoke. At the top of the screen, the texter is shown a question. The answers to the question are grouped beneath for the texter to select.

Answers save data by default when the texter sends them – no need to add tags – and can be directly integrated with NGP VAN.

 

After the texter selects an answer, the script auto-populates for them to send. They’ll also see the question and the answer they selected reflected back so they know what data they’re saving: in the example here, “Voted? No”.

Setting up your scripts as a branched survey makes it easy for texters to follow a scripted conversation flow. If one of the answers to a question leads to a follow-up question, the answers to that follow-up question will appear to the texter as the next set of scripts for them to use.

 

To capture more than one piece of data about a contact, you can add follow-up questions to any answer you track. Texters will be guided to follow-up questions branching off the answers they have selected. In the example shown in the image, the texter sees answers to a follow-up question clarifying whether someone needs help voting.

Read more about how to set up your scripts as branching questions here, and check out a sample use case for branching scripts below in this article.


Canned Responses: Easy to Build and Searchable

Canned Responses are scripts that appear to texters grouped alphabetically. The scripts and their titles are fully searchable, giving texters the ability to zero in on phrases they might find useful in a given conversation. 

 

Example of canned responses on the texter side of Spoke. Canned responses are automatically grouped in alphabetical order after upload, so the title you give them determines their position in the list. Texters can filter canned responses by specific phrases to zero in on the script they need.

To save data using canned responses, you can add tags – as many as you like – to the canned response. The tags will save when the texter sends the canned response, or closes and saves the conversation. If you have set up VAN mappings for your tags, and selected a VAN integration for the campaign, data will also be sent to VAN when the tags are saved.

 

Presenting your scripts as canned responses can save you time, because they only need to be uploaded once into your campaign. By contrast, a complex branching script might end up including the same scripted response in multiple places. If you want to gather multiple pieces of data about a contact in various places, canned responses – or a mix of branching and canned responses – can simplify the process of building your campaign.

 

Read more about how to build canned responses here, and read on to see a sample use case for canned responses.


Branched Scripts: Sample Use Case

Branched scripts are commonly used when you want to guide texters from one specific question to another. By making it easier for texters to find the scripts they should be sending, you can minimize unenforced errors and improve the quality of the data you collect.

 

Let’s say you wanted to identify support for your cause. You also wanted to ask strong supporters to volunteer, lean supporters if they wanted a bumper sticker, and undecided voters about the issues they care about. There are several data points to capture here: 

 

a) level of support, and

b) for strong supporters, openness to volunteering

c) for lean supporters, whether they want a bumper sticker

d) for undecided voters, the issues they care about

 

Setting up your scripts in a branched format is a great way to ensure your texters are directed to the right answers.

Setting up this example

To set up this script, you’d start by creating a question to track the first data point: level of support. Go to the “Script” section of the campaign. Beneath your initial message, you’ll see a Question field. The first question in a campaign is always entered into this field.

 

In this example, we’ve entered the first question of our branched script into the Question field below the initial message.

After you enter your first question, you’ll see a white “+ ADD A RESPONSE” button. We’ll use this button to create the answers we want grouped under the support question. For example:

 

Support?

  • Strong Support

  • Lean Support

  • Undecided

  • Lean Against

  • Strong Against

 

In the visualization above, we have a survey question - “Support?” - with six answers for texters to choose from. 

 

Let’s add these answers to Spoke. Click the white “+ ADD A RESPONSE” button to generate your first answer.

Image showing where to click "+ Add A Response.

In the “Answer” field at the top, we’ll type in our first answer, “Strong Support”. Note that the “Answer” is just the data point we’re tracking, not the script we intend to send the voter.

 

Click on the “Answer” field to enter a data point you want to track as the answer to your question.

 

Here, we’ve typed in the first answer we want to track.

As a next step, we would add the script we wanted to send the strong supporter. Because we want to track whether strong supporters will volunteer, our script should include a question about volunteering.

 

To add a script, click on the “Script” field to open a pop-up. Type in your script, then hit the “Done” button to continue.


In this example, we’ve successfully added a script that corresponds to the answer we’re tracking.

Now, in order to guide the texter to scripts about volunteering, we can add a follow-up question. To add a follow-up question, go to the “Question” field of your response and start typing the question.

 

Follow-up questions are added directly to the answer they’re branching out from.

After typing the follow-up question, a new “+ ADD A RESPONSE” button will appear, allowing you to add answers to your new question.

 Now that we’ve created the volunteering follow-up question, we can create answers to track data. Examples of answers we might want to track include:

 

Volunteer?

  • Volunteer Yes

  • Volunteer Maybe

  • Volunteer No

  • Volunteer Later

 

Click the white “+ ADD A RESPONSE” button to generate the boxes for these answers, then fill them out the same way as before: the answers you want to save go at the top, the scripts you want to send go in the middle, and any follow-up questions to your answers go at the bottom.


 

Example of two responses to the volunteering follow-up question.

Once we’ve added all the responses we want to track to the volunteering question, our work on the strong supporter branch is done. Instead of having to guess where to move next, texters who select “Strong Support” will be automatically directed to volunteer scripts. But what about the data we wanted to collect for our other support levels?

 

To set up the other support levels, let’s go back to our initial support question. For each response we want to track to the support question, we’d need to click the “+ ADD A RESPONSE” button beneath that question. Then, we could follow the same steps outlined above to set up follow-up questions for our “Lean Support” and “Undecided” answers.

 

Example showing both the Strong and Lean Support responses to the initial support question. For visual clarity, the answers to follow-up questions have been removed from this example.

As a final step, if our campaign has been connected with a VAN key, we could also map each response to a specific survey question, canvass response, activist code, or VAN event (if enabled). 

 

When a VAN key has been selected in the “Integrations” section of a campaign, your script boxes will gain an additional “Action handler” field.

 

Example of the Action Handler field, which will only appear in your responses if you have connected your campaign to a VAN key.

Click on “Action handler” to open a dropdown menu where you can choose whether to connect the campaign to a survey question, canvass response, or activist code, or to a VAN event status (if enabled). Choose “NGP VAN Action” to access survey questions, canvass responses, and activist codes. Choose “NGP VAN Event” to access event statuses. 

 

Image showing the dropdown to select either "NGP VAN Action" or, if enabled, "NGP VAN Event".


For our use case, we’ll select “NGP VAN Action”. This will create a field beneath the “Action handler” called “Answer Action Data”. Start typing in the field to bring up statuses from VAN.

 

When you type into the “Answer Action Data” field, your statuses in VAN will appear in a dropdown.

Select the status you want your answer to match in VAN from the dropdown that appears. 

 

After you click on a status from the dropdown, it will be associated with your answer in Spoke.

Now the status will sync back to VAN whenever a texter selects and sends the script for this answer!

 

Once we’ve applied the same principles to all our scripted responses, we should make sure to hit “Save and Go to Next Section” (found at the bottom of the “Script” section). And that’s it!


Canned Responses: Sample Use Case

Canned Responses are an attractive way to set up scripts if you plan to do your data collection using tags. They’re also faster to set up than branched scripts when you want to collect multiple data points about your contacts.

 

To clarify the difference between canned responses and branched scripts, let’s look at an example. Say you want to be able to check in about a person’s plan to vote, down to details like time of day and whether they need a ride to the polls. In a branched script, you might build something like this:

 

Plan to Vote?

  • Voting Early in Person

  • When will they go to the polls?

    • Vote Plan -Names a Time

    • Do they need a ride to the polls?

      • Ride to Polls - Yes

      • Ride to Polls - No

  • Voting on Election Day

  • When will they go to the polls?

    • Vote Plan - Names a Time

    • Do they need a ride to the polls?

      • Ride to Polls - Yes

      • Ride to Polls - No

  • Voting by Mail

  • Already Voted

  • Not Voting

 

In this example branched script, we’ve had to include follow-up questions like “When will they vote?” and “Do they need a ride to the polls?” beneath the different voting methods we wanted to track. While setting up your scripts this way can considerably simplify the job of the texter, it can be time-consuming for the person building the campaign. This is because you’d only need to add each answer once using Canned Responses:

 

  • Already Voted

  • Voting on Election Day

  • Voting by Mail

  • Voting Early in Person

  • Vote Plan - Names a Time

  • Ride to Polls - Yes

  • Ride to Polls - No

 

Note: To make it easier for texters to find responses, we recommend building on the fact that Canned Responses are presented in alphabetical order. For example, you could group related scripts together by giving them headers or using numbers, i.e. “1. Already Voted” or “Vote Method - Already Voted”.

Setting up this example

To set up this script using canned responses, we’d go to the “Canned Responses” section of a campaign, then click the “Add New Canned Response” button to add each scripted reply.

 

Let’s start with “Voting Early in Person”. To add this, we’d start by typing “Voting Early in Person” into the “Title” section of our new canned response.

 

The titles of canned responses are used to help texters find the correct script. They determine the order in which the script will appear to texters, but aren’t being saved as data points.

Example of a canned response with the “Voting Early in Person” title.

Next, we’d add the script we’d want the texter to send when they select this response. Click on the “Script” field to open up a popup where you can type in the script that will be sent to your contacts.

 

Example of a canned response with title and script added.

If we wanted to track this data and had already created tags on the “Tags” page, we could simply type the tags we wanted to apply in the “Apply Tags” field.


Example of a canned response with a tag being added to it.

After we’ve selected the tag we wanted, it will appear below the canned response in a gray oval. We could also continue adding more tags to the canned response if desired, simply by typing into the “Apply tags” field.


Example of a canned response with title and script and  atag.

Once the canned response has a title, script, and any tags we wanted, we can click “Save” to add it to the campaign. All we need to do to add the rest of the script is to follow the same steps for each answer we’d like to make available to texters. Voilà!