Assign pre-generated username and password to participants | XM Community
Solved

Assign pre-generated username and password to participants

  • 1 December 2021
  • 5 replies
  • 367 views

Userlevel 1
Badge +6
  • Level 2 ●●
  • 16 replies

I am using an anonymous link to recruit 1000 survey participants from the web.
I want to provide each participant with a unique username and password that has been pre-generated. Of course, I do not want two (or more) participants to have the same username and password.
I have considered uploading the username and passwords in a contact list, but I do not have a way to link the usernames and passwords in the contact list to each individual participant because the recruitment will be anonymous.
To link the usernames and passwords to each participant, I have considered assigning the 1000 pre-generated usernames and passwords with a unique value between 1 and 1001 and subsequently assigning participants to a unique embedded data field value between 1 and 1001 when they enter the survey. I would then be able to provide each participant with the unique username and password that the value is associated with.
However, the only way I know to do this would be to use the random integer function, and I do not know how to guarantee that the values assigned to each participant do not repeat (i.e. two participants are both assigned the number 137, for example).
Does anyone have any ideas about how to accomplish this goal? It would make my research project possible. Thank you!

icon

Best answer by CamM 10 December 2021, 10:31

View original

5 replies

Userlevel 5
Badge +20

Hi Jon, I think the contact list option is actually workable. The trick - as you rightly identified - is linking the usernames/passwords with participants given you're using an anonymous link. However, this is where Quotas being used in conjunction with an Authenticator leveraging the pre-fill option (see here for info) could potentially be of assistance.
Essentially, if you have a quota that starts at 0 and then increments each time a survey is completed, then the quota will be 0 for first participant, 1 for the second participant, 2 for the third and so on.
In your survey flow, you would create an embedded data field (e.g. "Participant"). The value would be set on survey start as something like Participant[Quota Value] (see my screenshot below). This represents the unique participant value and allows you to incrementally assign a new value to each new participant.
Turning to your contact list, you'd want to configure each contact with an External Data Reference value like Participant0, Participant1, Participant2, etc which would match the dynamic values you're assigning to each new participant when they commence the survey.
With that in place, you can leverage an Authenticator element in your survey flow, pre-filling the External Data Reference field using your "Participant" embedded data field. Beneath this, you would set embedded data values for username and password (obtained from the contact list). Again, the screenshot below would make this a little clearer.
This would allow you to automatically connect a participant with a corresponding username/password in the contact list. Additionally, being embedded data fields in your survey, the username/password values would be captured against the survey response.
I'm sure there are other creative ways to achieve this as well, but hope this helps give you a way forward!
Cheers,
Cameron
image.png

Userlevel 1
Badge +6

Hi CamM — thanks for this great solution and clear description. I have one question about this, which is what would happen if two (or more) participants take the survey at roughly the same time? (I'll note this is an extremely likely scenario in my case). I assume that because the quota value hasn't been incremented, the two participants would be assigned the same quota value (let's say, 7), and would then both be assigned to a value of "Participant7". This would then lead to both participants receiving the same username and password (i.e. the username-password pair that is associated with my Participant7 in the contact list). Am I understanding this right?

Userlevel 5
Badge +20

Hi Jon, your understanding is spot on and that is indeed a very good point you make. Quotas only update on survey submission, so if you're likely to have multiple participants taking the survey at the same time, then this is a very valid concern.
An alternative low-code option would be to create a multiple choice question with the numbers 1-1000 (or whatever you need) set as the choice values. Use advanced randomisation to select a random subset of 1 value from all options. You would need to use the "Evenly Present" option to ensure that Qualtrics does not reuse numbers. You can then use JS to hide the question from view -:
$(this.questionId).hide();
You would need to place this question somewhere early in your survey, e.g. in the block being used to display your survey intro page (or similar). Essentially, it must be "displayed" a page/screen before you want to call on its value. You can then use piped text to pipe the displayed choice into your embedded data field and continue with the aforementioned solution such that your "Participant" embedded data field is now set as Participant[DisplayedChoice] (e.g. Participant${q://QID1/ChoiceGroup/DisplayedChoices}).
This solution would basically assign a random number to the participant (based on your multiple choice question values) and would provide a "unique" number to each new survey taker until such time as it has displayed the survey to 1000 unique respondents, after which time it will start to repeat values.
Finally, to confirm your earlier query re: the random integer function, there is no way to ensure it provides unique values so it would suffer a similar limitation to the quota solution.
If the above ideas don't help, then I think your only other option would require use of a web service. See this post for more details.
Cheers,
Cameron

Userlevel 1
Badge +6


https://community.qualtrics.com/XMcommunity/discussion/comment/42346#Comment_42346CamM just getting back to this now. This solution works perfectly! I'm so happy! I've been trying to figure this out for months. This is a way easier solution than setting up 1000+ embedded data elements in the survey flow, because a multiple choice question can easily auto-populate choice values from 1-1000. Thanks so much for your help on this.

Badge +1

Hi Jon, I think the contact list option is actually workable. The trick - as you rightly identified - is linking the usernames/passwords with participants given you're using an anonymous link. However, this is where Quotas being used in conjunction with an Authenticator leveraging the pre-fill option (see here for info) could potentially be of assistance.
Essentially, if you have a quota that starts at 0 and then increments each time a survey is completed, then the quota will be 0 for first participant, 1 for the second participant, 2 for the third and so on.
In your survey flow, you would create an embedded data field (e.g. "Participant"). The value would be set on survey start as something like Participant[Quota Value] (see my screenshot below). This represents the unique participant value and allows you to incrementally assign a new value to each new participant.
Turning to your contact list, you'd want to configure each contact with an External Data Reference value like Participant0, Participant1, Participant2, etc which would match the dynamic values you're assigning to each new participant when they commence the survey.
With that in place, you can leverage an Authenticator element in your survey flow, pre-filling the External Data Reference field using your "Participant" embedded data field. Beneath this, you would set embedded data values for username and password (obtained from the contact list). Again, the screenshot below would make this a little clearer.
This would allow you to automatically connect a participant with a corresponding username/password in the contact list. Additionally, being embedded data fields in your survey, the username/password values would be captured against the survey response.
I'm sure there are other creative ways to achieve this as well, but hope this helps give you a way forward!
Cheers,
Cameron
image.png

 

Dear @CamM ,

I've encountered the same problem as @Jon and I tried to follow your solution with the multiple choice question.

Even though everything seems to work, when I create a text section trying to inform participants of their unique usernames and passwords using piped text nothing shows up. Do you know why?

In the screenshots you can see how I set up my Work Flow, the contact list example that I've created and how I'm trying to show it to participants.

Thank you for your (or anyone's) help!

Chiara

 

 

Leave a Reply