SONA saving student names as Participant ID instead of randomized iD

URL of experiment:
https://run.pavlovia.org/lfrank/irisv2/html

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?

What study URL are you giving Sona?

I think @Tuongvan has just experienced this too.

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.

The link below is what should be provided to participants. When they click the link, it should populate the survey code with the sona-generated ID.

https://run.pavlovia.org/lfrank/irisv2/html?participant=%SURVEY_CODE%

@Tuongvan We might have a similar issue- when it uses the participant name instead of the 6-digit sona ID, it doesn’t grant them credit.

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 ?).

1 Like

That’s what I thought too. But of course Sona-Systems is saying it’s an error with Pavlovia…

I had Sona look up an instance where the student name saved as the participant ID. The link generated by Sona seemed to correctly replace the survey code with their unique 6 digit ID:

https://urldefense.com/v3/https://run.pavlovia.org/lfrank/irisv2/html?participant=158956;!!C5qS4YX3!UR-w6c44cD8wRR2A7qI2jyGZ5OTDrx2B5xKKqdUR0pDHytBKLR8dvePok0iJEHWR$

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.

It would, of course, be entirely possible for the participant to edit the URL to replace their participant number with a name if they were so inclined.

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?

1 Like

When they sign-up on Sona, it creates a link for them and inputs their unique 6 digit ID at the end (e.g., https://run.pavlovia.org/lfrank/irisv2/html?participant=123456). It could be that the last bit is getting deleted, but the link that Sona sent me for one of the participants whose name saved seemed to look correct: https://urldefense.com/v3/ https://run.pavlovia.org/lfrank/irisv2/html?participant=158956 ;!!C5qS4YX3!UR-w6c44cD8wRR2A7qI2jyGZ5OTDrx2B5xKKqdUR0pDHytBKLR8dvePok0iJEHWR$

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.

They’re clicking on the link directly from Sona. It happened about 8 times- I had to edit the file names since their identity can’t be linked with the data.

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.