| Reference | Downloads | Github

Carrying Participant ID from Qualtrics, to Pavlovia, and back to Qualtrics

I do use Sona (in theory – at least I help colleagues use it). You certainly should be able to use the link that you would send from Qualtrics to Sona as the redirect URL in Pavlovia instead,

As far as I remember, participants have to click OK after they leave the experiment to save the data and the redirect follows that.

Since you said var=1 in your example, I assumed you had an embedded variable called var. So your URL actually contains fin=1?

When they come back to Qualtrics they are going to be at the beginning again, not at the point they left (I think).

Best wishes,


Oh sorry, I thought you used something else. I think I’m going to try the Sona link and see if that works.

Yes, “var” is really “fin” in my code. I said “var” at first to make it simpler in the post, but then I showed you my steps and didn’t really think about the fact that it didn’t match up.

Is there a way to have participants come back to the point they left at on Qualtrics?

You could have the Pavlovia link open in a new tab and display some code at the end which you have to enter into Qualtrics to continue. However, you can’t have it all happen in the same tab and have a single Qualtrics session. I therefore tend to use two Qualtrics surveys, one for pre experiment and one for post.

Oh okay that makes sense!

If I do make two separate pre- and post-experiment surveys, would the same participant id from the pre-experiment Qualtrics be carried to the post-experiment Qualtrics?

You need to save the ResponseID from the meta data in the first Qualtrics, send it to Pavlovia as, say, id or participant, then pick it up in the second Qualtrics as an embedded variable.

I have found that if you use your plain qualtrics survey link as the completed URL link, Qualtrics will remember where participants clicked the Pavlovia Url and return them there, as long the survey options have save and continue selected (this is under the survey experience tab in options). If you put any variables in the completed Pavlovia URL (like ?participant=expInfo[‘participant’], qualtrics is not able to remember where participants left off.

1 Like

I normally use two surveys if I need the participant to go back to Qualtrics. The problem with using a single survey, as you’ve highlighted, is that there’s no way to tell Qualtrics whether the participant has actually done your experiment. You could get around this by ending the experiment on some information that the participant is then prompted to enter manually back in Qualtrics.


I am having an issue with carrying the participant ID from Pavlovia to the second Qualtrics survey. Sona → Qualtrics ->Pavlovia works perfectly. I define the Completed URL in Psychopy as : $“”+expInfo[‘participant’].

However, rather than taking the actual value of ‘participant’ from expInfo (which does register correctly in the Pavlovia data filename) +expInfo[‘participant’] is instead being read as ${e://Field/id}. In the js script, this is being implemeted as follows:
// add info from the URL:
psychoJS.setRedirectUrls(‘${e://Field/id}’, ‘’)

The resulting URL for my second Qualtrics survey ends up being:${e://Field/id}

$${e://Field/id} is what is how participant ID is being carried to Pavlovia from my first Qualtrics survey: rl [PsychoPy]. This works fine for collecting the data but, of course, no participant ID is recorded.
How can I resolve this issue? One thing I had considered is manually changing the JS file to something like: psychoJS.setRedirectUrls(‘[‘participant’]’, ‘’).

Thank you!

Perhaps this demo could help. It’s a general “chaining” tutorial (with a concrete example for Prolific). Why it could be useful is because it logs parameters that come in and parameters that come out, so you can getter a better grasp of what’s being sent and received. Thomas Pronk / demo_chaining · GitLab

Also, a general note for future posters; please post your questions as separate topics (though feel free to link to this one for reference). Since this topic is already marked as solved, it might not attract the attention of helpful forum members.

1 Like


I apologize for opening up this thread again because I have a similar situation going on where I’m trying to link Qualtrics to Pavlovia and back to Qualtrics. I was able to link Qualtrics to Pavlovia successfully and was also able to get the ID recorded in Pavlovia. Afterwards, Pavlovia was able to link me to the correct second Qualtrics survey. However, after I finished the second Qualtrics survey, I looked in the data analysis tab and noticed that the ID wasn’t recorded. Instead, they were random numbers generated by the anonymous links. In case anyone’s wondering, the ID comes from the contact book under the name “RecipientLastName”. I did embed the “RecipientLastName” in the second Qualtrics survey but the ID still wasn’t recorded. I’ve attached some images to show what I have done so far.