psychopy.org | Reference | Downloads | Github

Getting Prolific IDs through to the data csv file

So I am looking to use Wakefield Morys-Carter’s app for passing the Prolific IDs through my experiment on Pavlovia.

I have been reading other questions about this in the forum but I’m still not exactly sure how it works so I just wanted to check.

If my experiment URL is: https://run.pavlovia.org/Lucy23/spatial_localisation/html

Would I be right in saying that I send participants to a link that looks like this:

https://moryscarter.com/vespr/pavlovia.php?domain=run.pavlovia.org&folder=Lucy23/spatial_localisation/html/a&prolificID={{%PROLIFIC_PID%}}&studyID={{%STUDY_ID%}}&sessionID={{%SESSION_ID%}}

Then in my experiment settings (see screen shot) I added variables with the same name as those that I used in the link (OR do I need to create python/JS variables). Does the app then add these to the data output file?

That’s correct, though I got some additions that might be handy:

  • The link with this {{%STUFF%}} in them is for entry into the Prolific system. It will automatically replace placeholder like {{%PROLIFIC_PID%}} with the current participant ID.
  • You’ve set up the Experiment Info box correctly, though those placeholders you’ve specified as default values don’t have any meaning to Pavlovia. This means that if, for some strange reason, a value isn’t received from Prolific via the URL, you’ll get the value {{%STUFF%}} in your data.
  • This demo serves as a step-by-step guide and a testing environment: Thomas Pronk / demo_chaining · GitLab
1 Like

That’s a great explanation thank you, I will look into the demo chaining

1 Like

I’ve been looking through the demo chaining and I’m still a little confused. When you say current participant ID do you mean the ID that hopefully gets passed through Prolific?

Is there a better way storing the Prolific ID so that is meaningful to Pavlovia- I imagine there might not be based on the advice you give in the demo chaining, this is the best way to pass the Prolific ID through.

I initially tried this before posting and it didn’t work properly (it printed {{%PROLIFIC_PID%}} in my participant column):

I was really trying to wrap my head around how it works today but I’m still not sure.

In the demo, particpant_id is the Prolific participant UD. Imagine a participant with Prolific ID 123. If you’ve set up Prolific with something like this: epic_id={{%PROLIFIC_PID%}}, then Pavlovia receives an expInfo variable named epic_id with value 123

How would you like to make this ID more meaningful to Pavlovia?

That does make sense now actually.

I think in terms of making it meaningful to Pavlovia I was thinking as you said with the “STUFF” example that I just want to make sure the variable being printed out does relate to the information I want from Prolific (i.e. the ID that needs to travel from Prolific to Pavlovia). I was wanting to make sure that I did it in the best way possible as it didn’t work last time but I feel more confident from reading your help and the demo. Thanks again.

1 Like

Happy to read it helped you sort it out!