Audiences #

Get ready for LiveOps by segmenting your player
Audiences page

LiveOps success relies on engaging the right players at the right time. Satori empowers the game teams by enabling dynamic player segmentation, ensuring that your LiveOps campaigns, events, and promotions reach the most relevant audience. For example, you can target highly engaged players with exclusive in-game events while re-engaging inactive users with tailored offers.

Satori Audiences works on a robust player identity system that combines default properties — such as demographic and device attributes — with automatically computed properties derived from in-game events. This flexibility provides unmatched granularity in audience creation, allowing you to easily tailor experiences based on player behavior, spending habits, and engagement levels with minimal setup.

Satori Audiences are powered by advanced filtering capabilities, offering both ease of use and deep customization. You can define audiences using flexible parameters, ensuring precise targeting for any campaign. Players in the audiences are refreshed and updated periodically or can be refreshed programmatically, keeping segmentation aligned with near real-time player activity.

Additionally, you can import your existing audiences from your existing tools into Satori and use those audiences to leverage LiveOps immediately without waiting to collect or migrate data.

Quick Look at the Satori Audiences
  • Unlimited number of Audiences
  • Wide range of default and computed properties to segment players
  • Use custom properties as you like to create even more customized audiences
  • Import your own audiences
  • Scheduled and programmatic updates for near real-time segmentation

Introduction #

An audience is a group of players segmented by the filters you have provided. You can access the Audience definitions from the Audiences page located in the left menu of the Satori Dashboard.

Audiences page
Audiences page

Satori creates default audiences such as “New Players”, and “Tier-1-Countries”. These audiences can be used even if your game does not send any analytics events as authentication with Satori carries certain properties from the SDK automatically. There are more advanced default audiences such as “All-Spenders” and “Lapsed-Spenders” with filters using properties based on the predefined events - you’ll need to send events from the game client to use such audiences and more sophisticated filtering mechanisms.

When you first integrate your app with Satori and start to create identities, even if your game client does not send any analytic events, you will be able to see some out-of-the-box audiences, such as “New Players”, “Tier-1-Countries”. Sending more events especially starting with the predefined events will give you extra depth to use more predefined audiences such as “All-Spenders” or “Lapsed-Spenders”.

The more events and identity properties you send to Satori, the more options you will have to create new audiences.

Create Audiences #

In this part, we will focus on how to create an audience. Audience creation can be completed only using the Satori Dashboards and does not require any game client development assuming that your game client is already sending your game relevant analytic events and identity properties.

Start by clicking Create New Audience button from the top right of the Audiences Page. A new side panel will open displaying the fields required to create an audience.

Start Creating an Audience with Name and Description
Start Creating an Audience with Name and Description

From this side panel, enter the audience name and description.

Next, you will need to provide filters. Filters can be added both in form view or query view. Below two filters give the same result.

Filters Form View
Audience Filter Form View
Filters Query View
Audience Filter Query View

In this example above, the selected identities must match all the selected filters of:

  • Registered within last 24 hours
  • From United States
  • Using Android device

Finalize your audiences by adding Identity IDs that you want to include or exclude. IDs in the Includes and Excludes overwrites the audience rules and directly result in the inclusion or exclusion of the ID.

Complete your audience creation by clicking the “Create” button.

Completed Audience Creationg View
Completed Audience Definition for US-Android New Players
Key Points
  • Use filters to group your players into audiences
  • Switch between query and form view to match your needs better while filtering your audiences.
  • Use Includes and Excludes to manually add and remove identities to your audiences.

Filters #

Filters help you create audiences with the segmentation you need. Satori filters have many capabilities, which are explained in more detail with examples on the Filters page. In this part, we will go over most common examples of filters.

Segment Players by Country

In the first example, we will segment players in a specific country. To create this audience, we will use a default property named countryCode in Satori and create a filter for players who have countryCode is set to “US”.

Properties("countryCode", "")=="US"

Properties Function fetches the given property from player. The second parameter (given empty in this example) of this function is used as default fallback value in case this property cannot be found for this identity.

For instance, when used like this: Properties("countryCode", "US") , if a property is not found for this identity, “US” will be used as default value.

Segment Players in a Group of Countries

Let’s extend the previous example to match Tier-1 countries. Let’s assume that the game defines Tier-1 countries as “US”, “CA” and “GB”. We will use countryCode property again but this time we will check if it is matching a group of options

Properties("countryCode", "") matches "^(CA|GB|US)$"

In this filter, we used the matches operator instead of == and gave a group of countries given as a regular expression: "^(CA|GB|US)$"

Segment Players with a Purchase

