Millisecond Forums

How to link an Inquisit web experiment with an externally created survey

https://forums.millisecond.com/Topic1764.aspx

By Sibylle - 8/4/2008

Dear all,


in a web experiment, I would like to link an IAT experiment with an externally created survey (Unipark). I would like to start with the external survey, link it to the Inquisit web experiment and back to the external survey in a way that I can still identify and combine the responses a single participant gave in these three parts of the experiment. I have not bought a web license yet, because such a license would be only of use for us, if this combination would be possible. [:)]


I cannot use the demographic survey option of Inquisit, because I need very special item formats. Thank you very much for your help! Have a great day,


Sibylle


By Dave - 8/5/2008

Hi Sibylle,

as far as I know both Unipark and Inquist (Web Edition) allow redirecting / forwarding to other sites after finishing. So, linking the three parts of your experiment should not be a big problem. In order to match the data from these three parts, you have several options: You'd probably be able to match the data solely using timestamps and IP addresses recorded by Unipark and Inquisit. But to make things easier, I'd simply have participants fill out a unique yet anonymous code (for example based some letters from their mother's first name, their month of birth, starting letter of their place of residence or the like) at the beginning of each part. You could then match the data based on this code. Participants might be a bit aggravated because of having to enter their code three times, but I think they'll forgive you... ;-)

Best,
~Dave

By seandr - 8/5/2008

Hi Sibylle,


Great question, and I'm glad you asked it here since I don't think I've posted any public info on this yet, though I've addressed it dozens of times over email and phone. Using Inquisit with survey packages is quite common, and we've put some features in place to make the transition back and forth between packages as smooth as possible.


Most/all survey packages allow you to forward participants to another web site after they've completed part or all of the survey. You need only forward them to your Inquisit launch page to start the Inquisit portion of the study.


Inquisit similarly allows you to specify a "Finish Page", where it will redirect participants after they've completed the Inquisit part of the experiment. Here you would specify the url to the Unipark page where you want participants to go next.


Now the question is, how do you correlate the data from the survey with the Inquisit reaction time data? And, if you are sending participants back to the survey web site after the Inquisit part, how does the site know which participant this is? The answer is to create a unique subject id for each participant, and share it between Inquisit and the survey so that both record it in the data file.


The way to do this is to have participants start in the survey, most/all of which will generate some sort of unique subject id. When this part is finished, the survey package will forward them to the Inquisit launch page url, and it will append the subject id (and sometimes some other data) to the url as query parameters. For the example, the forwarding url to the Inquisit page might look like the following:


http://research.millisecond.com/sniffles/myexperiment.web?subjectnumber=134&condition=3


The url contains two parameters named "subjectnumber" and "condition", the values of which are dynamically set by the survey package for each participant (to 134 and 3 in this example). The subjectnumber parameter is a unique id, and condition is some other data used by the survey package to track state. We want to make sure that a) Inquisit records this subject number in the data, and b) Inquisit forwards both parameters back to the survey web site when finished so the site knows which subject has arrived and can pick up where it left off.


To use the subjectnumber, just run through the webscript registraion wizard. When asked how to generate subject ids, select the "Query Parameter" option and specify the name of the parameter (in this case, the name is "subjectnumber"). That's it, Inquisit will now extract this subject number from the url and record it in the data file.


When the Inquisit is finished, it will automatically append all of these query parameters to the Finish Page url so that the values are passed back to the survey package. Continuing with the example above, if the finish page is:


http://www.surveysrus.com/coolsurvey/part2.html


Inquisit will append the parameters onto it so the actual forwarding url is


http://www.surveysrus.com/coolsurvey/part2.html?subjectnumber=134&condition=3


Now the survey package can extract these values and pick up where it left off with this participant.


You can specify the finish page using the webscript registration wizard as well. Importantly, you should just specify the base url here without the query parameters! Inquisit will dynamically append the parameters onto the base url for you.


I've probably included more technical details here than many care about, but some of this information may be useful when communicating with technical support staff of whatever survey package you are using.


Let me know if you have remaining questions.


-Sean

By Sibylle - 8/5/2008

Thank you for your great (and fast) help!!!


[:D]


Sibylle

By Dave - 8/5/2008

Very interesting and helpful information indeed. Thanks, Sean! Adding this to the Inquisit help file as a new topic wouldn't hurt, I guess. It might even save you some long-distance phone calls...;-)

