Return Incentives #

In this guide you will learn how to use audience targeting to incentivize players who may have churned out of your game to return by offering a new event or content drop. To accomplish this you will:

Creating a custom property #

Start by creating a custom property: playerLevel. You will use this to indicate in Satori what level the player is.

  1. Navigate to the Settings -> Properties screen in the Satori Console.
  2. Click the Create New Custom Property button.
  3. For Property Name enter: playerLevel.
  4. For Type change it to numeric.

Creating a custom property
Creating a custom property

Update identity properties from the client #

An identity must update their playerLevel custom property in Satori to be added to the new audience. This should be done via the client:

var playerLevel = 5;
var customProperties = new Dictionary<string, string>
    {"playerLevel", playerLevel.ToString() }

await client.UpdatePropertiesAsync(session, null, customProperties);
Audience refresh interval
By default the Satori server will refresh the identities in an audience every 10 minutes, so an identity may not be added immediately. This can be configured with the audience.processor_interval_sec configuration parameter.

Creating an event #

Create a custom event that will be triggered by the user when they return to the game.

  1. Navigate to the Settings -> Events screen.
  2. Click the Create New Event button.
  3. For Event Name enter: playerReturned.
  4. For Type change it to Numeric.

Creating an event
Creating an event

The client will send this event after they return to the game:

await client.EventAsync(session, new Satori.Event("playerReturned", DateTime.Now));

Create an audience #

Next create the audience that will segregate players based on whether they have reached level 5 or higher and have not been seen in 7 days or more.

  1. Navigate to the Audiences screen.
  2. Click Create New Audience.
  3. For Audience Name enter ChurnedProgressedPlayers and give it an appropriate description.
  4. Click Create.

Creating the audience
Creating the audience

  1. On the next screen, enter the appropriate filter. This filter should check that the player has a playerLevel custom property of 5 or higher and that they have not been seen within the last 7 days.
Now() - PropertiesComputed("seenLast", 0) >= Duration("7d") and PropertiesCustom("playerLevel", 0) >= 5

Create a metric #

Now create a metric to allow you to determine how many players engage with the live event.

Metrics must be defined by giving them a name that matches an existing event such as adStarted or screenViewed.
  1. Navigate to the Metrics screen.
  2. Click Create New Metric.
  3. For Name enter the name of our event from earlier: playerReturned.
  4. For Type change it to Count.
  5. For Order leave it as High.

Creating a metric
Creating a metric

This metric will analyse the count of how many players returned to the game.

Creating a live event #

Create a live event that will target the new audience and run for one week to offer a promotional login reward as well as access to a returning players leaderboard.

  1. Navigate to the Live Events screen.
  2. Click Create Live Event.
  3. For Name enter: ReturningPlayersEvent and give it an appropriate Description.
  4. For Value enter a JSON string that defines the reward and tournament ID that returning players can join.
  "reward": {
    "coins": 500
  "tournament": "returningPlayers0323"
  1. For Audiences select the ChurnedProgressedPlayers audience.
  2. For Monitor Metrics select the playerReturned metric.
  3. For Start Time choose a day to start (e.g. 01/03/2023 00:00)
  4. For End Time choose a week later (e.g. 08/03/2023 00:00)
  5. For Duration enter: 604800, which is one week in seconds.
  6. Leave Reset Schedule as blank, it should not reset.

Create a live event
Create a live event

Returning players will now be able to take part in this live event. You may decide to use native push notifications or email marketing to tell those players to come back and take part in the event.

Retrieving live events on the client
You can retrieve the live event on the client by using the list live events API.

Once the live event is over you can view the metrics to see how successful the live event was in re-engaging churned players.