A rating response allows participants to respond using a numeric scale.
The default setup is a 5-point likert scale, as in the below image.
If you preview or have launched a study before August 15, 2022, you'll see something like this:
Since August 15, 2022, the rating response has a brand new look and supports multi-row questions via row labels:
type
must be specified as "rating"
.{
"type": "rating"
}
This piece of code sets up a rating response in the form of a five-point likert scale. If this is what you want, there is no need to add additional code to this response!
Available since August 15, 2022
false
, then participants need to click a seperate Confirm button to lock in their answer(s). We recommend leaving it at its default value true
especially if you are sequentially presenting multiple rows of individual rating scales.true
or false
true
{
"type": "rating",
"auto_lock_in": false // this is the default; you don't need to specify this
}
0
{
"type": "rating",
"delay": 1
}
true,false
false
{
"type": "rating",
"duration_timer": true
}
Relevant only if "duration_timer"
is true
.
"start"
, the timer will appear as soon as the response is displayed and animate a stopwatch effect. When set to "end"
, the duration timer will only appear once the participant has made a reponse with no stopwatch effect."start","end"
start
{
"type": "rating",
"duration_timer": true,
"duration_timer_onset": "start"
}
instruction
to ""
(empty quotes).{
"type": "rating",
"instruction": "How much do you agree with the above statement?"
}
In this example code, participants will see the instruction "How much do you agree with the above statement?" above the rating scale.
{
"type": "rating",
"instruction": ""
}
In this example code, participants will see no instruction above the text box.
New features added since August 15, 2022
Definition: Optional column labels that are associated with each step of the rating response. If not specified, a numeric scale will be displayed.
Possible values:
Two options are available for defining the labels:
["Strongly Disagree", "Disagree", "Neutral", "Agree", "Strongly Agree"]
.{"Label1": 1, "Label5": 5}
). This option allow researchers to specify only the column labels that are relevant (e.g., "Strongly Disagree", "Neutral", "Strongly Agree") while leaving out the labels for interleaving steps on the scale. See example code for details.Default value: no default
{
"type": "rating",
"instruction": "How much do you agree with the above statement?",
"labels": [
"Strongly Disagree",
"Disagree",
"Neutral",
"Agree",
"Strongly Agree"
]
}
Because labels is assigned a list of values, participants will see the names "Strongly Disagree", "Disagree" Neutral", "Agree", "Strongly Agree" in place of the numbers 1-2-3-4-5. In your data, a response of "Strongly Disagree" will be coded as 1, "Disagree" as 2, etc.
Using the dictionary format, we can omit "Disagree" and "Agree" and just present 3 labels:
{
"type": "rating",
"instruction": "How much do you agree with the above statement?",
"labels": {
"Strongly Disagree": 1
"Neutral": 3,
"Strongly Agree": 5
]
}
In this case, participants will see only the three labels defined here, positioned at the corresponding numeric values on the scale (i.e., 1, 3, 5) as defined.
5
{
"type": "rating",
"min": 3,
"max": 6
}
Because min is set to 3
, participants will see a rating scale whose lowest value is 3. Because max is set to 6
, the scale's highest value will be 6.
1
{
"type": "rating",
"min": 3,
"max": 6
}
Because min is set to 3
, participants will see a rating scale whose lowest value is 3. Because max is set to 6
, the scale's highest value will be 6.
Given a response named "response1"
as follows:
{
"type": "rating",
"max": "10",
"min": "5"
}
You can avoid repetitive typing by defining a child response, "response2"
, that inherits all settings of its parent:
{
"type": "rating",
"parent": "response1"
}
true
, a response of 1 on a 1-5 scale will appear as 5 in your output data, a response of 2 will appear as 4, and a response of 5 will appear as 1.true
or false
false
reverse_scoring
does not change the order of the scale that participants see. Even if reverse_scoring
is set to true
, a scale with a minimum vale of 1 and maximum value of 5 will display the options 1-2-3-4-5, in that order. The reverse_scoring
property simply affects the scores that are recorded in your output data.{
"type": "rating",
"min": 3,
"max": 6,
"reverse_scoring": true
}
Because min is set to 3
, participants will see a rating scale whose lowest value is 3. Because max is set to 6
, the scale's highest value will be 6. And because reverse_scoring is set to true
, responses in your output data will be coded in reverse order: a response of 3
will be coded as 6
, a response of 4
coded as 5
, 5
coded as 4
, and 6
coded as 3
.
Available since August 15, 2022
Definition: Optional row labels, each of which corresponds to a separate rating scale in a rating response. This feature can be useful for asking a group of questions in the format of ratings. The option for revealing the individual rows sequentially or all at once can be further tweaked via the sequential property.
Possible values: A list of text labels, each of which appears to the left of the corresponding rating scale.
Advanced usage: If you need to conditionally branch your experiment based on participant responses from an individual row within a multi-row rating response, use the
"response_name|row_label_text"
format as the response name in a trigger.
Default value: No default. A default row label of 1 is always implied, meaning that the rating response will have just one scale, but the default text will be an empty string.
See also:: auto_lock_in, sequential
{
"type": "rating",
"instruction": "How do you like your new computer?",
"row_labels": [
"Overall speed",
"Speakers",
"Webcam",
"Weight"
]
}
Available since August 15, 2022
Definition: If multiple row labels are defined, whether or not to present each individual row of rating scale sequentially. When rows are presented sequentially, participants must answer the current question before the next one is revealed.
Possible values: true
or false
Default value: false
See also: auto_lock_in, row_labels
Reaction times collected on multi-row rating responses are always with respect to the onset of the first rating scale, even when rating rows are sequentially presented. You can subtract the reaction time of the previous rating row from the reaction time of the row of interest to get its "net" reaction time.
{
"type": "rating",
"instruction": "How do you like your new computer?",
"row_labels": [
"Overall speed",
"Speakers",
"Webcam",
"Weight"
],
"sequential": true
}
{
"type": "rating",
"min": 0,
"max": 100,
"step": 10
}
Participants will see an 11-point rating scale with 0 as the min, 100 as the max, and every 10-point increment in between.
Available since November 11, 2022 (Grammar Version 3.4.0)
1
, or a list of values like [3,1,2]
in the case of a multi-row response.{
"type": "rating",
"max": 5
"target": 3 // if 3 is somehow defined as the "correct" rating
}
Available since November 11, 2022 (Grammar Version 3.4.0)
{
"type": "rating",
"row_labels": ["Question 1", "Question 2", "Question 3"],
"max": 5,
"target": 10 // any combination that adds up to 10 will suffice
}
{
"type": "rating",
"max": 6,
"zero_centered": true
}
Because zero_centered is set to true
, the rating scale will be centered at 0, spanning from -6 to 6 (the value of max).