Configuring participant links and study parameters
O-ELIDDI automatically captures URL parameters and incorporates them into the study data. This allows you to pass participant identifiers, study conditions, and other metadata through the URL without requiring participants to manually enter this information.
The application recognizes several categories of URL parameters:
Parameter | Priority | Description | Example |
---|---|---|---|
ppid |
Highest | Pre-existing Participant ID (takes precedence over all others) | ?ppid=P001 |
pid |
Medium | Participant ID (used if ppid not present) | ?pid=12345 |
PROLIFIC_PID |
Medium | Prolific participant identifier | ?PROLIFIC_PID=5f8c2a1b3d4e |
ppid
(if present and not empty)pid
(if no ppid)Parameter | Description | Data Export Field | Example |
---|---|---|---|
STUDY_ID |
Study identifier for multi-study setups | STUDY_ID |
?STUDY_ID=TimeUse2024 |
SESSION_ID |
Session identifier within a study | SESSION_ID |
?SESSION_ID=baseline |
DIARY_WAVE |
Diary wave number (converted to integer) | diaryWave |
?DIARY_WAVE=1 |
survey or SURVEY |
Survey identifier (becomes session_id when ppid is used) | SESSION_ID |
?survey=follow_up |
Parameter | Values | Description | Example |
---|---|---|---|
instructions |
completed |
Indicates participant has already viewed instructions | ?instructions=completed |
The application processes URL parameters automatically when the page loads:
URLSearchParams
window.timelineManager.study
object// Automatic parameter capture
const urlParams = new URLSearchParams(window.location.search);
for (const [key, value] of urlParams) {
window.timelineManager.study[key] = value;
}
// ID priority resolution
const pid = studyData.ppid || studyData.pid || generateRandomID();
All URL parameters are automatically included in the exported data. Key fields in the CSV export include:
Export Field | Source Parameter(s) | Notes |
---|---|---|
pid |
ppid , pid , or generated |
Primary participant identifier used in analysis |
PROLIFIC_PID |
PROLIFIC_PID |
Prolific platform identifier |
STUDY_ID |
STUDY_ID |
Study identifier |
SESSION_ID |
SESSION_ID , survey , or SURVEY |
Session/wave identifier |
diaryWave |
DIARY_WAVE |
Converted to integer |
instructions |
instructions |
Boolean indicating instruction completion |
TU2024_P001
){{%PROLIFIC_PID%}}
, {{%STUDY_ID%}}
, {{%SESSION_ID%}}
primary_redirect_url
in activities.jsonDIARY_WAVE
parameter for wave identificationinstructions=completed
for experienced userswindow.timelineManager.study
object to verify parameter capture// Check captured parameters
console.log(window.timelineManager.study);
// Check resolved participant ID
console.log(window.timelineManager.study.ppid || window.timelineManager.study.pid);
// Verify current URL parameters
console.log(new URLSearchParams(window.location.search));
Beyond the standard parameters, you can include any custom URL parameters relevant to your study. All parameters are automatically captured and included in the exported data.
These would appear as additional columns in your exported data: condition
, researcher
, site