Skip to main content

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

  1. Go to Gamification → Streaks and click Create streak.
  2. 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.
  3. Save and set status to Active.
  4. 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

  1. Go to Gamification → Advent calendars and click Create.
  2. Fill in:
    • Name (e.g. Advent 2026).
    • Loyalty program.
    • Start date and end date.
    • Total days (e.g. 24).
  3. Save. The platform creates the day rows.
  4. 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).
  5. 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.