Best,
~Dave
By Sibylle - 8/12/2008

Dear Sean

Dear David

Thank you again for your help with linking Unipark and Inquisit. I managed to link both parts of my survey, however, trying to start the Inquisit Experiment (using Mozilla Firefox as Browser) I get the error message: Inquisit was unable to contact the server to verify this script is licensed.Select OK to run the script anyway. Inquisit will not record the data".

Could you give me a hint, what I do wrong? This would be great. Thank you and have a great day,

Sibylle


By Dave - 8/12/2008

Dear Sibylle,

in this case, Sean will be the one who can really help you. As you know, he's the mastermind behind Inquisit while I'm nothing more than a regular and somewhat experienced user of the software. All I can do right now, is tell you what the error message means and give you some hints as to what could be the reasons for the error.

Inquisit Web Edition relies on online license authentication each time a web experiment is run. Once a subject starts the experiment in his browser, the Inquisit web engine tries to contact the Millisecond server and check whether said script is registered with a valid account. If this turns out to be successful, the script will run and collect data. If, however, the communication with the server fails, you will get an error message indicating that the Inquisit web engine could not validate the script and hence will not record data.

There are many reasons why the communication between the client (trying to run the script) and the server may have failed. Here are a few things to check out:
 
- Make sure your script is properly registerd with the Millisecond server (i.e. log in with your account data and check all the settings). You might also try to re-register it in the web interface. If there's something wrong with the acivation of your Inquisit Web account, you'll have to wait for Sean to chime in.

- It might also be that the communication failure is due to some specific client configuration (e.g. a firewall running on the computer blocking the web engine from establishing communication with the Millisecond server). You could post the link for your web experiment here and ask other users to try out and see if they get the same error when they try to run the experiment from their computers.

Hope this helps,
~Dave
By Sibylle - 8/13/2008

Dear Dave


thank you for your email! Re-registering helped with some problems, however, not with all. Some Participants can now open the experiment. Some cannot. This could be a firewall problem. It was a very helpful suggestion from Sean to use the 3.0.3.0 version of Inquisit web!


It is a great idea to post the link here, however, the experiment is in German....


In a few days, I will post my experiences with my German sample here in two or three sentences and a little bit about how I solved to link the Unipark survey software with the Inquisit web experiment. Maybe this is interesting for other users too?


Have a great day and thank you for your help,[*]


Sibylle

By Dave - 8/13/2008

Dear Sibylle,

I'm glad to hear that a solution is underway. Please do report on your experiences here - I'd be very interested in this information.

Best wishes,
~Dave
By Dave - 8/31/2008

Dear Sibylle,

I'd still be very interested in your experiences and pitfalls you might have encountered. It would be very nice if you could write up a short summary whenever you find the time.

Cheers,
~Dave
By greg - 9/16/2008

i got another question concerning this topic


let's say. i got an entrance-link for my inquisit web experiment which looks like this


www.youropinion.com/?subject=121&condition=4


after finishing the experiment, we have to pass back these parameters and in addition some more parameters: one for "completed"


so at the end. we would like to redirect to an url like this


www.marketresearch.com/?subject=121&condition=4&c=1&f=2


c=1 means: completed / f=2 is another parameter


is it possible to add thise parameters (&c=1&f=2) at the end of an experiment?


greg

By Dave - 9/17/2008

Greg,

I really don't know if Inquisit Web edition is able to append extra / custom query strings. We'll have to wait for Sean to jump in on this. Intuitively, I'd try to append the extra parameters using a customized finish page with some javascript. Are the additional parameters static or do they have to be changed dynamically?

Best,
~Dave
By seandr - 9/17/2008

Greg,


Dave's intuition is correct - just specify the additional query parameters as part of the Finish Page url and they will be included along with any incoming parameters on the original launch page. For example, if your launch page is the following:


http://research.millisecond.com/seandr/PictureIAT/PictureIAT.web?subject=121&condition=4


and you specify a finish page as


http://www.marketresearch.com?c=1&f=2


They will be redirected to


http://www.marketresearch.com?subject=121&condition=4&c=1&f=2


-Sean

By greg - 9/17/2008

my additional parameters are static.


thanks a lot!


By greg - 9/17/2008

if a problem is solved, the next one appears ;-)


