TABLE OF CONTENTS

What are branched scripts?

Branched scripts are a way of grouping scripted replies so they appear to the texter as a set of answers to a question. 

 

When branched scripts are enabled in a campaign, texters will see a question prompting them to record answers.

When the texter selects the “Choose Reply” button, they’ll be able to choose an answer to the question. 


Texters select the answers to the prompt question to bring up a script they can send to contacts.

Choosing an answer will populate a script for the texter to send. When the texter sends the script or closes and saves the conversation, the answer data will be saved. Answers can also be mapped to statuses in VAN.

 

After selecting an answer, the texter will see the answer appear next to the prompt question, and get a script to send. The answer data will save when the texter sends the script or hits the “Close and Save” button.

Branching is a great way to arrange your scripts so they are easy to find for texters. You can read more about when and why to use branched scripts here.

 


How to add branched scripts to your campaign

Branched scripts can either be created directly in the “Script” section of your campaign, following the instructions below, or uploaded via a Google Doc

 

Step 1: Add your initial message

To get started, open up the “Script” section of your campaign. You’ll want to add your initial message to the “Start” box, following this guide.

 

Add your initial message by clicking on the “Script” field of the “Start” box.

Because you’ll be setting up scripted replies, it’s important to include an “ask” in your initial message that will roughly match the answers you are asking texters to track.


Step 2: Create a Survey Question

Next, you’ll create a prompt question that summarizes the “ask” you made in your initial message. 

 

Note: The question is an internal device that prompts texters to save answers. (It will also appear in your data exports as a column header, and any saved answers will appear in that column’s rows). The question is not a script that can be seen or sent to your contacts. If you want a contact to see your question, you must include it in your script.


 To create this question, click on the “Question” field in the “Start” box where you added your initial message.

 

Type to add your question to the “Question” field.

Questions can be as simple as "Support?", "RSVP?", or "Donate?". Basically, the Question should provide a short, clear summary of the question you'll scripting answers around.

 

Here’s an example of a filled-out Start box, containing the initial Script and Question:

 

Example of a Script and Question. The initial message here contains a support ID ask, so the Question summarizes it as “Will they support Candidate?”

 

Step 3: Add Responses

Once you’ve added text to the Script and Question fields, you’ll see a button directly beneath the Question called “+ Add A Response”.  Notice that this button is indented from the box above. 

 

Example of a Response box. To add responses, click on “+ Add a Response”.

 

Clicking this button creates a response to the question you set up. Each response you create will have an Answer that is tracked as data, and a Script that can be sent to the contact. 

 

Note: the script should correlate to the answer you’re tracking, i.e. an answer like “Supports Candidate” could go with a script like, “Thank you for your support!”


Here’s a breakdown of each field:

 

Answer - Like the Question, each Answer is visible to texters from a script menu. Answers are tracked on the text campaign's dashboard and data exports.

Action Handler - Click this to sync the data collected from the response with external services like NGP VAN.

Script - Put the scripted reply matching your Answer here. When texters select the Answer in Spoke, the script will populate for them to send. Texters can edit this message before sending it to the contact.

Question - If your script contains a follow-up question, you can summarize it here to add additional responses based on that question.

Trash Can - Use this icon located to the right to delete a response.

 

Each time you click the “+ Add A Response” button below a Question, you will create a new response box.

 

Let’s say our question is, “Will they support Candidate?” and that we wanted to gauge support for a candidate on a 1-5 scale, from strong support (1) to strong against (5). To track an ID of strong support, let’s add an appropriate Answer and Script, as shown in the image below:

 

 Image displaying an Answer and Script in response to a Question.

 

When a texter receives a response indicating strong support for our candidate, they can select this Answer to save the data point (strong support) and call up an appropriate Script

 

Note: you cannot move responses around, only edit what is in the box or delete the box. (If you are using the Google Doc upload feature, however, each new upload will overwrite the last, so you can change the order of responses that way.) The order in which you set your responses in Spoke is the order in which they will appear to texters. Save yourself time upfront by making sure your responses are ordered the way you want your texters to see them.


