This is an advanced topic that only some users want to use. Normally, you would not need this at all. It is an advanced feature.
For this to work, you need to go to your PsyToolkit settings and use Show advanced options (for experienced users)

advanced settings


At the end of a survey, PsyToolkit can send information to another website. This can be done relatively easy.

An example where you want to do this is SONA. In fact, there is a whole lesson on how to do this with the following services:

This is really something of an advanced topic, and it is not necessary for any standard study.

How it works theoretically

Websites can send information to other websites via so-called CGI variables.

The CGI protocol is fairly complex, and you really do not need to know how it works if you use PsyToolkit. If you do, start with the Wikipedia page about the topic: CGI.

In any case, these variable can be set as parameters in the web address. You do not necessary need to know how it works exactly, but what you need to know at least is the following:

There are CGI variables and they have a value.

For example, you can have a special variable called name and give it a value, for example: John. And you might have another variable called city and it’s value might be Chicago

In a website, it might look like something like this:

Note that the question mark and the & sign are used as separators. In the example above, the following information is in this line:

elements in web address meaning

the website


the name of the software mysurvey followed by a questionmark which simply indicates that this is where the variable names and their values start


the variable name and its value "John"


the variable city and its value "Chicago"

You do not really need to know this, as PsyToolkit will take care of most of this. All you need to set are the variable names (see below). The values of the variables will be set by PsyToolkit’s survey. For example, in the example above, if you have a question labeled name, the value at the end of the survey will be set to what the participant entered in his or her survey.

Alternatively, you can set a parameter to a fixed value by directly entering this in the URL line (see example below).


In this example, we run PsyToolkit. PsyToolkit is being called from a website and gets a value from that website, let’s call it id. PsyToolkit runs with one question and goes back to that website with the same variable id and an additional value from the survey age. Further, we have a "fixed" CGI variable.

Let’s assume this is our survey (just one question):

l: age
t: textline
q: How old are you?
- Select age please

Now, we have a website called

The software on that website which we use is called mysoftware.

In order to run it, let’s assume we allways need to give a specific variable (for example, we call it here fixedvalue) and the value is always 10.

To do that, we set the URL at end of survey as follows:

end of survey url

And we set the In and Out values as follows:

in out values

What it might look like

Imagine the website gave PsyToolit an id value of 1201 and the participant answered the question age with the value 20.

If you do this, the URL at the end of the survey (when leaving) will look like this:

That is all. Now recompile your survey and it should work.

You can also exchange information between embedded experiments and surveys. That is a different topic. But ultimately, you can get a value from an experiment to the survey and then from the survey to another website (if that is what you want, it is not a common scenario). Learn more about that in this separate lesson: Exchanging information between surveys and experiments