With this example, we will use a computed property and create one of the most important segments for games. purchaseCompleted is a core event in Satori that is intended to be sent from game clients when there is a successful in-app purchase. Satori calculates computed properties for all events received by the server. In this case, We will use the purchaseCompletedCount computed property to create an audience for players who has at least 1 in-app Purchase.

PropertiesComputed("purchaseCompletedCount", 0) >= 1

Segment Players with Long Sessions

In our last example, we will work on a more complex audience filter. Our aim is to find players with more than 20 mins of average session length. When segmenting these users, we only want to consider players with 5 or more sessions.

In the first part of the filter, we will calculate the average session length. _sessionStartValueSum property is the total session duration of an identity in seconds. We divide the total session duration with the session count of the identity found by _sessionStartCount property. Then we check if the average sesion length is higher than 20 minutes.

In the second part of the filter, we add our second condition of having at least 3 _sessionStartCount. We combine our two criteria with an and operator because we want both conditions to be true for a player to be in this audience.

(PropertiesComputed("_sessionStartValueSum", 0)/PropertiesComputed("_sessionStartCount", 1)) > 20*60
and
PropertiesComputed("_sessionStartCount", 1) >= 3

Filter Validation #

If your filter in the query view has any validation problems, Satori will warn you and provide information about which part of the query is incorrect.

Filter Validation Error
Filter Validation Error

In this example, the error indicates that = sign is not correct, it should have been == to compare the property with the given value.

However, Satori does not have an automatic mechanism to alert you about misconfigurations if your query has no validation errors. For instance, if you have a filter for a player is both in “US” and “GB” like given below, this audience will have 0 players but will not have any filter validation error.

// This audience will always have 0 players:
Properties("countryCode", "") == "US"
and
Properties("countryCode", "") == "GB"

Includes and Excludes #

Includes and Excludes fields give you direct opportunity to add or remove players from the audiences.

  • Enter Identity IDs that you want to include to the audience regardless of the filter match to the Includes section.
  • Enter Identity IDs that you want to exclude from the audince even if the filters match to the Excludes section.

You need to provide a comma-separated list of Identity IDs for both the Includes and Excludes lists. Satori will let you add an identity ID to both Includes and Excludes sections. In such cases, the Excludes list has priority, and identities in both lists will be excluded from the audience.

A good use-case for Includes is to add your test IDs to experience the audience in the game without actually belonging to it. Adding your test identity IDs to the Includes section of an audience will help you easily test the experience of the new audience you have created.

Creating Audience only with Includes
Especially for testing purposes, you might want to create an audience with only fixed identities using Includes. You can achieve this by creating a filter that ensures no identities are included. Or you can also simply add false to the query builder. This will ensure that no automatic assignment of identities happens to this audience, and it can only be used with identities in Includes.

Audience Details #

When you create an audience, you will see it in the list of audiences under the Audiences page. The Audience Details page will open when you click on any audience.

Audience details
Audience details

Please refer to the following table for descriptions of the fields related to the audience:

FieldDescription
Audience IDAudience ID is the unique ID of the audience in the form of a UUID. Using the Satori Dashboard, you may not need this ID; however, it will be useful when using the Console API to get or edit audiences.
Created onDate and time when the audience is created.
Updated onDate and time when the audience configuration is updated.
Name & DescriptionThe audience name and description defined by the Satori Dashboard user.
ImportedIndicates if the audience is imported. For details on how to import and export data to Satori, please check Data Management.
Last RefreshDate and time when the identities in the audience were last updated.
CountNumber of players inside this audience. Along with this information, there is a pie chart that shows how this audience is distributed compared to all identities in the game.
Audience DetailsThe configuration details of the audience, including filters, includes, and excludes.
Players in the AudienceList of players currently in the audience.

Editing an Audience #

If you need to edit the audience definition, you can click on the top right 3-dot menu and click edit button. You can change everything - including filters - related with the audience. However, please note that it will require the next recomputation cycle to update the identities after you save your changes.

Players Inside this Audience #

Satori Audiences provide full transparency on which identities are in the audience and when they joined. Under this tab, you will see all identities in the selected audience as a list. You can permanently (“Add to exclude list”) or temporarily exclude identities using the inline menu options, and click on any identity to view the corresponding profile.

Permanent exclusion will add this Identity ID to the excluded list. Temporary exclusion will remove the player from the audience, but they will be added again when they meet the criteria again.

The Joined Date in this list of identities indicates the date and time a player was added to this audience.

Audience players
Audience players

Delete All Identities #

If you want to delete all identities that belong to an audience, go to the ‘Players in this Audience’ tab and click the Delete All Identities button. This action will permanently delete all identities within that audience from the system. This button is disabled by default and can be enabled using console.audience.is_delete_all_identities_enabled configuration only for development environments. The Heroic Cloud team can enable this for your environment.

Delete All Identities
Delete All Identities