Streaks and Advent Calendar
Two gamification mechanics for daily engagement: streaks reward members for showing up every day in a row; advent calendars give a reveal each day of a defined window.
Streaks
How it works
A streak is a per-member counter that counts consecutive days the member has performed an activity. The platform records a streak event when triggered by your campaign — typically a daily check-in, a login, or any earn event you wire in.
For each streak event:
- Same day — the record is idempotent (no change).
- Yesterday's record exists — the streak grows:
current days += 1. - Gap of more than a day — the streak resets to 1 with a new start date.
When the current streak hits a multiple of the milestone days, the platform awards a bonus. Daily points are always awarded; milestones add a one-shot bigger payout.
Step-by-step
- Go to Gamification → Streaks and click Create streak.
- Fill in:
- Name (e.g. Daily check-in).
- Loyalty program (where points land).
- Points per day — the daily reward.
- Milestone days — bonus interval (e.g. every 7 days).
- Bonus points at milestone.
- Save and set status to Active.
- Connect the streak to the trigger you want — usually via a member-portal action (check-in, daily quiz) or an earning rule.
Limits and gotchas
- Same-day idempotency. Triggering the same streak twice on the same day doesn't double-count. Members can't farm.
- One-day gap resets. A member who misses a single day starts again from 1. This is by design — communicate it clearly in your campaign rules.
- Multipliers apply. If an active campaign multiplies points in context
StreakReward, both the daily points and the milestone bonuses are multiplied. - Permission:
Pages.Gamification.Streaks.
Advent Calendar
How it works
An advent calendar is a fixed-length campaign (e.g. 24 days) where each day exposes a "door". When a member opens day N, they receive that day's reward — points or a badge. Members can only open the day on or after its scheduled date (no future claims, no skipping past locked days).
Step-by-step
- Go to Gamification → Advent calendars and click Create.
- Fill in:
- Name (e.g. Advent 2026).
- Loyalty program.
- Start date and end date.
- Total days (e.g. 24).
- Save. The platform creates the day rows.
- Open each day in turn and configure:
- Title (e.g. Day 1 — Welcome).
- Reward type — Points or Badge.
- Points reward (if Points).
- Badge (if Badge).
- Save each day. Days you don't configure throw a "Day not configured" error when a member tries to open them — so make sure every day from 1 to N has a payload before the campaign starts.
What members see
On the member portal, the calendar shows all N doors. Doors for past or current days are openable; future doors are locked with a countdown. Once a member opens a door, the reward is delivered and the door shows the reveal — a confetti animation for points, the badge artwork for a badge.
Limits and gotchas
- No future opens. Members can't open day 12 on day 10. This is enforced server-side.
- Configure every day. Empty days throw a "Day not configured" error and frustrate members. Validate the calendar before launch.
- One open per member per day. Re-opens return the same reward; no duplicate awards.
- Reward types are Points or Badge only. For physical prizes, use a campaign-with-prizes alongside the calendar.
- Permission:
Pages.Gamification.AdventCalendars.