if a person quits the survey [alt-F4] he/she will be nevertheless forwarded to the finish page and gets the completed parameter although he/she has not finished the survey.


for this reason, it would be nice to have the opportunity to redirect the probands to two different finish pages. one for the complets, they get &c=1 and another one for the droped out, they dont geht the &c=1


any ideas how to realize this setup?


thanks


greg


By Dave - 9/17/2008

Dave's intuition is correct - just specify the additional query parameters as part of the Finish Page url and they will be included along with any incoming parameters on the original launch page.



Wow, that's actually much easier than I thought it would be - cool feature, Sean!
By seandr - 9/22/2008

Greg,


If the person bails out of the experiment, it should not forward them to the Finish page. Is that what you are observing?


There really isn't any way to configure this - it should just work.


-Sean


By greg - 9/23/2008


If the person bails out of the experiment, it should not forward them to the Finish page. Is that what you are observing?



yes. exactly. they quit by pressing ALT-F4 and will be forwarded to the finish page.



There really isn't any way to configure this - it should just work.



unfortunately. it's not working here...


By seandr - 9/29/2008

This should now be fixed in 3.0.3.1. You can download the desktop version here:


http://www.millisecond.com/download/win/Inquisit_3031.exe


The web version is included in the list on the script registration wizard.


-Sean

By thomas - 5/24/2009

Hi all,

I have encountered a problem with regard to the use of query parameters.

My experiment is linked with Unipark. The procedure outlined by Sean - passing the ticket to Inquisit and redirecting it back to Unipark - generally works well, at least in 90% of the cases. Unfortunately, when I take a look into the dataset, 10% of my participants have subjectnumber = 1. From their IP-addresses I can see that they are all different users.

Apparently, the problem is the following: Some people have to download additional software in order to start the experiment. Having installed these applets, the start-page refreshes itself and thereby automatically changes the query parameter to "1".

My link has the general form:
http://research.millisecond.com/gesis/wahl.web?a=y&return_tic=z,
where a is the query parameter.

Is there any possibility to fix this problem? I would really appreciate your help.

Thomas
By seandr - 5/26/2009

Thomas,

Thanks for reporting both the problem and the circumstances in which it arises. I've fixed the bug in versions 3.0.3.2 and 3.0.4.0 of the launch page. Now when the participant hits the refresh link, the query parameters are no longer lost.

If you are using an older version of Inquisit, you can update to either of the fixed versions by clicking the Settings link by your script on the web registration page: http://www.millisecond.com/myaccount/webscripts.aspx

Let me know if you see any more issues.

Regards,
Sean




By thomas - 5/26/2009

Hello Sean,

thank you for your quick and helpful response.

Still, I am little confused, since I am currently using the 3.0.3.2 version, but the problem occured nevertheless. I will now try the 3.0.4.0 version, and will inform you in case of further troubles.

Best regards,
Thomas
By seandr - 5/27/2009

Thomas,

This happened after I posted the fix?

It's possible that when you browse to the launch page, Firefox is just loading it from the browser cache rather than downloading the new version. Try selecting Tools->Clear Private Data and checking the Cache checkbox.

Otherwise, there may be another way to reproduce this bug that I'm not aware of. Can you tell me what steps you took to test it out? My assumption was that you clicked the Refresh link when installing the Mozilla plugin - that should now be fixed.

-Sean

That could mean
By thomas - 5/31/2009

Hi Sean,

I am sorry, I misunderstood your posting. I thought the problem was already fixed in the 3.0.3.2 version at the time when I was running my experiment (since I was already using the 3.0.3.2 version). Now, everything looks good, and I am confident with regard to the second wave of data collection!

Thanks a lot!
Thomas
By toonkuppens - 7/9/2012

I have a question related to this topic. Can Inquisit web use information coming from an external survey (other than the subject number) to have participants skip questions or blocks?


For example, if the link from the external survey to Inquisit is http://research.millisecond.com/sniffles/myexperiment.web?subjectnumber=134&condition=3, can the variable 'condition' be used in Inquisit to present different blocks or questions to participants? In my case, participants with the value '1' on condition should skip a few blocks.


I have successfully linked my Unipark survey with the Inquisit web part (an IAT and some questions), but when I use "/ skip = [condition==1]" there is an error message: "Expression 'condition' is invalid. Expression contains an unknown element or property name."When I leave the skip statement out, everything works fine.


