Description of the problem:
I am not sure if this is an error on the SONA side or Pavlovia side. Recently (within the last few weeks), for some students, their first or full name is saved as the participant ID. I have the settings of my study on SONA set to generate a random ID, but for some reason it is still saving the participants name instead of an ID. This is a new issue too- I collected at least 50 participants without having this problem. Has anyone else been experiencing the same problem? Or does anyone have any insight into what I, SONA, or students may be doing wrong to produce this problem?
No, this is not the same issue.
When I gave SONA the link with “id” in it it saved the 6-digit number generated by SONA in the data.
When I gave SONA the link with "“participant” in it it saved the student ID in the data.
My problem is that participants are not automatically granted with credits.
If the participant name is appearing instead of the participant’s Sona ID then this has to be an issue at Sona. Your PsychoJS experiment only has access to what it is sent; if Sona correctly sends the ID then PsychoJS has no way to know the name. Conversely, if Sona only sends the name then PsychoJS cannot replace it with the ID, and it’s sruely the ID that needs to be received for credits to be given. So I believe this must be an issue with Sona (maybe sending the wrong field when asked to send survey_code ?).
They think a user-entered field may overwrite the expInfo[‘participant’] variable. The way I have my experiment setup is to take two entries in the beginning: participant and age. When they click on the link from Sona, the participant variable gets defined using a unique 6 digit ID (which replaces %SURVEY_CODE%): https://run.pavlovia.org/lfrank/irisv2/html?participant=%SURVEY_CODE%. When they click on the link, they see a dialogue box to enter their age.
Is it possible the entry for age is somehow interfering with how the participant variable gets defined? I find this unlikely since no one should be putting their name for the age entry, and I haven’t had any instances where data files are saving with an age as the participant ID. Still, perhaps this is somehow messing with the participant entry in another way? They asked me to check my PsychoJS code to see if ‘participant’ is getting redefined or overwritten, but it doesn’t seem to be the case either. You can find my PsychoJS code here: https://gitlab.pavlovia.org/lfrank/irisv2/blob/master/html/irisv2.js.
If I don’t find anything suspicious in my code, they suggested I reach out to Pavlovia to see if they are able to check their log files using the participant’s IP address and the timestamp from when they clicked on the link to confirm that the user-entry fields are interfering with how the data files save.
Or if the final part of the url got deleted (so no participant info was sent) then they would see a participant box. Then I suppose they might be tempted to type in their name. Hoe were the URLs sent to participants? Were they logging in and clicking a link from Sona or did you email them out?
What I was trying to get at was whether your participants are literally clicking on the link from Sona (in which case it’s hard to see how the number was deleted) or whether they were being sent an email requiring them copy/paste the link over. If it’s the latter then the participant themselves might not have copied it all over and then. If the participant field is there in the URL then I’m really confident PsychoJS is correctly using that and won’t show them the participant field.
How often has this occurred? Looking in your data folder I can’t see any entries there where the name has appeared but I can see a lot of correct ID numbers.
I’m afraid I’m stumped. My best guess is still that the participants did something odd. Sorry to pass the buck! Maybe they copied to a different browser or something and didn’t copy the entire URL. If the participant field is there in the URL then I’m certain it would have been used by PsychoJS and, if that contained the ID, then I’m certain PsychoJS would store that ID. This part of the system is being routinely used by thousands of scientists and participants and I believe it’s rock solid or we’d be seeing a lot of rage!
Sorry that I don’t have any better answers for you. Unfortunately Pavlovia can only know what gets sent back at the end of the study though - it can’t check what participants did to get to that point.