docs/Reference/Glossary
the vocabulary

Glossary.

Key terms used throughout Samply and this documentation.

Key terms used throughout Samply and this documentation, in alphabetical order.

Batch
A counter that tracks how many notifications a participant has received from a study, starting at 1. The first notification has batch = 1, the second has batch = 2, and so on. Batch is study-wide, not per-schedule: if a participant is targeted by two schedules, the counter increases with every send from either. Available as the %BATCH% URL placeholder.
Completion event
A signal sent to Samply when a participant finishes a survey. Samply uses it to mark the result record as completed and to cancel any pending reminders for that send. A completion event is registered either by redirecting the participant to the Samply completion URL at the end of the survey, or by sending an HTTP POST request from the survey tool.
Day N
The shorthand used in personal schedules for a date relative to each participant's enrolment. Day 1 is the join day itself (the schedule starts approximately one minute after the participant enrolls). Day 2 is the midnight of the next calendar day in the chosen timezone. Day N for N > 1 is the midnight of the Nth calendar day counted from the join date.
Deactivated participant
A participant who has been suspended from receiving notifications without being removed from the study. When a participant is deactivated, all pending queue rows addressed to them are skipped at fire time. Reactivating a participant does not recreate skipped sends.
ESM
Experience Sampling Method. A research methodology in which participants are prompted — typically via push notification — to complete brief surveys or assessments at or near the moment of experience. Samply is purpose-built for ESM studies.
Expiry
An optional time limit on how long a survey link stays active after a notification is delivered. Set in Step 8 of the schedule form. After the expiry window, tapping the notification bar no longer opens the survey. Useful for momentary assessments where stale responses would bias data.
finid
An internal 15-character identifier that links an original send to all of its reminder rows. Generated at send time whenever reminders are configured. Samply uses finid to cancel all pending reminders for a send in a single operation when a completion event arrives. Not directly visible in the dashboard UI.
Group
A named subset of participants within a study. Each participant can belong to at most one group at a time. Groups let you send different schedules to different cohorts — for example, an intervention arm and a control arm — without creating separate studies. A group has a name (researcher-defined) and an auto-generated four-character ID.
Group ID
The four-character code auto-generated by Samply when a group is created. Used in the %GROUP_ID% URL placeholder and displayed in the queue. Stable across delete-and-recreate: if a group is deleted and a new group is created with the same name, the original ID is reused.
Invite link
A URL participants open in a browser or tap in the Samply Research app to join a study. Structurally equivalent to scanning the QR code. The link encodes the study slug and routes the participant through the enrolment flow.
isReminder
A boolean field on a queue row (PendingNotification) indicating whether the row is a reminder send rather than an original send. Visible in the queue as "Reminder: yes". Reminder rows are created at send time for the original notification and cancelled when a completion event arrives.
Message ID
A unique 15-character alphanumeric identifier generated for each individual send to each participant. Used to link a completion event back to the exact notification that triggered the survey. Available as the %MESSAGE_ID% URL placeholder. Required for reminder cancellation to work correctly.
One-time schedule
A schedule that fires on one or more specific calendar dates at specific clock times. Does not repeat. Created by choosing specific time points in Step 3 and specific date(s) in Step 4 of the schedule form.
Participant
A person enrolled in a study who receives push notifications through the Samply Research mobile app. Participants are identified by their Samply ID and optionally by a participant code. Researchers do not see participant contact details — enrolment is anonymous.
Participant code
An optional custom identifier a participant enters when joining a study. Enabled with the "Ask for participant code" setting in Edit study. Used to link Samply records to external datasets (REDCap record IDs, institutional IDs, pre-assigned codes). A participant can have both a code and a group. Available as the %PARTICIPANT_CODE% URL placeholder.
Personal schedule
A schedule whose start and stop dates are defined relative to each participant's join date rather than fixed calendar dates. Participants who enrol at different times each get their own Day 1. Created by choosing a repeat date pattern in Step 4 and a relative start or stop (Day N or duration offset) in Steps 6 and 7.
Placeholder
A %TOKEN% string embedded in the notification Web Link that Samply substitutes with a participant-specific value at send time. Available tokens: %SAMPLY_ID%, %PARTICIPANT_CODE%, %GROUP_ID%, %MESSAGE_ID%, %TIMESTAMP_SENT%, %BATCH%. The original URL stored in the schedule definition is never modified — the substituted URL exists only in the delivered notification payload.
Push token
The device-level identifier issued by the Expo push notification service to each installation of the Samply Research app. Samply stores the push token for each participant and uses it to route notifications. A stale or missing push token (e.g. after the participant reinstalls the app) causes queue rows to fail with status "failed".
Queue
The flat list of individual sends that Samply generates when a schedule is submitted. One row per participant per send time. Each row has a status (pending, processing, sent, failed, cancelled) and a scheduled time. The queue is what the cron dispatcher works through; the schedule definition is only the rule that produced it.
Randomized schedule
A schedule that picks a random send time within a defined window for each participant on each firing day. Created by choosing a time window in Step 3 instead of specific time points. Can be one-time or repeating. The random time differs between participants and between days.
Reminder
A follow-up push notification sent automatically when Samply has not received a completion event for the original send. Configured in Step 9 of the schedule form. Each reminder has its own title, message, and delay offset from the original. All pending reminders for a send are cancelled the moment a completion event arrives.
Repeating schedule
A schedule that fires on a recurring date pattern — every N days, specific weekdays, or specific days of the month — within a defined start and stop window. Created by choosing a repeat date option in Step 4. When start and stop are absolute calendar dates, the schedule is the same for every participant. When they are relative to registration, it becomes a personal schedule.
Result
The record Samply writes when a notification is dispatched. Stores the Samply ID, message ID, notification content, server-side send time, and per-event timestamps for receipt, tap, and survey open. When a completion event arrives, Samply adds a "completed" event to the same result record. The history log shows results; they can be downloaded as CSV.
Samply ID
The anonymous identifier assigned to a participant at enrolment. Generated by Samply, not visible to the participant, and never linked to personal contact details. Used as the primary key for all participant data in the dashboard. Available as the %SAMPLY_ID% URL placeholder.
Schedule
A notification configuration that defines the content, audience, timing, and optionally reminders for a set of sends. Submitting a schedule immediately expands it into a queue. There are four types: one-time, repeating, personal, and randomized. A schedule cannot be edited after submission — delete and recreate to make changes.
Study
The top-level container in Samply. All participants, schedules, queue rows, and response history belong to exactly one study. Researchers create a study once and manage everything inside it. Corresponds to the Project model in the data layer.
Time window
A send-time mode in which Samply picks a random time between a From and a To time for each participant on each firing day, with a minimum gap between draws if multiple sends per window are requested. Chosen in Step 3 of the schedule form. Produces a randomized or personal-randomized schedule.
Timestamp sent
The Unix timestamp in milliseconds of the exact moment the notification was dispatched by the Samply server. Available as the %TIMESTAMP_SENT% URL placeholder. Always substituted.