This document aims to explain what a Challenge campaign type is and provide a guide for creating one.

Developers can find links to the implementation guides for Android, iOS, and other frameworks in the Frontend Implementation section towards the end. These implementation guides also contain links to repositories with demo implementation.


The Challenges campaign, is a campaign type where a user is rewarded when a user event is sent.

Due to the versatile nature of this campaign type, Challenges can be configured in a number of ways. Some examples of how a user can be rewarded by using a Challenges campaign:

  • Making a certain purchase.
  • Making a purchase above a certain value.
  • Updating their profile information.
  • Visiting a New Section (Screen) on the app.

The below guide will walk you through creating a Challenge campaign. The example campaign is configured toward rewarding users for making a purchase.

Create a Campaign from Dashboard

In your Staging Dashboard, switch to the Retention Module.

Then from the menu bar navigate to Retention > Create Campaign to create a new campaign and fill in the details in each section as described below.

Offer, Event & Reward

Offer Type

You may recall that our campaign will be rewarding users when they complete a purchase and for such campaigns, the Challenges campaign type is best-suited.

Therefore, select Challenges under Offer Type.

Reward Type

We are keeping the Reward Type as Cash, but there are multiple options such as points, coins, and more to choose from.

Select Event to Reward

Next, we have to associate an Event with this Campaign.

Flyy's rewards system keeps track of Events happening on the user's device to determine eligibility for the reward. An Event can be associated with multiple campaigns and the Flyy platform will distribute rewards when conditions in those Campaigns are met.

We are going to create a new event for this campaign.

Therefore, click Create Event and create a Purchase event.


A new Event named "Purchase" with Event Key "purchase"

Click Save. Notice that the Connection Status is Not Connected right now. It will change once SDK sends an event.
Now, go back and select Purchase as the event.

Event Count

Next, set Event Count as 1 because we want to reward users on every purchase. Here, if we selected an event count of 4, it would mean a user would be rewarded only after making their 4th purchase.

Button Text & Deep Link URL

These are optional fields, but when values are provided, a button tap will lead a user to the Deep Link URL destination.

For the sake of simplicity, we will leave these options empty in this example.


If a Campaign requires certain conditions must be met with the Event, say the purchase amount should be greater than 499 to give a reward, then such conditions can be defined here. The mobile app must send the key-value pairs as a JSON object along with the Event.

But, again, for simplicity's sake, we will not be expecting any conditions along with the Event for this example.

Budget & Reward

Set Reward

Set a range for the minimum and maximum amount between which a user should receive a reward.

Set the range between 3 and 30.

Set Budget for Campaign

The budget determines the maximum amount of reward to be spent on this campaign reaching which the campaign will stop automatically.

Set the budget to 30,000.


Whether this campaign will be run Daily, Weekly or Monthly is determined by the Frequency.

Set Frequency to Always.

Avg. Reward

Adjust the slider to increase or decrease the probability of a user receiving a higher or lower reward. The impact of this setting on the Estimated Reach of this campaign will be reflected below.

Set the Average Reward to 10 which will increase the campaign's Estimated Reach to 3000.

Content & Styling

Set the content for this Campaign as shown in the image below.


Set a date and time for when the offer starts and ends. We'll set the current time and date as the Start Date so that the campaign starts immediately and the End Date as 1 week later.

User Segment

Flyy allows for having different user segments and the ability to run campaigns for each segment separately.

Keep this campaign open to All Users.

Set Rules

Define Rules for how many Rewards (Scratch Cards) a user may receive per day as well as in a lifetime.

We'll arbitrarily set the limit to 3/day and 30/lifetime.

Next, click Save to save the campaign.


Live Campaign in the Dashboard

Frontend Implementation

From here, developers can start implementing this campaign in the project.


Reports allow you to keep track of your users, rewards, redemptions, stamp campaigns, and leaderboards.


To keep track of the rewards given out under all campaigns, including the Challenges campaign type, go to Reports > Rewards.