Translations of this page:

Working with External Panel providers

If you recruit the participants of your survey through a panel provider, you have to work with IDs, backlinks, exit links and redirects. This section describes how to implement it with SoSci Survey elegantly.

If the provider of a panel pays a fee to the participants, he would like to know who has the questionnaire at all completed course. To this end, he must “follow” the individual participant.

It works like this: Each participant will receive a personalized link. If one of the participant clicks this link, an identifier (ID or subscriber ID) is transmitted to SoSci Survey. At the end of the survey the SoSci Survey must now inform the provider that the participant has completed the questionnaire. And the identifier is in turn transmitted back to the provider. For this purpose one has to click the Back or Exit link to which the participant ID is sent. Also for screenout, a possible quota stop (see Quota) or for participants with doubtful answers there are usually separate links from the panel.


In most cases, it is sufficient to use the following steps:

Provide the panel provider with the link to the questionnaire and attach a ?r=[panelID].

If your link to the questionnaire is, tell the panel provider that the link to the questionnaire is as follows:[panelID]

Add Complete-Redirect

You probably received redirects for 3 or 4 different scenarios from the panel provider:

  • Complete – the participant has completed the questionnaire
  • Screenout – the participant is not suitable for the survey due to characteristics requested in the questionnaire
  • QuotaFull – Sufficient questionnaires are already available for the demographic group(s) of the participant
  • Quality – due to the answers (control questions, bogus items) or the speed of answering you have to assume that the questionnaire was not filled out meaningfully

In the simplest case, use the Complete URL. This could be, for example:[panelID]

Under Compose questionnaire, insert an additional page before the “last page” in the questionnaire. Place the following PHP code there.


Note that the wildcard [panelID] in the original redirect (this may be different) has been replaced by a SoSci placeholder %reference%.

Screenout etc.

You can still place the other redirects elsewhere in the questionnaire if you like. The use of quota stops and screenout is described in chapter Quota. A quality check at the end could look like this – to be placed just above the Complete redirect.

if ((value('MISSING') > 20) || (caseTime('begin') < 300)) {

The further instructions explain the background of the Complete-Redirect.

The easiest way for the panel provider is to submit the identifier as a reference. For this purpose, the variable ‘‘r’’ must be attached to the link of the questionnaire. The address is then ‘’ServerURL/project/?r=Identifier’’, e.g. ‘’’’.

The provider will exchang the identifier for each participant.

Note: If you do not want to call the standard questionnaire in the link, use the link only once the question mark (‘’?’’) and for other variables, the ampersand (‘’&’’), e.g. ‘’’’. To create the links see also The link to the questionnaire.

Note: If the provider wants to use a different variable necessarily instead of the variable ‘’r’’, then you only need two more lines of PHP code, which is below.

In order to inform the participant identifier to the provider end of the survey, the participant is simply redirected to a website of the provider. Once again, the identifier is transmitted.

Vom Anbieter erhält man üblicherweise einen Exit-Link der etwa so aussieht: Instead of the code you must now use the reference that you got in the beginning with each respondent. This can be done simply with the placeholder ‘’reference’’:

Now you have to only redirect the respondents - the so-called Redirect. You can use the function redirect(). However, this breaks the survey immediately and directs the participants to another page. So you have to insert a blank page itself before the end of the questionnaire, and paste thePHP-Code/ and then the redirect()command:


You should put nothing else on this page.

If one invokes the questionnaire with a test identifier and the link above (which you simply invent yourself), then you should be redirected at the end of the survey to the page of the provider and in the address line of the browser you should see the test-identifier. Probably you will get an error message from the provider, because the identifier is not valid.

Hint: With the redirect() function participants can be also send away when the contigent is met. Whether the contigent has been met, you can, for example, check this by using the statistic() function.

Important: If a participant leaves the questionnaire with redirect() then the questionnaire is marked as incompleted in the data record. To filter incomplete data records, you have to go back to the last completed page (LAST PAGE).

Important: If you want to use the placeholder %reference%, then you must not prepare a placeholder named %reference% using replace().

The provider uses a different variable as the "r"

If the provider can not or doesn’t want to use r in the link or wants to set a variable such as susid, it is also pretty easy to solve. The variable for this is read in on the first (!) page in the questionnaire with a question of the type Device and transmitted variables. Enter the name of the variable containing the panel identifier (e.g. “userID”).

Question of type: Device and transmitted variables

As a wildcard in the links, one must then of course specify the name of the variable as it is stored in the data set. If the variable for reading in is called DV01_RV1, for example, one would set the wildcard as follows:

// This code can be found under the question "Device and transmitted variables".
// or be placed before the forwarding
replace('%panelID%', 'DV01_RV1', 'response');  // Prepare wildcard
// PHP code for redirect
en/survey/panels.txt · Last modified: 24.05.2021 15:20 by sophia.schauer
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki