# Participant ID from Prolific to Qualtrics to Pavlovia to Qualtrics

**URL:** <https://discourse.psychopy.org/t/participant-id-from-prolific-to-qualtrics-to-pavlovia-to-qualtrics/31059>\
**Category:** Online experiments\
**Tags:** pavlovia\
**Created:** [September 23, 2022, 12:14pm UTC](https://discourse.psychopy.org/t/participant-id-from-prolific-to-qualtrics-to-pavlovia-to-qualtrics/31059 "2022-09-23T12:14:53Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![ymurzello](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/ymurzello/32/34379_2.png) [@ymurzello](https://discourse.psychopy.org/u/ymurzello)\
**Post date:** [September 23, 2022, 12:14pm UTC](https://discourse.psychopy.org/t/participant-id-from-prolific-to-qualtrics-to-pavlovia-to-qualtrics/31059/1 "2022-09-23T12:14:53Z")

</div>

URL of experiment: [low wm [PsychoPy]](https://run.pavlovia.org/ym25/low-wm/)

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:

 ![image](https://us1.discourse-cdn.com/flex002/uploads/psychopy/original/3X/9/b/9b9d6ed3385108c8378c156b3ec97514bfb32007.png)

I would like this ID to once again automatically populate in the ‘participant’ field of the psychopy/pavlovia task that they do:  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/psychopy/original/3X/b/8/b86d02145ade518287df7a4847a857c54ea8137b.png)

I have used the following custom redirect URL to go to Pavlovia from Qualtricvs: [low wm [PsychoPy]](https://run.pavlovia.org/ym25/low-wm?participant=%24%7Be://Field/PROLIFIC_PID%7D) and added this embedded value in the URL so it appears at the top like this:

 ![image](https://us1.discourse-cdn.com/flex002/uploads/psychopy/original/3X/9/d/9da1812b0355e1c6fea366e0ed575e392415c15b.png)

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

---

<div class="post-metadata">

**Author:** ![ajus](https://avatars.discourse-cdn.com/v4/letter/a/dc4da7/32.png) [@ajus](https://discourse.psychopy.org/u/ajus)\
**Post date:** [September 23, 2022, 2:21pm UTC](https://discourse.psychopy.org/t/participant-id-from-prolific-to-qualtrics-to-pavlovia-to-qualtrics/31059/2 "2022-09-23T14:21:54Z")

</div>

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…

---

<div class="post-metadata">

**Author:** ![ymurzello](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/ymurzello/32/34379_2.png) [@ymurzello](https://discourse.psychopy.org/u/ymurzello)\
**Post date:** [September 23, 2022, 3:27pm UTC](https://discourse.psychopy.org/t/participant-id-from-prolific-to-qualtrics-to-pavlovia-to-qualtrics/31059/3 "2022-09-23T15:27:01Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![ajus](https://avatars.discourse-cdn.com/v4/letter/a/dc4da7/32.png) [@ajus](https://discourse.psychopy.org/u/ajus)\
**Post date:** [September 23, 2022, 4:00pm UTC](https://discourse.psychopy.org/t/participant-id-from-prolific-to-qualtrics-to-pavlovia-to-qualtrics/31059/4 "2022-09-23T16:00:47Z")

</div>

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 😃

---

<div class="post-metadata">

**Author:** ![wakecarter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/wakecarter/32/5753_2.png) [@wakecarter](https://discourse.psychopy.org/u/wakecarter)\
**Post date:** [September 25, 2022, 11:59pm UTC](https://discourse.psychopy.org/t/participant-id-from-prolific-to-qualtrics-to-pavlovia-to-qualtrics/31059/5 "2022-09-25T23:59:57Z")

</div>

> [@ymurzello](#):
>
> 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.

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

---

<div class="post-metadata">

**Author:** ![ymurzello](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/ymurzello/32/34379_2.png) [@ymurzello](https://discourse.psychopy.org/u/ymurzello)\
**Post date:** [September 26, 2022, 11:21pm UTC](https://discourse.psychopy.org/t/participant-id-from-prolific-to-qualtrics-to-pavlovia-to-qualtrics/31059/6 "2022-09-26T23:21:42Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![ymurzello](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/ymurzello/32/34379_2.png) [@ymurzello](https://discourse.psychopy.org/u/ymurzello)\
**Post date:** [October 23, 2022, 2:47pm UTC](https://discourse.psychopy.org/t/participant-id-from-prolific-to-qualtrics-to-pavlovia-to-qualtrics/31059/7 "2022-10-23T14:47:12Z")

</div>

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](https://discourse.psychopy.org/uploads/short-url/sw1pa4BWjvGmsJCMyGHn7TFTczf.csv) (2.8 KB)

Thanks

---

<div class="post-metadata">

**Author:** ![wakecarter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/wakecarter/32/5753_2.png) [@wakecarter](https://discourse.psychopy.org/u/wakecarter)\
**Post date:** [October 23, 2022, 3:15pm UTC](https://discourse.psychopy.org/t/participant-id-from-prolific-to-qualtrics-to-pavlovia-to-qualtrics/31059/8 "2022-10-23T15:15:03Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![ymurzello](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/ymurzello/32/34379_2.png) [@ymurzello](https://discourse.psychopy.org/u/ymurzello)\
**Post date:** [October 23, 2022, 3:22pm UTC](https://discourse.psychopy.org/t/participant-id-from-prolific-to-qualtrics-to-pavlovia-to-qualtrics/31059/9 "2022-10-23T15:22:46Z")

</div>

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

 ![image](https://us1.discourse-cdn.com/flex002/uploads/psychopy/original/3X/b/f/bfa1e19325a5f685e7e8a958e1859a706f87b9a6.png)

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.

---

<div class="post-metadata">

**Author:** ![wakecarter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/wakecarter/32/5753_2.png) [@wakecarter](https://discourse.psychopy.org/u/wakecarter)\
**Post date:** [October 23, 2022, 3:47pm UTC](https://discourse.psychopy.org/t/participant-id-from-prolific-to-qualtrics-to-pavlovia-to-qualtrics/31059/10 "2022-10-23T15:47:17Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![ymurzello](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/ymurzello/32/34379_2.png) [@ymurzello](https://discourse.psychopy.org/u/ymurzello)\
**Post date:** [October 23, 2022, 9:40pm UTC](https://discourse.psychopy.org/t/participant-id-from-prolific-to-qualtrics-to-pavlovia-to-qualtrics/31059/11 "2022-10-23T21:40:28Z")

</div>

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](https://discourse.psychopy.org/uploads/short-url/uGmSNDcrFef06XVrk0Y4cfPxffr.csv) (2.3 KB)  
Could you please guide me with setting that up?  
Thanks

---

<div class="post-metadata">

**Author:** ![wakecarter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/wakecarter/32/5753_2.png) [@wakecarter](https://discourse.psychopy.org/u/wakecarter)\
**Post date:** [October 23, 2022, 9:47pm UTC](https://discourse.psychopy.org/t/participant-id-from-prolific-to-qualtrics-to-pavlovia-to-qualtrics/31059/12 "2022-10-23T21:47:36Z")

</div>

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:

> [@Participant info not saved on filename.csv](https://discourse.psychopy.org/t/participant-info-not-saved-on-filename-csv/30029):
>
> Hi, This has been asked [before](https://discourse.psychopy.org/t/participant-id-saved-in-name-gz-file-not-in-name-csv-file/28573) but there was no solution offered and I just came across the same issue myself (2022.2.1). The issue is that the value of the variable participant is not saved when this is set in the link. It is saved in the data file as separate column but not in the filename itself. Also, if in the settings → experiment info dialogue I leave the field for the participant as is i.e. f"{randint(0, 999999):06.0f}", then this will appear in the filename regardless what I set as t…

---

<div class="post-metadata">

**Author:** ![ymurzello](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/ymurzello/32/34379_2.png) [@ymurzello](https://discourse.psychopy.org/u/ymurzello)\
**Post date:** [October 23, 2022, 9:57pm UTC](https://discourse.psychopy.org/t/participant-id-from-prolific-to-qualtrics-to-pavlovia-to-qualtrics/31059/13 "2022-10-23T21:57:06Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![wakecarter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/wakecarter/32/5753_2.png) [@wakecarter](https://discourse.psychopy.org/u/wakecarter)\
**Post date:** [October 23, 2022, 9:59pm UTC](https://discourse.psychopy.org/t/participant-id-from-prolific-to-qualtrics-to-pavlovia-to-qualtrics/31059/14 "2022-10-23T21:59:34Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![ymurzello](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/ymurzello/32/34379_2.png) [@ymurzello](https://discourse.psychopy.org/u/ymurzello)\
**Post date:** [October 23, 2022, 10:02pm UTC](https://discourse.psychopy.org/t/participant-id-from-prolific-to-qualtrics-to-pavlovia-to-qualtrics/31059/15 "2022-10-23T22:02:14Z")

</div>

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}](https://run.pavlovia.org/ym25/low-wm/? __pilotToken=b6d767d2f8ed5d21a44b0e5886680cb9&__ oauthToken=c82137a35b1b11622aaa3387832e6c95408c2b9cd673b6a272237df6801367fd?participant=%24%7Be://Field/PROLIFIC_PID%7D)  
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.

---

<div class="post-metadata">

**Author:** ![wakecarter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/wakecarter/32/5753_2.png) [@wakecarter](https://discourse.psychopy.org/u/wakecarter)\
**Post date:** [October 23, 2022, 10:12pm UTC](https://discourse.psychopy.org/t/participant-id-from-prolific-to-qualtrics-to-pavlovia-to-qualtrics/31059/16 "2022-10-23T22:12:03Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![ymurzello](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/ymurzello/32/34379_2.png) [@ymurzello](https://discourse.psychopy.org/u/ymurzello)\
**Post date:** [October 24, 2022, 4:20am UTC](https://discourse.psychopy.org/t/participant-id-from-prolific-to-qualtrics-to-pavlovia-to-qualtrics/31059/17 "2022-10-24T04:20:41Z")

</div>

Got it. So now the participant ID does appear in the ‘participant’ column but it still doesn’t show in the filename 😕  
[\_low wm\_2022-10-24\_24h17.10.097.csv](https://discourse.psychopy.org/uploads/short-url/z2kZz2GWpJgsFjPlC5Ot7QKigeu.csv) (2.8 KB)

---

<div class="post-metadata">

**Author:** ![wakecarter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/wakecarter/32/5753_2.png) [@wakecarter](https://discourse.psychopy.org/u/wakecarter)\
**Post date:** [October 24, 2022, 12:45pm UTC](https://discourse.psychopy.org/t/participant-id-from-prolific-to-qualtrics-to-pavlovia-to-qualtrics/31059/18 "2022-10-24T12:45:47Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![wakecarter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/wakecarter/32/5753_2.png) [@wakecarter](https://discourse.psychopy.org/u/wakecarter)\
**Post date:** [October 24, 2022, 12:50pm UTC](https://discourse.psychopy.org/t/participant-id-from-prolific-to-qualtrics-to-pavlovia-to-qualtrics/31059/19 "2022-10-24T12:50:39Z")

</div>

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

```auto
util.addInfoFromUrl(expInfo);

```

> [@Participant info not saved on filename.csv](https://discourse.psychopy.org/t/participant-info-not-saved-on-filename-csv/30029/13):
>
> You might be able to add a Javascript-only code component as a workaround for this issue. In the Before Experiment section of the code component you can add: util.addInfoFromUrl(expInfo); and this seems to force the URL parameters to be read before the participant file is created. I briefly tested this in a minimal example in Version 2022.2.4, but have not tried it in a full experiment yet. Credit to @young1 for [first proposing the workaround](https://discourse.psychopy.org/t/participant-id-not-saving-in-data-file-name/30623/9). -shabkr

---

<div class="post-metadata">

**Author:** ![shabkr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/shabkr/32/32052_2.png) [@shabkr](https://discourse.psychopy.org/u/shabkr)\
**Post date:** [October 24, 2022, 2:07pm UTC](https://discourse.psychopy.org/t/participant-id-from-prolific-to-qualtrics-to-pavlovia-to-qualtrics/31059/20 "2022-10-24T14:07:33Z")

</div>

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.

[Next page](https://discourse.psychopy.org/t/participant-id-from-prolific-to-qualtrics-to-pavlovia-to-qualtrics/31059.md?page=2)
