For each quest, you must specify the following mandatory fields:
Completion Conditions: The event(s) the user must trigger to complete the quest.
Occurrence: If the event must be triggered once, over consecutive days, or over consecutive weeks.
Rewards: The reward your users get for completing the quest.
Title: The internal and external name of the quest.
To create a quest, go to Ways to Earn > Quests > Create. The sections below describe how to configure a quest.
Configure Complete Conditions
In the Completion Conditions section, specify the actions your user must perform to complete the quest. This involves configuring the user action (Desired Action) and the frequency of that action (Occurrence) .
Specify Desired Action:
Under Desired Action, specify one or more user actions (events) and the number of times a user must complete that action to complete the quest. For example, a user logs in to your website three times.
You can further refine these triggers using the following options:
Requirements: Use event properties to refine the user action. See the image below for an example quest that requires users to save 500€.

Reset when requirements aren’t met: Use this toggle to require that events are completed in a specific sequence or condition. For example, if a user must place five 20€ bets in a row and one bet does not meet the specified bet amount, their progress resets to zero.
Progress: The Progress Counter defines how each event that meets your requirements increases the user's progress toward the Target. Set it to one of the following options:
+1 with every event: Progress increases by 1 each time the user triggers an event that meets the requirements. This is the default option. For example, if the Desired Action is
bet_executedand the Target is 5, the user completes the challenge after five qualifying bets. (what does does +1 here mean then)Accumulative (by event field): Progress increases by the value of a numeric field in the event. Specify the path to this field under Event field path. For example, if the Desired Action is
move_savings, the Event field path is$.body.amount, and the Target is 500, the user completes the challenge when the amounts from all their savings events add up to 500.Custom expression: Progress is calculated by a mathjs formula you write yourself. The formula runs each time a qualifying event occurs. It combines the user's current progress with details from that event to calculate the new progress value.
Event handling: The field in the Desired Action event payload that uniquely identifies each event. If Xtremepush receives an event with an ID it has already processed for this challenge, it ignores the event, so the same action does not count twice. For example, if the Event ID path is
$.body.betIdand Xtremepush receives the following event twice, only the first counts toward progress:{ "body": { "betId": "BET-1001", "amount": 50 } }Challenge Visibility: Use this eye icon to specify if a user can see this quest on your loyalty widget.
Specify Occurrence: Specify how the event conditions must be met:
Once: The user must completes the Desired Action only once.
Over Consecutive Days: The user must complete the Desired Action every day for a set period between 1 and 15 days. For example, a user logs in to your website twice a day for five consecutive days to complete the quest.
Over Consecutive Weeks: The user must complete the Desired Action every week for a set period between 1 and 15 weeks. For example, a user places at least one bet of 20€ every week for four consecutive weeks to complete the quest.
The occurrence option is different from the overall quest timeframe, which you configure under the Restrictions section of a quest.
Specify Quest Restrictions
Under Restrictions, you can specify the following for each quest:
Start this quest automatically on first matching event: Use this toggle to accept users into the quest automatically. When a user triggers the Desired Action event, they are accepted into the quest and the event counts toward their progress.
Users do not need to accept the quest first. Without this toggle, Xtremepush discards any events a user triggers before they accept the quest. You cannot use this toggle on a quest with a token price.
This toggle is not only available on every project. Reach out to your Account Manager if you want this feature enabled on your project.
Completion Period: Set the timeframe within which a user must finish the quest. You can select durations up to one month or choose to have no restriction.
Additional Restrictions:
Add Requirement: Restrict the quest to specific user segments.
Unlocks after completing: Use this option if you want this quest to only be available after a user has completed an existing quest. This option is useful if you want to create quest chains.
Quest Distribution: Define the dates when the quest is active. If your quest doesn’t have any defined dates, use the checkboxes Immediately and Until Canceled. This ensures your quest remains active until you deactivate it in the Quests tab.
can user do this quest only once: Use this option to specify if a user can complete the quest more than once. If you allow multiple completions, you can set limits such as once per day, once per week, or once per month.
Specify Quest Reward
Under Rewards, specify one or more rewards that the user receives when they trigger the quest. See Loyalty Reward Types for more information on the different reward types and how to configure them.
Use the Pay to Accept option to configure a token entry fee for the quest. If enabled, you must specify the price in tokens that a user must pay to start the quest. Only tokens can be used as quest entry fees.
Manage Quest Visibility
In this Overview section, you define the internal name and appearance of the quest in your widget.
Title: The title of the quest as it appears to users in the loyalty widget.
Description: Add an optional description to provide more context about the quest.
Can the user cancel this quest: Specify if users are allowed to opt out of a quest once they have started it. If a user opts out, a quest_canceled event is recorded for that user.
Group: You can organise quests into specific groups, such as Onboarding Quests. These groups appear internally in the Quest List section of the widget in the Customize tab.
Payload for event on click: Provide a URL to direct users to a specific location on your website or app. For example, if your quest requires users to make a referral, you can add a link that takes them directly to your referral page. We recommend adding any links in the quest Description, rather than using this option.