Some people have asked if it is possible to let participants upload a document as part of a survey.

For example, you might want to ask a participant to take a picture of themselves and then compare it to their mood.

Although such studies are rare, there is a solution to this. You cannot let participants upload directly to the PsyToolkit server. But there is a trick you can do which gives you pretty much the same mechanism.

No matter how you set up these studies, there is always a possibility for participants to "cheat" the system. For example, instead of a picture of themselves, they might send or upload a picture of their cat or no picture aat all. That would be same as with upload or email. This can only be checked by a researcher, so there is a chance that you miss out some data; key is to motivate and instruct participants correctly.

The basic idea on how to do it

Here is what I recommend:

  1. Set up a dedicated email address for your study via one of the free email services, such as GMX, Zoho, Yahoo, Google, Outlook and the many others (e.g.,

  2. You do not need to, but I recommend to have an automatic reply with a number, for example: Thank you for uploading your document. Please enter code 3153 in the textbox on your survey. That way, you can make sure that people have actually sent a message. We will use the 3153 code here, but you should, of course, use your own random secret code. You could even regularly change the code.

  3. Create the following for your survey script:

l: email_code
t: set
- random string 10

l: ask_stimulus
t: textline
q: Please take a picture of yourself and upload it to your computer.
If you click the link below, your email program will open and ask you to send an email to the indicated address.
All you need to do is upload the picture of yourself and click send.
<a href='{$email_code}'>This is the link for opening your email software.</a>
Then you will get an automatic reply. Enter the reply code to continue.
If you enter the wrong code, the experiment will end.
- {require} Enter the code you received in the automatic reply here:

j: if $ask_stimulus = 3153 then skip next

l: sorry_end
t: info
o: end
q: You entered the wrong code. Sorry, you cannot participate.

l: next_question
t: radio
q: Now something else. What is your mood today?
- Good
- Mediocre
- Bad
In the above, we use the HTML mailto link. Click here to read more about it.
In the example, we end the survey. Instead, you could of course also ask participants to go back to the previous question and upload the correct code. If you do, make sure you use the PsyToolkit survey option Allow participants to go back and change previously given answers to questions. You can just tick that option and recompile.

How to use this in your analysis

The nice thing is that in your downloadable survey data set, you can quickly see which participants entered the correct code.

In the downloadable survey data set, you will have a column called ask_stimulus. You know that only the participants with a number in there really must have uploaded pictures (unless they somehow knew what the code is, but how would that be possible?). Even so, what matters most is that you can check the emails and you can match the email subject line with the column email_code.

Any questions? Just put them on the PsyToolkit Forum.