TABLE OF CONTENTS |
The script editor enables the user to input the script and make edits at any time. Several features include variable substitution, navigational skip logic, if/then skip logic, freeform responses and randomization of responses.
SCRIPT OPENING
The script opening, or introduction, is the portion of the script in which the agent discloses the nature of the call to the call recipient. Introductions should always include language that identifies who the call is coming from and the reason for the call. Language asking for a particular voter will also need to be included if a project is being run as voter specific.
- Go To Question - function that allows the user to jump to any question in the script as well as the opening and closings
- Client - displays the client that is associated with this project
- Number of Questions - the total number of questions in the script
- Script Opening - the general greeting read by the agent at the beginning of a call
- Script Header - this field allows a user to input information that will be constantly be displayed at the top of each page of the script
- Agent Substitutions - this function allows a user to toggle between two different scripts
- Tag - this defines the substituted script
- Agent - this defines the substitution button located in the agent script
- Initial - this determines whether the original script or the substituted script is initially displayed to the agent
Some of these buttons and labels are fairly obvious as to what their function is. For the rest we'll go into a more detailed explanation as well as how to implement these functions in a script.
Variable Data
Before we go any farther it's important to understand what variable data is. Variable data fields, or sometimes referred to as data drop ins, contain unique data that is specific to an individual record.
For example, say a data file contains records from several different voting districts. Each district has it's own representative. So the representative name and number would be considered variable data since it varies depending on which district the voter lives in.
Variable data drop ins are one of the most commonly used functions in the COS script editor and scripts will often contain segments that require this variable data to be inserted depending on which record is being dialed. It will look something like this:
COS will automatically populate the names of the individuals in the household that coincide with the appropriate record into the script.
To add variable data into a script it must first be determined which column of data will be added and where in the script it will be located. You will then need to enter a simple line of computer code into the script to generate the variable data:
{{d:______}}
The blank line is where the column header will be entered. The column header must be entered into the script EXACTLY as it is written in the data file, otherwise the variable data field will not appear in the agent script.
One last thing to consider is that a variable field can only contain 225 characters at a time. If your variable data is longer than 225 characters then multiple fields can be utilized to ensure that the full text appears in the script.
Script Header
Now let's take a look at the script header. In this field you can enter either text or variable data and it will be displayed as a constant on the agent screen. This means that as the agent clicks through each page of the script this information will always be available. This feature is useful for displaying internal notes to the agent such as pronunciations or displaying personal information such as a name or address for verification purposes.
Agent Substitutions
The agent script substitution allows the agent user to toggle between varying scripts such as bilingual scripts or differing scripts based on pre-defined criteria. So with the click of a button an agent can switch back and forth between a live call script and voicemail script for example. COS can also support multiple substitutions in a single script.
The first step in adding a script substitution is to define the substitution field. In the example below we are adding a Spanish translation to the script. The "Tag" field will be defined as "spanish" so that the script knows which substitution to populate in place of the original. The "Agent" will be defined as "Spanish Script" so that the substitution button in the agent script is clearly labeled when toggling between the English and Spanish translations. And the "Initial" field will be defined as "False" so that the original script will populate on the agent screen first when a call comes through.
Now that the substitution fields have been defined, the script needs to be inputted. The original script and subsequent translation must be formatted so that COS can distinguish between the two scripts. This will require some minor coding on the part of the manager user. The coding will look like this:
{{^a:spanish}} INSERT ORIGINAL SCRIPT HERE ((/a:spanish}}
{{#a:spanish}} INSERT SUBSTITUTE SCRIPT HERE {{/a:spanish}}
This opening will now have the option on the agent user screen to toggle between the English and Spanish scripts. Keep in mind that if inputted correctly the first pair of tags will always be highlighted in red and the second pair of tags will always be highlighted in green. If they are not then it is a likely a typographical error has been made and you will need to double check the code/spelling. Also note that the agent substitution code must be applied to each individual question in the script as well as the opening and closing. The substitution feature can also be applied to the individual responses in each question using the same format.
SCRIPT QUESTION
The script question section is where the question read by the agent user is inputted along with the corresponding responses required to capture the data.
- Goto Question - function that allows the user to jump to any question in the script as well as the opening and closings
- VAN Import - allows the user to import VAN questions and responses directly from the users VAN account into COS
- Client - displays the client that is associated with this project
- Question - denotes which question the user is currently editing
- Show Question If - allows the user to use conditional if/then logic to customize the skip logic of the script based on data criteria or responses given previously in the script
- Question Random Group - allows the user to randomize the order of a group of questions
- Question Input Field - the query portion of the script that is read by the agent user
- Question Config - when using VAN, displays the corresponding VAN ID code that the question was imported from
- Randomize Responses - allows the user to randomize the order of responses
- Randomize Pinning - locks into place any responses that the users does not wish to be randomized
- Select Multiple - allows the user to select multiple responses
- Responses - a preselected responses given by the voter and recorded by the agent
- Freeform - adds a freeform response field which allows an agent user to open capture data
- Insert Question - allows the user to insert a subsequent blank question
Show Question If
The "Show Question If" feature is a conditional logic function designed to tailor a script's skip logic based on predetermined criteria. This is accomplished one of two ways. The first uses the data itself to determine which voter will be given a question. The data used to determine who gets asked which question can literally be anything; age, zip code, assigned groups, etc. The second way to use this feature is by using responses given by the voter earlier in the script.
- Show Question If: Using Data
First, you will need to click the "Add Logic" button. You will then see three variable fields appear. Starting from the left, the first field will let you choose how to set the conditional logic between the database or question. Since we're using the database in this example we'll then move to the second variable field.
The second variable will display a list of the column headers contained within your data file. Select which column you want to apply to this conditional format.
Finally, the third variable field is a freeform field. In this field you will need to input which specific data contained within the selected column you want to apply to the format. Take note that you can add as many conditional equations as you need. In this example above this particular equation is set up in a way that only people marked as "Group A" will be given this question.
- Show Question If: Using Questions
The other way to use the "Show Question If" function is to base it off of responses that voters have given in previous questions. For this example we are using a three question script:
The first question asks the voter if they are supporting the candidate and the second question asks if they'd be willing to volunteer for the campaign. We can set up the conditional logic in this script so that only voters who answer "Yes" to the first two questions will be given the third and final question. Like so:
Like the example using the database there are three variable fields that determine the rules of the conditional equation. The first field will be set to question so that COS knows the parameters are being set up based on the responses of the voter. The second field let's you choose which question(s) will apply to the conditional equation. And the third field determines which response will be applied.
Lastly, you may have noticed there is a fourth field in this example on the far left. This field is added whenever two or more conditional parameters are added to a question. This field allows you to choose "AND" or "OR" in how to apply the logic. Selecting "AND" means that all conditions must be true in order for the conditional equation to apply. Selecting "OR" means one or more of the conditions must be true in for it to apply. So in example above, the conditional equation is specifically telling COS that if Question 1 is marked as "Yes" AND if Question 2 is marked as "Yes" then go to Question 3.
Question Random Group
The question random group function allows groups of questions to be randomized in the order that they are given to the voter. While the order in which these questions are read may be random, the data output downloaded from the project and reports will remain intact in the same order that it was programmed into the script.
COS by default includes zero randomized data groups in the script. To add a randomized group simply click the "Add Group" button in the script editor.
For each subsequent question you can assign the randomized groups by number and only questions that have been assigned to that group will be randomized when read by an agent user. You may also create multiple randomization groups based on need.
Randomize Responses and Randomize Pinning
Randomizing responses will cause the responses on the agent user screen to be randomized each time during a call. Similar to question randomization, the data output downloaded from the project and reports will remain intact in the same order that it was programmed into the script. To enable response randomization click the "Randomize Responses" drop down field and change it to "True".
In some instances there may not be a need to randomize every single response and this is where the randomize pinning function comes in. Randomize pinning will "pin" or lock certain responses in place and leave the unpinned responses to be randomized.
To select which responses to pin click on the drop down variable field next "Randomize Pinning". Depending on how many responses there are you will see a list of numbers. These numbers represent which responses you want to pin in place starting from the bottom. So a "1" would mean the very bottom response would be pinned, a "2" would mean the bottom two responses would be pinned in place and so on and so forth.
In this example, the randomized pinning field is set to "2". This means the "Not Voting" and "Refused/Hungup" will stay in place on the agent screen and the rest of the responses will be randomized.
Responses
Responses in COS are variables assigned a specific definition as an answer to questions in the script. There are two types of responses able to captured in a COS project. The first is a normal response that is predetermined by a manager user. These are the most common and there is no limit to the number of responses that can be added to a single question. The second type of response is a freeform response which allows an agent user to open capture data given to them by the voter. There is a limit of one free form response per question in COS.
There are several actions that can be applied to a specific response depending on the script and project needs.
- Activist Code
If using VAN with COS then activist codes can be selected from a users VAN account and applied to a specific response.
- Response Followup
A response follow up is any additional scripting read by an agent user after the voter has given a response to a question. Any response follow up will be displayed on a separate page following the captured response and before the next question.
- Transfer
The transfer option allows agent users to transfer calls to third party telephone number.
- Send SMS
This function will allow the agent user to send a text message from a corresponding COS project while speaking to a voter on a live call.
The other part of responses that needs to be considered is the skip logic. The skip logic is the function that determines the order of questions based on the response. This allows a script to be written in a way so that a "Yes" response in Question 1 might go to Question 2 but a "No" response in Question 1 will go to Question 3. It's important to remember that in COS the skip logic can only move forward and not backwards.
SCRIPT CLOSING
The script closing is the final portion of scripting read by the agent user. The closing typically includes a general farewell and any disclaimers provided by a campaign. COS has the option to include two different closings in a single script.
Please sign in to leave a comment.