docs/Notification schedules/The four types
four ways to time a ping

The four schedule types.

Every notification in Samply belongs to a schedule, and every schedule is one of four types. Pick wrong and you'll fight your own data.

The type determines when a notification fires and how that timing relates to the calendar versus to each participant. Get this right before you touch anything else.

01One-timefixed calendar

Sends at one or more specific dates and times you choose on the calendar. Every participant receives the notification at the same wall-clock moment.

Use when
  • Study kick-off or debriefing messages on a known date.
  • Lab-controlled sessions where all participants are online simultaneously.
  • Single-wave surveys with a fixed deadline.
Avoid when
  • Rolling enrolment where participants join on different days — everyone gets it at the same moment regardless of when they joined.
  • Studies that run for weeks or months — use Repeating instead.
form:Step 2 → Specific time point(s) + Step 3 → Specific date(s).
02Repeatingrecurring pattern

Fires on a recurring pattern between a start and end date — every day, every Nth day, specific weekdays, or specific days of the month. All participants receive it at the same clock time on each firing day.

Use when
  • Daily diary studies where every participant answers at the same clock time.
  • Weekly check-ins on a fixed weekday.
  • Burst protocols on specific calendar dates.
Avoid when
  • Studies with rolling enrolment where each participant needs their own day-1 anchor — use Personal instead.
  • Studies where you need different ping times each day — use Randomized instead.
form:Step 2 → Repeat + Step 3/4/5/6 → recurrence pattern and start/end dates.
03Randomizedrandom within windows

Defines one or more time windows (e.g., 09:00–12:00 and 14:00–18:00) and picks a random moment inside each window for each participant. Each participant gets a different time; the window boundaries are shared.

Use when
  • ESM studies where you want multiple random pings per day within constrained windows.
  • Any design requiring ecological validity — avoiding fixed-clock pings that participants can anticipate.
  • Burst-sampling where N samples must be drawn per day with a minimum gap between them.
Avoid when
  • Situations where all participants must receive the notification simultaneously — use One-time or Repeating.
form:Step 2 → Time window. Set window start/end, how many random points to draw, and the minimum gap between pings.
04Personalrelative to registration

Anchors to each participant's enrolment date. Day 1 is the day they joined, regardless of the calendar. Two participants who join a week apart each start their own Day 1.

Use when
  • Longitudinal studies with rolling enrolment and a fixed study duration per person (e.g., 14-day protocol).
  • Intervention studies where Day 1 = treatment day.
  • Any design where elapsed days since joining matter more than the calendar date.
Avoid when
  • Studies where all participants must be in sync on the same calendar date — use Repeating or One-time.
form:Step 5 → start relative to registration (Day N after joining). Step 6 → stop relative to registration. Full guide →

Side-by-side comparison

PropertyOne-timeRepeatingRandomizedPersonal
All participants pinged at the same wall-clock time?
Timing relative to each participant's join date?
Can send multiple times per day?
Works with rolling enrolment?

Combining types

One study can have multiple schedules of different types. A common design pairs a Repeating schedule for a fixed daily survey with a Randomized schedule for ecological momentary pings — all in the same study, targeting the same participants.

A Personal schedule can also use randomized send times within each day. In that case the schedule is still classified as Personal, because what defines it is that the start and end days are anchored to each participant's join date. The randomized timing is a secondary property within that anchor.

What to read next

Once you know which type fits your study: Creating a schedule walks through the full form section by section. For Personal schedules specifically, Personal scheduling covers the day-offset logic in depth.