Skip to main content

Study Parameters

GLHF provides configurable parameters to control the study lifecycle, requirements, and participant-facing branding.

Study Lifecycle

The study follows a linear progression for each participant:

Phases

  1. Enrollment — Participant signs up, consents, and links required accounts (Steam, optionally Discord)
  2. Data Collection — Cron jobs collect Steam play data for STUDY_DAYS_BEFORE_SURVEY days
  3. Survey Period — A Qualtrics survey is distributed; reminders sent after STUDY_SURVEY_REMINDER_DAYS days; link expires after STUDY_SURVEY_EXPIRATION_DAYS days
  4. Completion — Study is marked complete STUDY_END_DAYS_AFTER_SURVEY days after the survey is sent

Timeline Variables

VariableDescriptionDefault
STUDY_DAYS_BEFORE_SURVEYDays of play data collection before survey7
STUDY_SURVEY_EXPIRATION_DAYSDays before the survey link expires7
STUDY_SURVEY_REMINDER_DAYSDays after survey send to send a reminder3
STUDY_END_DAYS_AFTER_SURVEYDays after survey send before marking complete14

Example timeline: With defaults, a participant who enrolls on Day 0 receives their survey on Day 7, a reminder on Day 10, the link expires on Day 14, and the study completes on Day 21.

Study Name

The participant-facing study name (e.g., "GamingStudy") is configured in the Strapi admin panel:

  1. Go to Content Manager → Global (single type)
  2. Set the studyName field

This name appears in:

  • Email communications (magic links, survey invites)
  • Discord bot messages
  • Site footer
  • Survey invite headers (Qualtrics fromName)

studyName is one of several fields on the Global single type. See CMS Content Configuration for the full set of configurable Global fields.

Enrollment Requirements

These flags control what accounts participants must link before the study begins collecting data:

VariableDescriptionDefault
STEAM_REQUIREDParticipant must link a Steam accounttrue
DISCORD_REQUIREDParticipant must link a Discord account(empty = not required)

Steam Visibility Requirements

Additional flags control what Steam data must be accessible:

VariableDescriptionDefault
STEAM_REQUIRE_OWNED_GAMESParticipant must have owned games on Steamfalse
STEAM_REQUIRE_PLAYTIME_PUBLICParticipant's playtime must be publicly visibletrue
STEAM_REQUIRE_RECENT_PLAYTIMEParticipant must have recent playtime datafalse

These are checked when a participant links their Steam account. If requirements aren't met, the participant is informed about what needs to change in their Steam privacy settings.