Best way to 'link' paper survey form with survey participants | XM Community
Skip to main content
Hello everyone,



For my master thesis, me and my colleagues will visit multiple colleges to have the students complete a survey. The students will have been informed about the survey beforehand and time normally spend on lectures has been reserved for them to participate. We decided to be there in person, so students could ask any questions directly, and to confirm only the intended student population will fill in the survey.



Next to the digital survey on Qualtrics, we will have student fill in a paper consent form. I've been told a digital consent form is not an option for us. This means I need a system that will link each consent form to the participant's data. If, for instance, one participant decides she doesn't want us to use her data after all, we'd have to know what data to remove.



My idea was to print unique codes on the consent forms and have the first question of the survey ask participants to fill in that unique code. While this would work, a simple typo would ruin the link and thus make that data unusable.

Ideally, I'd have the survey check a database for each unique code. For instance, if i generate 200 four-digit codes, chances are a typo would result in an error ("code not in database") and the participant would double check the code.



Perhaps I'm overthinking this, but if there is a system similar to this I'd like to implement it!
I would recommend that you create a contact list with dummy values for first name, last name and email. Add the unique codes in the External Data Reference field for each such dummy record.

Use an authenticator in your survey flow to authenticate students based on this unique code.

An authenticator won't allow the student to proceed further unless it's correct.
I figured out a way to do this! I'll describe it here in case anyone runs into a similar problem.



At first, I was planning to use the method described in this support page, but this method doesn't actually generates unique IDs, only random numbers. I definitely don't want 2 participants with the same ID, so I couldn't use that method.



Instead, I used the idea given in this stack overflow question. First, I made a multiple choice question with 899 options, labeled 100-999. These will be my unique IDs (since I won't reach more that 899 participants).

Next, I used Advanced Randomization (which can be found here: Gear Icon > Randomization... > Set Up Advanced Randomization). Select all numbers (can be done easily with shift+left mouse button), and put them in the "Random Subset" box. Set the number above the box to 1 and check "evenly present elements". This will make it so that only 1 number will be displayed (the ID) and that no number can occur twice (because of the "evenly present elements" setting").





Now, click Gear Icon > Add Javascript...

Under "/*Place your JavaScript here to run when the page loads*/", copy the following line:



$(this.questionId).hide();



This will hide the question from participants, so they won't be confused by a MC question with 1 option.

We're almost done! From this point on, you could pipe the unique ID like so: Piped Text... > Survey Questions > QX [question that generates ID] > Displayed Choices [all the way on the bottom of the list]



To make it a bit neater, I used the Survey Flow to turn the above piped text into a Embedded Data variable. See the picture below:



!



Thanks to this, I can now simply pipe "Random ID" instead of having to select Displayed Choices. At the start of the survey, I was display the ID to participants and ask them to write it on their consent forms.



Finally, I am planning to include a question at the end of the survey which asks participants to enter the ID they wrote on the consent form. This question will use custom validation to check the entered ID against the actual ID. My idea is that this will catch any "typos" or mistakes on the consent form.



I'm not 100% sure if I will use this system, but at least it is much better than the option presented in the support documentation.
> @Mishraji said:

> I would recommend that you create a contact list with dummy values for first name, last name and email. Add the unique codes in the External Data Reference field for each such dummy record.

> Use an authenticator in your survey flow to authenticate students based on this unique code.

> An authenticator won't allow the student to proceed further unless it's correct.



Oh, that would also have been a good one! As you can see, I ended up basically doing the same thing, but used a MC question to generate the random ID.
I ended up using @Mishraji method. The method I came up with was rather clunky, and was much more confusing for participants.



I used the Random.org sequence generator to generate a list of numbers from 1000 to 9999. I selected the first 200 numbers as my unique IDs. I will print the IDs on the consent form and ask participants to use it to log into the survey. Because there are only 200 out of 8999 codes, the chance that a participant would be able to log into the survey with a wrong ID (e.g. a typo) is very small.

Leave a Reply