To create a tournament, go to Ways to Earn > Leaderboards and select Create and configure the following options:
Leaderboard Score
The Leaderboard Score section defines how a user's score is calculated in your tournament, and therefore how users are ranked. Set the Progress Counter to one of three options:
User Attribute value: The tournament ranks users based on the value of a user attribute. Select the attribute under Score User Attribute. For example, if you select a
total_tokens_wonattribute, the tournament ranks users by their total tokens won.+1 with every event: The tournament ranks users based on a user action (event). Select the event under Desired Action. Each time a user triggers that event, their score increases by 1. You can add a requirement to count only qualifying occurrences of the event.
Accumulative (by event field): The tournament ranks users based on the sum of a numeric field from an event. Select the event under Desired Action, add an optional requirement, and enter the Event field path for the numeric field to add up, for example
$.body.amount.Custom Expression: Users are ranked by a mathjs formula you write yourself. The formula runs each time the desired a specified event occurs, and combines the user's existing score with details from that event to calculate the new score.
Available variables are:
currentProgress(the user's score before this event),event(the event that just occurred, including its payload),extras(context about the user and quest), andstorage(read-only).For example,
currentProgress + 1adds one point per qualifying event.
Tiering
Tiering lets you configure a single tournament that automatically splits into separate tournaments for different groups of users, based on a user attribute or segment you choose.
For example, without tiering, a tournament with 1,000 users would rank all 1,000 users against each other. If you tier that same tournament by level, and you have 5 levels, it splits into 5 separate tournaments, one per level, so users only compete against others in their own level (around 200 users each).
Tiering is optional. If you don't need to split a tournament into groups, you can leave this section empty.
Before you set up tiering
Before you set up tiering, consider the following:
Rewards apply per tournament, not per program.
For example, without tiering, a tournament might reward position 1 with 500 tokens, positions 2 to 5 with 250 tokens, and positions 6 to 10 with 100 tokens.
If you tier users into 5 tournaments, this full set of rewards is given out 5 times over, once per tournament.
Do not tier by an attribute that can take many different values, such as total quests completed. An attribute with too many possible values can split users into a large number of small tournaments, leading to over-rewarding, since each tournament pays out its own set of rewards.
Cycle and Timing
Start At and End At: Define when the tournament runs.
Participation
Tournaments require opt-in by design:
Require users to opt in before they can score is mandatory for tournaments. When you're configuring leaderboards, this setting is optional. Users see an option to accept or decline the tournament in your loyalty widget before their activity counts.
Add a requirement to define which user groups can access the tournament, for example
Level ≥ 3.
Rewards
The Rewards section defines what users receive based on their final rank when the tournament ends.
Rotation Period: Leave this field empty. Leaving the field empty means rewards are distributed once, when the tournament ends, and the tournament doesn't repeat.
Select Add Reward, then set a From position and to range and choose a reward type. See Loyalty Reward Types for more information on the different reward types and how to configure them.
The following table shows an example reward configuration for a tournament:
From position | To position | Reward |
|---|---|---|
1 | 1 | 500 tokens |
2 | 5 | 250 tokens |
6 | 10 | 100 tokens |
11 | 25 | 50 tokens |
26 | 50 | 1 quest |
Presentation
This section defines how the tournament appears to users in the loyalty widget.
Title: The title of the tournament as it appears to users.
Description: The description of the tournament displayed to users. Supports markdown formatting.
Blocked description: The message shown to users who do not meet the participation criteria you set.
Score label: The label for the score you configured, for example "Bets placed".
Image: Upload an image for the tournament.
Payload for event on click: Provide a URL to direct users to a specific location when they select the tournament.
Select Submit to save the tournament.