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 checklistswidget (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 checklistwidget 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 checklisttag 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 checklistdecorator 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
chaptertag.
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 (alias trigger) 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 checklist: 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 checklist: 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.
set term: attn_term text: Failed more than 2 attention checks condition: countChecked($attn) > 2
Comments
0 comments
Please sign in to leave a comment.