I hope you are well.
I am running an online experiment which starts on SONA. The participant is then directed to a consent form on Qualtrics. After this, they are directed to the experiment on Pavlovia. After the experiment ends, the participant is directed to a debrief form on Qualtrics. Then the participant information needs to be carried to SONA so that I can grant them credit.
I have been successfully been able to link SONA to the Qualtrics consent form and this form to Pavlovia following the exact steps from this document: Sona -> Qualtrics -> Pavlovia -> back - Google Docs
To link the Qualtrics consent form to Pavlovia, I have used the following code (to rename the SONA and Qualtrics id variable to participant so Pavlovia will recognize it as the participant’s ID and transfer it to Pavlovia):
I have also added a new embedded data element id for the participant’s id.
After the experiment ends on Pavlovia, I have added the following code in PsychoPy’s complete URL section:
This will rename the participant’s ID variable from ‘participant’ back to ‘id’ so SONA will be able to recognize it again
The Pavlovia experiment then transfers to the Qualtrics debrief form. I have linked the Qualtrics debrief form to the Qualtrics Redirect URL:
I have also added a new embedded data element id for the participant’s id to link the ‘id’ variable back to SONA.
My issue is this: everything runs smoothly- from SONA to Qualtrics consent form to Pavlovia to Qualtrics debrief form. However, once the participant submits the debrief form, they are transfered to the login page for SONA where the error message reads, ‘invalid survey code’. I do not believe that this information is carried back to SONA in the end.
The data is recorded in Qualtrics (both consent and debrief forms) and Pavlovia. I can see that the same id (e.g., 1234) has been carried over till the debrief form. However, I am unsure as to how to link everything back to SONA at the end so that I know whom to allocate the credits to.
I have already consulted the following pages but cannot locate the error in my code:
Any help would be much appreciated.