When running on the desktop this error of course makes sense because there is no 'condition' variable in the script, but I was hoping that in the web version Inquisit would recognize the 'condition' variable from the URL.


By Dave - 7/9/2012


I have a question related to this topic. Can Inquisit web use information coming from an external survey (other than the subject number) to have participants skip questions or blocks?


For example, if the link from the external survey to Inquisit is http://research.millisecond.com/sniffles/myexperiment.web?subjectnumber=134&condition=3, can the variable 'condition' be used in Inquisit to present different blocks or questions to participants? In my case, participants with the value '1' on condition should skip a few blocks.



No, that's not currently possible.

By toonkuppens - 7/10/2012

thanks for the fast reply!

By kuchara - 7/11/2012

Hi there,


I am a little bit confused -  if I use Inquisit for conducting internet survey can I use the <variables> option in
<expt>  for latin square selection (depending on participant's number)?


Best,


Kasia

By Dave - 7/11/2012

Yes, you can.

By kuchara - 7/11/2012

What a relief..[:)]  Thank you!


Kasia

By Dave - 7/11/2012

Here's a latin square of order three:


  1 2 3
1 a b c
2 b c a
3 c a b


To run three <block> or <survey> elements a,b,c in one of the respective orders based on subject number / using <expt> and <variables>:


<expt>
/ blocks = [1=one; 2=two=; 3=three]
[...]
</expt>

<variables>
/ group = (1 of 3) (one=a; two=b; three=c)
/ group = (2 of 3) (one=b; two=c; three=a)
/ group = (3 of 3) (one=c; two=a; three=b)
</variables>


<survey a>
[...]
</survey>

<survey b>
[...]
</survey>

<survey c>
[...]
</survey>


Regards,


~Dave

By kuchara - 7/11/2012

Thank you [:)] My selection scheme will be unfortunately more complicated so probably I will write to you again later, when I complete the script [;)]


Best greetings,


Kasia

By sheetsph - 8/22/2012

Hi all,


I'm encountering a similar problem, but mine is that the information queried from the survey firm link is a string, which takes the place of subjectID in my datafile.  It then enters everyone's subjectID as '1111111' or something like it.


So, is there a way (a) to allow the query to capture alpha or alphanumeric strings?  And (b) since I don't know how those strings are generated initially, is there a way to then randomly generate another subject number, so I can randomly assign participants to experimental conditions using the <expt> command?


Thanks for any suggestions -


Penny

By Dave - 8/22/2012

You can use alphanumeric ids as subject id (i.e. the query parameter supplied by the survey). Then you will not be able to make condition assignment based on subject id, of course (a numerical id would be required to do that). Thus you need to set /groupassignment to random. There currently is no other way to capture query parameters in the data file other than using it as subject id. It might be worth talking to the survey folks to find out if their app is able to provide unique numerical ids.


Regards,


~Dave

By socialpsych - 2/6/2013

Thanks to everyone who has posted in this thread, I've found it very helpful!


Does anyone know whether it is possible to use the 'additional query parameters' process to specify finish parameters based on values calculated DURING the experiment?


I'm planning to calculate some overall feedback for my participants at the end of their session (using this process: http://www.millisecond.com/forums/Topic7543.aspx), and if it's possible to output this overall feedback score for each participant as a finish parameter, it would be very useful to me.


My participants are going to be completing the same experiment multiple times as part of a training study, and in an ideal world, I'd like to use their performance on the previous day to determine the difficulty of the experiment on the next day... I was thinking that using the overall feedback score as an input parameter for the next day's session may be one way of doing this. However, I am in way over my head here! If that's not possible, it would still be useful if I could output their feedback value, as it would allow me to track the value each day and encourage them to improve those scores (I won't have time to run data analysis in between each training session and calculate their accuracy manually).


I'm very new to Inquisit, so please excuse me if all of this is totally unrealistic. Any help would be very gratefully received!

By Dave - 2/6/2013

Part of this may be possible using Inquisit 4 Web, which allows a script to change the finish page via the <defaults> element's /finishpage attribute. Details are available in the documentation.


With Inquisit 3, I don't see a way to do this.

By socialpsych - 2/6/2013

Thanks very much for your reply! I do have Inquisit 4, so will look at the documentation for that attribute now (I found this thread through Googling my question, and didn't realise I was posting in
the Inquisit 3 forum... doh).