Working with GET Variables
In general, GET variables are extensions to the URL after the ? sign. They are used to pass data to the server. For example, https://www.google.com/search?q=conjointly will pass the search term conjointly to Google’s servers.
In Conjointly, GET variables allow you to record certain data about your respondents through a custom shareable survey link. This data can be used in redirects, reports, exports, and pipe-in formulas.
Passing GET variables to Conjointly
First, find your survey’s shareable link is available in the Experiment status tab:
Consider the following shareable survey link: https://conjointly.online/study/54598/w3jq86v250.
The first GET variable in your link should be preceded with a question mark (?). All subsequent variables must be preceded by an ampersand (&). If there is already a question mark (?) in your link, you must use an ampersand (&) before your first variable.
Take the example of https://conjointly.online/study/54598/w3jq86v250?variablename1=variablevalue1&variablename2=variablevalue2. If you want to share this link with, say, a student and pass their email (student1@email.com) and student number (12345) through the link, your link should appear as https://conjointly.online/study/54598/w3jq86v250?email=student1@email.com&studentno=12345.
If you are using external emailing software (such as MailChimp or your CRM), you’ll need to check directly with the provider to ensure that GET variables are passed through correctly.
Viewing survey respondents’ GET variables data
After the experiment has been launched, information passed on through GET variables will be available in:
Respondent data page
- Open your experiment under the option on the left-hand menu.
- Under the Experiment status tab, click to follow through to the Respondent data tab.
- Below the table of respondent details, slide the horizontal scroll bar to view your GET variable data for each respondent (this can also be downloaded as a .csv file via the button on the bottom-left of your screen).

Segmentation
In the report:
- Open the Segmentation tab.
- Click the button followed by .
- Under the “Variable” heading in the “Condition” module, select from the dropdown menu and choose the variable you wish to segment.
- Complete the “Type of match” and “Value” fields.
- Click the button above.
- Your report will now re-generate with analysis of this segment.

Redirecting with GET variables
If you wish to redirect respondents to another website at the end of your survey, you can also pass on GET variables in the redirect URL. To do this, you must add square brackets ([]) to the variables in your link.
Here’s an example of a redirect URL with the GET variables from our above example: https://else.where/complete?email=student1@email.com&studentno=12345.
Approach 1: Append all variables
Conjointly allows you to automatically append variables to the end of the redirect URL through the “Append all GET variables” setting. To enable this setting:
- Open your experiment under the option on the left-hand menu.
- Click the Advanced Settings tab and scroll to the “Redirects upon survey completion” module.
- Enter the redirect URL for your desired response type (complete responses, screened-out responses, low-quality responses).
- Tick the “Append all GET variables” check box.
For example:
- The respondent will enter your survey through
https://conjointly.online/study/54598/w3jq86v250?email=student1@email.com&studentno=12345. - You set up a redirect to
https://else.where/complete. - The “Append all GET variables” setting automatically redirects them to
https://else.where/complete?email=student1@email.com&studentno=12345.
Approach 2: Specify required variables
For example:
- The respondent will enter your survey through
https://conjointly.online/study/54598/w3jq86v250?email=student1@email.com&studentno=12345. - You set up a redirect to
https://else.where/complete?email=[email]&studentno=[studentno]. - The system will automatically redirect them to
https://else.where/complete?email=student1@email.com&studentno=12345.
A variation of this approach is using the formula GETvariable instead of the square brackets in the redirects.
Special case: passing respondent IDs assigned by Conjointly
If you would like to pass the respondent IDs assigned by Conjointly, you can add [Conjointly-ID] into the redirect URL (for example, https://else.where/survey?ConjointlyID=[Conjointly-ID]).
Case sensitivity of GET variables
When GET variables are saved in Conjointly, the names of the variables are converted to lower case, which means that email, Email, and EMAIL will all be saved as email. But the values of the variables are saved as they are entered.
Here is what it means in practice for redirects, if for example you set up the redirect URL as https://else.where/survey?email=[email] (or equivalenty https://else.where/survey?email=[EMAIL] or https://else.where/survey?email=[Email]):
| What URL the respondent enters | “Append all GET variables” | Where will the respondent be redirected |
|---|---|---|
https://conjointly.online/study/123/xyz (i.e. no GET variables at all) | Either way | https://else.where/survey?email=undefined |
https://conjointly.online/study/123/xyz?email=123@example.com (i.e. exact match) | Either way | https://else.where/survey?email=123@example.com |
https://conjointly.online/study/123/xyz?EMAIL=123@example.com&Name=John (i.e. different case of the variable EMAIL) | Off | https://else.where/survey?email=123@example.com (note that the Name variable is not passed) |
https://conjointly.online/study/123/xyz?EMAIL=123@example.com&Name=John (i.e. case-insensitive match only) | On | https://else.where/survey?email=123@example.com&name=John (note that the Name variable is passed without preserving its case) |
https://conjointly.online/study/123/xyz?Email=123@example.com&email=456@example.com | Off | https://else.where/survey?email=123@example.com (i.e. the first case-insensitive match will be taken as priority) |
https://conjointly.online/study/123/xyz?Email=123@example.com&email=456@example.com | On | https://else.where/survey?email=123@example.com |
If you need to pass a GET variable named with a specific case, you need to write it into the redirect URL with the exact case (e.g. https://else.where/survey?Email=[email]) without relying on the setting “Append all GET variables”.
Arrays of GET variables
Sometimes (rarely), you may want to pass an array of GET variables. Conjointly will save the array into a string that represents a JSON array or named object. For example:
| What URL the respondent enters | Value of the GET variable age recorded by Conjointly |
|---|---|
https://conjointly.online/study/123/xyz?age[0]=25&age[1]=30&age[2]=35 | ["25","30","35"] |
https://conjointly.online/study/123/xyz?age[1]=25&age[2]=30&age[3]=35 | {"1":"25","2":"30","3":"35"} |
https://conjointly.online/study/123/xyz?age[min]=25&age[max]=35 | {"min":"25","max":"35"} |
https://conjointly.online/study/123/xyz?age[parent]=45&age[children][0]=10&age[children][1]=8 | {"parent":"45","children":["10","8"]} |
https://conjointly.online/study/123/xyz?age[parent]=45&age[children][1]=10&age[children][2]=8 | {"parent":"45","children":{"1":"10","2":"8"}} |
https://conjointly.online/study/123/xyz?age[parent]=45&age[children][1]=10&age[children][1]=8 | {"parent":"45","children":{"1":"8"}} (note how the mistake was handled) |