Links

Prepare Qualtrics Survey With Batch-Populated Questions

Suitable for UPenn users.
Create a new Qualtrics Project.
  1. 1.
    Log into Qualtrics with your PennKey.
  2. 2.
    Click Create Project > Research Core > Blank Survey Project.
  3. 3.
    Give the project a name, say "10-K". Click Create Project.
  4. 4.
    Click on the newly created project. You will be taken to the "survey design" interface.
  5. 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. 1.
    Use my Jupyter Notebook Qualtrics.ipynb to generate a qualtrics_survey_question_list.txt.
  2. 2.
    Click Tools > Import/Export > Import Survey….
  3. 3.
    Select the qualtrics_survey_question_list.txt generated before. Click Import.
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. 1.
    Click Survey Flow. Below Show Block: Default Question Block, click Add Below > Randomizer.
  2. 2.
    Tick Evenly Present Elements on the randomizer.
  3. 3.
    Drag any date-named block to the randomizer. "Randomly present 0 of the following elements." should automatically increase from 0 to 1.
  4. 4.
    Click Save Flow.
Batch-edit stuff.
  1. 1.
    Tools > Import/Export > Export Survey. You will see a QSF file downloaded.
  2. 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. 3.
    Locate
    "Type": "Root",
    "FlowID": "FL_1",
    "Flow": [
  4. 4.
    Cut & paste all {"Type": "Standard", …, "FlowID": "FL_..."} blocks under the "Flow": […] of the {"Type": "BlockRandomizer", …} .
    ​
    ​
  5. 5.
    Edit the {"Properties": {"Count": …}} to 3. This is because we have:
    • one Default Block for welcome message,
    • one Randomizer, and
    • one Web Service call
      in our root Flow.
  6. 6.
    Locate all "QuestionType": "TE", lines. Add the following snippet before the lines:
    "Validation":
    {
    "Settings":
    {
    "ForceResponse": "ON",
    "ForceResponseType": "ON",
    "Type": "None"
    }
    },
  7. 7.
    Save.
  8. 8.
    Back to our survey design page. Click Tools > Import/Export > Import Survey…. Select the QSF file. Click Import. 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. 1.
    In Survey Flow, create a new Element that calls a Web 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. 2.
    Remember to save the Flow.
​
​