Participant ID from Prolific to Qualtrics to Pavlovia to Qualtrics

URL of experiment: low wm [PsychoPy]

Description of the problem: I am recruiting my participants from Prolific and directing them to study the study with a Qualtrics survey. After the consent, I have a text box which populates their Prolific ID as an embedded value ‘PROLIFIC_PID’ that I setup in Survey and Flow:

I would like this ID to once again automatically populate in the ‘participant’ field of the psychopy/pavlovia task that they do:
image

I have used the following custom redirect URL to go to Pavlovia from Qualtricvs: low wm [PsychoPy] and added this embedded value in the URL so it appears at the top like this:

How do I make it appear in the participant field which is now missing at the start page of Pavlovia?
Thanks!

Hi @ymurzello, values that are given to pavlovia via URL parameters are automatically hidden in the start-up info. That’s useful behavior because you would not want participants to change those variables. They are still saved in expInfo though, in case you are not aware of this! Why do you want to show participants their ID? Prolific provides you with the correct ID and it should not change across all redirections of your experiment…

Hello @ajus ,

Thanks for your reply
I actually did not realise that was a useful behavior.

  1. Would my csv file use this participant ID in the filename and data?
  2. Is it possible to pass this ID to another Qualtrics page that has the debrief/thank you?
  3. (Not sure if you can help with this one) when I preview the survey directly from Qualtrics and enter in my own participant ID, it doesn’t show up in the Pavlovia URL. Is it because it’s actually set to populate from Prolific? When previewing through Prolific, it populates as shown in my screenshot.

Thanks a lot

  1. Yes, absolutely. The participant variable is treated as if it was written in the start-up dialog. So everything still works the same.
  2. Yes. You can go to the experiment settings → online → completed URL and enter a brief code that adds the ID to the URL of your qualtrics page like $'url/?participant=' + expInfo['participant'], where url is the URL of your Qualtrics page. I don’t work with Qualtrics so you need to research before, in which format Qualtrics is able to receive URL parameters. But maybe you already know that from the Prolific → Qualtrics redirection
  3. Since I don’t work with Qualtrics I don’t know the intricacies of programming a survey there. But to troubleshoot this, you could preview it via Prolific, then change the ID that is displayed in Qualtrics and see, if the ID sent to pavlovia is the original one or the changed one. Then, you would at least know if what you enter in this field does anything at all. To be honest, I wouldn’t even give participants an opportunity to change the ID. All that can do is cause trouble :smiley:
2 Likes

How are you forming your URL to send the participants to Pavlovia?

Hi

I use the following Customize link in the Survey and Flow: https://run.pavlovia.org/ym25/low-wm?participant=${e://Field/PROLIFIC_PID}

Does this esure that the participant ID is carried over from Qualtrics to Pavlovia?

Hi @wakecarter

I can see the participant ID appearing in the ‘participant’ column in my data output, but would it also be possible to have it show in the filename too? I would like the actual ID ‘62d02eea7e03a717bfda7f35’ to show in the filename instead of ‘474144’ which seems to be randomly generated.

474144_low_wm_2022-10-21_08h54.06.775.csv (2.8 KB)

Thanks

In that case you’d need to send the “actual ID” as participant and the PROLIFIC_PID as session or id.

so I would need to change the value in Default of my experiment properties?

This is what I currently have as my Data filename: u'data/%s_%s_%s' % (expInfo['participant'], expName, expInfo['date'])

The PROLIFIC_PID is my actual participant ID.

Yes, delete that assignment of a random number to participant which is overwriting your Prolific ID

I deleted it but it still doesn’t show the Prolific ID in the first part of the filename
_low wm_2022-10-23_17h37.04.315.csv (2.3 KB)
Could you please guide me with setting that up?
Thanks

That one has nothing as participant in the data file. Did you delete participant from the dialogue box completely? You still need the field called participant, but with not default.

If you arrive from Prolific, you should get the PID as the participant value. If you start at Pavlovia, you should be prompted to enter an id.

I think there is at least one version of PsychoPy with a bug relating to this. What version are you using? Possibly there is still an issue:

I’m using v2022.2.1
I also did a run through of the experiment through the Piloting mode - does this result in the Prolific participant ID not being carried over from Qualtrics to Pavlovia? The previous data output was from the Run mode.

While piloting you could set a value as an embedded variable in Qualtrics to test.

Yes, I do have an ID from Prolific in my participant field on Qualtrics. This is the Redirect URL that I am using when piloting: https://run.pavlovia.org/ym25/low-wm/?__pilotToken=b6d767d2f8ed5d21a44b0e5886680cb9&__oauthToken=c82137a35b1b11622aaa3387832e6c95408c2b9cd673b6a272237df6801367fd?participant=${e://Field/PROLIFIC_PID}
I am aware that I will have to change it each time its used, but I thought I could test out the participant field without using up a credit through the Run mode.

For that URL to work you need to have &participant= not ?participant= because you already have a ? earlier in the URL

Got it. So now the participant ID does appear in the ‘participant’ column but it still doesn’t show in the filename :confused:
_low wm_2022-10-24_24h17.10.097.csv (2.8 KB)

That’s useful information. It looks like there is a bug in all 2022.2.x versions which means that only the randomly set participant ID is used for the file name. You might be able to solve it by changing the version to 2022.1.4 in Experiment Settings / General.

I’ll make sure this extra detail is in our “to do” list.

You might also be able to solve the error by adding the following code to a Before Experiment JS code tab

util.addInfoFromUrl(expInfo);
1 Like

From what I can tell, this bug is present in all versions of 2022.x.x from 2022.1.0 to 2022.2.4. If you want to revert versions you need to go back to last year’s release (2021.2.3).

I submitted a bug fix for this issue, so the next release should have participant IDs in the file name as expected.