Prepare Qualtrics Survey With Batch-Populated Questions
Suitable for UPenn users.
Create a new Qualtrics Project.
- 1.
- 2.Click
Create Project
>Research Core
>Blank Survey Project
. - 3.Give the project a name, say "10-K". Click
Create Project
. - 4.Click on the newly created project. You will be taken to the "survey design" interface.
- 5.Edit the Default Question Block to show some welcome text.

Give the project a name, say "10-K". Click Create Project.

Edit the Default Question Block to show some welcome text.
Import Questions.
- 1.Use my Jupyter Notebook
Qualtrics.ipynb
to generate aqualtrics_survey_question_list.txt
. - 2.Click
Tools
>Import/Export
>Import Survey…
. - 3.Select the
qualtrics_survey_question_list.txt
generated before. ClickImport
.
It may take so long that the page throws a 504 (TimeOut) error waiting for the server to respond. Don't worry, as the uploaded TXT file is parsed on the server.
If this happens to be the case, go back to Control Panel. Refresh the page every so often, till you see your project reached the right number of Questions. When it has finished loading all the questions, click into the project.
Randomize presentation of blocks.
- 1.Click
Survey Flow
. BelowShow Block: Default Question Block
, clickAdd Below
>Randomizer
. - 2.Tick
Evenly Present Elements
on the randomizer. - 3.Drag any date-named block to the randomizer. "Randomly present
0
of the following elements." should automatically increase from0
to1
. - 4.Click
Save Flow
.
Batch-edit stuff.
- 1.
Tools
>Import/Export
>Export Survey
. You will see aQSF
file downloaded. - 2.Open it with a text editor. It's JSON, so you can just prettify it accordingly. (Note that mixing spaces and tabs in indentation breaks the QSF file.)
- 3.Locate"Type": "Root","FlowID": "FL_1","Flow": [
- 4.Cut & paste all
{"Type": "Standard", …, "FlowID": "FL_..."}
blocks under the"Flow": […]
of the{"Type": "BlockRandomizer", …}
. - 5.Edit the
{"Properties": {"Count": …}}
to3
. This is because we have:- one Default Block for welcome message,
- one Randomizer, and
- one Web Service callin our root Flow.
- 6.Locate all
"QuestionType": "TE",
lines. Add the following snippet before the lines:"Validation":{"Settings":{"ForceResponse": "ON","ForceResponseType": "ON","Type": "None"}}, - 7.Save.
- 8.Back to our survey design page. Click
Tools
>Import/Export
>Import Survey…
. Select the QSF file. ClickImport
. You will see new survey project uploaded and opened up.

Locate `"FlowID": "FL_1",`
Make sure we can trace our mturkers across Qualtrics and Mturk.
- 1.In
Survey Flow
, create a new Element that calls aWeb Service
with the following details:- URL:
http://reporting.qualtrics.com/projects/randomNumGen.php
- Method:
GET
- Query Parameters (You can tweak the values here)
min
=1000000
min
=9999999
- Set Embedded Data
MTurkCode
=random
- 2.Remember to save the Flow.
