A checklist is a multi-punch system variable that serves as a flag to identify respondents who meet a particular condition, such as failing an attention check. Checklists are first defined using the define checklists
widget. They can then be triggered using a trigger
checklist
widget, tag, or decorator.
define checklists
chapter: Z
attn. Attention checks
short_oe. Open-end response less than 20 characters long
1. Which of these is a musical instrument?
type: radio
1. Apple
2. Bicycle
3. Piano
4. Airplane
5. Ocean
trigger checklist: attn
id: Q1
text: Did not select 'piano'
condition: noneChecked($Q1,3)
Details
- Use the
define checklists
widget (alias,define checklist
) to create a checklist. Multiple checklists can be defined in a single widget, one per line. - Checklist IDs must begin with a letter, but may contain numbers and underscores. Each ID must be unique.
- The
trigger checklist
widget should specify which checklist it is assigned to and include an option ID, text to show in the reports, and any conditions required to qualify for the checklist. - The
trigger checklist
tag can be added directly to a question. It should specify which checklist it is assigned to and include any conditions required to qualify for the checklist. - The
trigger checklist
decorator can be added to any closed-end option or list element. The checklist is always triggered if the option is selected, so a condition isn't needed. - If a flagged option is deselected before a respondent submits their responses, the checklist will not be punched for that option.
- Checklists will be placed at the end of the Survey fields chapter by default. To organize the checklist fields in the reporting field tree, include the
chapter
tag.
Tip! Checklists are designed to function as independent flag variables and have no affect on CheatSweep attention check scores.
Decorators
The following element decorators can be included with either the trigger
checklist
tag or decorator.
Decorator | Description |
condition |
Use with the trigger
checklist tag. Defines a logical statement for when a checklist should be triggered for an option or set of options. |
|
Optional; specifies the option ID for when a checklist was triggered. If not included, this will default to the question's ID when used as a tag (e.g., Q1), or as the question ID with option ID when used as a decorator (e.g., Q1_2). |
|
Optional; specifies the option text for when a checklist was triggered. If not included, this will default to the question's text. |
Additional examples
Using 'trigger checklist' as a tag
Building off of our initial example, Q1 uses the trigger
checklist
tag instead of a standalone widget to define when the attn
checklist should be triggered. If the respondent doesn't select option 3 'Piano', attn
will be punched for the option 'Q1_ATTN', and the text "Did not select 'Piano'" will be listed as the option text/description.
1. Which of these is a musical instrument? type: radio trigger checklist: attn { condition: noneChecked($Q1,3) } { trigger text: Did not select 'Piano' } { trigger id: Q1_ATTN } 1. Apple 2. Bicycle 3. Piano 4. Airplane 5. Ocean
Using 'trigger checklist' as a decorator
When using trigger checklist
as a decorator on an option, the condition
decorator is unnecessary. Selecting the option with the decorator will automatically punch the specified checklist.
2. Which of these instruments have you considered learning to play?
instruct: Select all that apply.
type: checkbox
1. Saxophone
2. Bicycle { trigger checklist: attn } { trigger text: Selected 'bicycle' }
3. Piano
4. Guitar
5. Violin
If an option with a trigger checklist
decorator is reused at a later question, the decorator carries over, creating a new trigger each time the option is reused. In the example below, since Q2's options are referenced in Q2A, anyone selecting 'Bicycle' will punch the attn
checklist. Since the trigger id
decorator was not included in the original definition, attn
will store option IDs for both 'Q2' and 'Q2A', with the latter inheriting the trigger text, "Selected 'bicycle'."
2A. Which of these instruments are you most interested in learning to play?
type: radio
optsfrom: Q2.options
Creating attention checks in a table
Checklists can also be used with tables. In this example, an attention check is placed in a brand rating table. If the instruction to select 'Satisfied' at row 4 isn't followed by the respondent, the attn
checklist is triggered.
define checklists attn. Attention checks 3. How satisfied are you with each of the following brands? type: radio table 1. Very Unsatisfied 2. Unsatisfied 3. Neutral 4. Satisfied 5. Very Satisfied trigger: attn { condition: noneChecked($Q3R4,4) } rows: 1. Brand 1 2. Brand 2 3. Brand 3 4. Select 'Satisfied' for this row. 5. Brand 5
Using triggers with open end responses
In this example, a trigger is added to an open end question to check for answers below a certain length. The short_oe
checklist field can then be used to review the data later for low-quality open end responses.
define checklists short_oe. Response fewer than 20 characters 5. What could we have done differently to provide a better service? instruct: Please be as detailed as possible. type: textbox trigger: short_oe { if length($Q5) < 20 }
Referencing checklists in survey logic
Checklists are similar to survey variables and may be referenced in survey logic. Unlike survey variables, a leading 'Q' is not required when referencing a checklist. Instead, include a dollar sign ('$') followed directly by the checklist ID.
The following goto
statement routes respondents to the system page labeled 'bad' if its condition is 'true'. The condition anyChecked($attn)
will evaluate as 'true' if one or more options have been triggered for the attn
checklist. The respondent will then exit the survey with a status of 'B' for "Bad".
goto: bad condition: anyChecked($attn)
Checklists could also be used in logic for terminating respondents. In the example below, the set term
widget will terminate respondents if three or more options have been triggered for the attn
checklist.
setterm: attn_term text: Failed more than 2 attention checks condition: countChecked($attn) > 2
Comments
0 comments
Please sign in to leave a comment.