I want to be able to check whether an open-ended response is contained in a list/document that I input to Qualtrics, and I cannot at all figure out how to do this validation. Is there a way to upload a separate document/list, or even just input a bunch of text somewhere within the survey, and then when the participant types an answer to a particular question, it checks whether their answer is in my text and then branches on the basis of that response?
Thanks for your help!
Page 1 / 1
Hi @Jona. What format is the list and how much data does it Container? Can you provide some example and how the question should be asked?
Guess there are different ways to achieve this…
If the purpose is to validate and only allow those to participate who are contained in a list, think about using Authenticator.
Branch conditions could be used for smaller lists.
The list could be stored as an array in JavaScript to check if the answer is contained in the array. Based on that, some flag could be set as embedded data.
If the list is too huge to define directly in the question‘s JavaScript, it could be stored as file in the library and then loaded and further processed within the survey‘s header code.
Best
Christian
Hi @chackbusch thanks for chiming in.
I can make the list in any reasonable format -- CSV, TXT, DOCX, etc. It’s relatively short, would be about 200 words long.
The list is email addresses of people who have already participated in a previous survey, and I want to ensure that participants in my new survey did NOT participate in the first survey. So I want to have new participants enter their email address, and I check it against the list of original participants’ emails, and then route them out if they completed the original survey.
I’ve looked into an Authenticator and I’m open to the idea, but as far as I can tell, it doesn’t allow me to EXCLUDE participants who are on my list, only INCLUDE them (but I’m open to ideas about how to use an authenticator for my purposes).
Thanks!
-Jona
@Jona are you using the same project? Because if it’s a new project, and not the “original” one, the authenticator could be the best option.
If it’s the same survey, I’m thinking maybe of marking them as no respondents using a file and maybe like that the authentication will fail if the email belongs to a colaborator that’s not a respondent.
Also, you could mark those participants with a new field that’s, e.g Survey Taken = Yes. Then, with branch logic you could make people who match that criteria go directly to a end of survey, not taking the different blocks.
Let me know if any of those options work for you.
Kind regards,
Vanesa
@Jona Think you should achieve your expected result by following my steps:
Create a mailing list based on the first survey that contains the email addresses. Theoretically, you could also automate this process by automatically adding the respondents of the first survey to a mailing list.
Define the survey flow as below.
The first block contains an input to ask for the email. This is then defined in some embedded data which is used to prefill the authenticator. Prefilling makes sense if you want to avoid the authenticator default messages (which do not make much sense in our case). If the email is in the list, the branch within the authenticator is executed which contains an end of survey message which does not track the response. Make sure that the within the authenticator options “Maximum Authentication Attempts” is set to > 1 (e.g. 10).
You can also define a custom end of survey message here like “Sorry, you already participated in...”.
The Questions block is executed if the authentication fails. Define your actual survey content in there.
Best Christian
Thanks @chackbusch , this is really helpful and almost gets me there!
I created a mailing list and the survey flow as you suggested:
However, if I set Authenticator Options “Maximum Authentication Attempts” > 1 (as you suggested), then when I enter an email address NOT on my list (and thus I want this person to take the survey), it does not allow them to pass the email question (it keeps throwing this error until I hit the number I set in max attempts):
When I enter an email that IS on my list, it successfully sends them to the end of the survey and shows my “already participated” end of survey response, so that’s good.
However, if I set the Authenticator Options “Maximum Authentication Attempts” = 1, no matter what email I enter (either on my list or off), it neither (a) does not continue the survey, nor (b) show me the custom end of survey message that I’ve selected (“Already participated”); instead, it shows me the Qualtrics default end of survey response (which is not even the default end of survey response for this survey).
So it seems like something is not quite right but I feel like we’re almost there.
Thank you!
@Jona Mhhh, but you placed some question block after the Elements of your Screenshot?
@chackbusch Yep! There’s a bunch of stuff after the Authenticator, under the Randomizer (which does work just fine and display the rest of my survey if I remove the Authenticator).
@Jona are you using the same project? Because if it’s a new project, and not the “original” one, the authenticator could be the best option.
If it’s the same survey, I’m thinking maybe of marking them as no respondents using a file and maybe like that the authentication will fail if the email belongs to a colaborator that’s not a respondent.
Also, you could mark those participants with a new field that’s, e.g Survey Taken = Yes. Then, with branch logic you could make people who match that criteria go directly to a end of survey, not taking the different blocks.
Let me know if any of those options work for you.
Kind regards,
Vanesa
@Vanesa My new survey is a different project than the original one. (In fact, the original one wasn’t even run in Qualtrics, so I don’t have the option of combining them.)
What I’m struggling with is how to mark the participants who already took the survey? If you have an idea of how to make the Authenticator work (see my message above with screenshots), or another strategy, I am very open to ideas!
@Jona Sorry, I think I messed up. It must be put to 1…
Hope this works now.
@Jona Sorry, I think I messed up. It must be put to 1…
Hope this works now.
Hi @chackbusch thanks for your response, but I already tried Max Auth Attempts = 1 and it doesn’t work! When I enter an email address ON my list (which should end the survey with the custom end of survey message “Already participated”), and also when I enter an email address NOT ON my list (which should continue the survey with the question block), Qualtrics ends the survey and shows the Qualtrics default end of survey message (not even this survey’s regular end of survey message).
Any other ideas? Thank you for trying to help me out!
@Jona
Did you already record responses with the email you are testing? By default, respondents can authenticate only once. So if a respondent successfully authenticates and completes the survey, they will not be able to take the survey again. Or for testing you can activate this authenticator option:
Can you check if the PptEmail embedded data is correctly set by checking “Data & Analysis” response data?
For me it works just as intended - also with custom end of survey message (same as yours) within the authenticator branch:
Can you move some block before the randomizer to make sure that the randomizer does not cause the issue?
Best Christian
@chackbusch Thanks for the troubleshooting suggestions!
Did you already record responses with the email you are testing?
Yes, I was using the same few email addresses to test both on- and off-list emails, and it looks like this was the problem -- I now selected “Allow authenticating users to retake authenticated section” in the Authenticator options and it’s performing as expected -- email addresses on the list give me my custom “you have already participated” end of survey message, and addesses off the list continue the survey.
Thanks for your help and creative ideas about how to use the Authenticator to screen people out rather than in! :)