The why
tag can be applied to any question to create a follow-up question that is displayed on the same page as its parent question when a specified condition is met.
1. How would you rate your vehicle on a scale of 1 to 5?
type: radio
series: 1..5
hscale: y
headings: Hate It, Love It
why: Why are you displeased? {showif: anyChecked($Q1,1,2)}
why: Why do you feel neutral? {showif: anyChecked($Q1,3)}
why: Why are you satisfied? {showif: anyChecked($Q1,4,5)}
Details
-
why
questions are technicallytype: textbox
questions, allowing for longer responses. - The "why question" is typically triggered after a
showif
condition is met. If no condition is provided, then it will be always be displayed with the parent question. - A question can include multiple
why
tags, each with their own set of conditions. - When a single
why
tag is included on a question, it will generate its own variable with an ID of 'QX_WHY', where 'X' is the ID of the parent question. Each why question is treated as its own variable and will be listed after the parent question in the reporting field tree. - When multiple
why
tags are included on a question, it is recommended to include anid
decorator with each. Without this decorator, they automatically will be assigned IDs in the order they were programmed — e.g., QX_WHY, QX_WHY2, QX_WHY3, etc.
Decorators
The following element decorators can be included with the why
tag. Each decorator should be in its own set of curly brackets — e.g., why: Why did you assign this rating? {showif: anyChecked($Q1,1,2)} {id: Q1_WHY2} {required: n}
.
Decorator | Description |
ap |
Set to 'y' to display the why question on a separate page from the parent question. |
desc |
Provides an alternate description for the why variable that is used in reporting. |
id |
Assigns an ID to the why variable. The leading 'Q' is not required and will be added automatically by the system in reporting fields. |
maxlength |
Sets the maximum text length of the response. |
minlength |
Sets the minimum text length of the response. |
required |
A response to the why question is required as long as the parent question is required. Set to 'n' to make the why question optional. |
showif |
Specifies a condition for which the why question should be displayed. |
skipif |
Specifies a condition for which the why question should be skipped. |
Additional examples
Assigning IDs to why questions
Altering the order why
tags are programmed after fielding a survey can be problematic for data collection. To prevent this, assign an id
decorator to each why
tag.
Using our previous example of Q1, we could assign IDs as follows. Now the order the tags are listed in no longer matters.
1. How would you rate your vehicle on a scale of 1 to 5?
type: radio
series: 1..5
hscale: y
headings: Hate It, Love It
why: Why are you satisfied? {showif: anyChecked($Q1,4,5)} {id: 1_WHY3}
why: Why are you displeased? {showif: anyChecked($Q1,1,2)} {id: 1_WHY1}
why: Why do you feel neutral? {showif: anyChecked($Q1,3)} {id: 1_WHY2}
NPS questions
Net promoter score (NPS) questions are designed to gauge the likelihood a customer would recommend a product, brand, or service by rating it on a scale from 0 to 10. Why questions can then be included to gauge the qualities or attributes that influenced this rating.
In this example, the selection variable QBRAND assigns a brand to respondents in QNPS. Why questions are included to gather more information about why a respondent would give a "Detractor" rating or a "Promoter" rating.
BRAND. Assigned Brand
type: radio
selectby: counts
1. Dell
2. HP
3. Apple
4. Lenovo
NPS. Please rate your experience with $QBRAND_text products.
type: radio
series: 0..10
hscale: y
headings: Terrible, Excellent
why: Why did you give $QBRAND_text a low rating? {showif: anyChecked($QNPS,0..6)} {desc: Detractors} {id: NPS_low}
why: Why did you give $QBRAND_text a high rating? {showif: anyChecked($QNPS,9,10)} {desc: Promoters} {id: NPS_high}
Comments
0 comments
Please sign in to leave a comment.