Step 4 (Optional): Add Follow-Up Questions

A follow-up question can be added to any survey answer to continue the conversation and track additional information about a contact. 


Follow-up questions allow you to track additional pieces of data about a contact.

 

Let's say your scripted flow involved asking strong supporters to volunteer. Here, you'd want to capture two pieces of data: 1) strong support and 2) volunteer preferences. The way to capture both pieces of information would be to go to your strong support answer and create a volunteer survey question in that box.

 

 

In the example shown here, the script box tracks "Strong Support" as the Answer to a support question. The Script aimed at the strong supporter includes a follow-up question about volunteering. And we've created a survey question to track volunteer preferences by summarizing that question in the Question section. As a final step, we'd just have to add responses to the volunteer question by clicking the “+ Add A Response” button.


Let's say you wanted to track three answers to your volunteer question: Yes Volunteer, Maybe Volunteer, and No Volunteer. You could click the "+Add A Response" button three times, then fill out each with the Answer you wanted to track and a corresponding Script.

 

In this image, we've added a "Yes they will volunteer" answer and a matching script.

Putting it all together: 


  • For each survey question grouping responses you want to track, create a Question
  • For each Question you create, click the “+Add a Response” button beneath it to add responses. Responses should include, at minimum, an Answer to track data and a Script that will be sent to the voter.

Mapping Answers to VAN

If you are using the VAN integration feature, you can also map your scripted responses back to VAN survey questions, canvass responses, activist codes, or event statuses. 

Step 1: Connect your campaign to VAN

In order to map answers to VAN, you must first connect your campaign to VAN by selecting an API key in the "Integrations" section. Once you select a key, any scripted responses you create in the "Script" section of your campaign will also offer the option to add an Action Handler.


Step 2: Add an Action Handler

To sync an answer back to a VAN status, click the Action Handler field in a response box.

 

Image showing where to find the “Action Handler” field. This is only visible if you have selected NGP VAN in the Integrations section of the campaign.

This will bring up a dropdown menu. Select “NGP VAN Action” to map your response to a survey question, canvass response, or activist code. If you have turned on VAN Event Sync and want to sync the response to an event status, select “NGP VAN Event”.

 

Image showing the dropdown where you can select “NGP VAN Action” or “NGP VAN Event”.

Step 3: Select a Status

After you make your selection, a text field will appear where you can begin typing to pull up statuses from VAN. Select the status you wish to map to your response.

 

Image showing where to type to bring up statuses. Click on a status in the dropdown to map it to the response.

Step 4: Add a script and save

Be sure to add a script to your response. Data will save when the texter sends the script or closes and saves the conversation after bringing up the script. Remember as well to save your work by clicking the “Save” button at the bottom of the “Script” section.


Example of a complete response, including an Answer, a VAN mapping, and a script.

Alternatively, you can sync back data to VAN using the tags and canned responses features. See our guide to syncing tags to VAN here. 


Tips and Tricks for Branched Scripts

When texters select and save answers with follow-up questions, they will be moved forward to answers to the follow-up question. In other words, not all answers will be shown to them at once: a texter who selects “Strong Support”, where the script asks the contact if they want to volunteer, will next be shown the answers to that follow-up question, i.e. “Volunteer Yes”, “Volunteer Maybe”, etc.

 

For this reason, you may want to include the same follow up question and answers in multiple places. This way, no matter where the texter is at in their conversation, they’ll always be able to pull up pre-written answers to a question. A common example of this is a follow-up volunteer question and appropriate responses that stem off both a “Strong Support” and “Lean Support” response.

 

If you are tracking canvass responses like “Moved”, “Wrong Number”, and “Refused”, we recommend adding these as answers to the first question so they are immediately accessible to texters. Tracking canvass responses like these (and “Spanish”, “Deceased”, “Hostile”, etc.) can help your team refine your contact lists and universes not only for texting, but also for all outreach elements of the campaign - mail, calling, and canvassing.