Content
Introduction
In this guide you’ll learn:
What are Player Buckets and Audience Groups
Creating Player Buckets
Creating Audience Groups
Configuring Audience Groups from Player Buckets
User Allocation to Audience Groups
Accessing Audience Groups in Game Server
Adding Holdout Groups to Notifier
Table of Contents
Player Buckets
Player Buckets are a tool for segmenting the player base in a consistent and scalable way.
Each player is automatically assigned a single bucket value between 0 and 99 at the time of user creation.
Admins can define Player Bucket Groups by specifying a range of bucket values, for example: 0–19, 20–49, or 50–99.
A player is considered part of a Player Bucket Group if their individual bucket value falls within the defined range.
These groups are then used in various features such as:
Minimum Value (0): Represents the lowest segment in the range, typically including the first group of players in a given allocation.
Maximum Value (99): Represents the highest segment, covering the full possible range of player assignments.
For example, if you define a range of 0-10, it means that players assigned to buckets within this range (0 to 10) will be included in the targeted group. This means that when assigning players to targeted groups for recurring events, the system uses their Account ID mod 100. This means that the last two digits of the Account ID determine which bucket they fall into.
This mechanism ensures an even distribution of players across different event groups while maintaining consistency in targeting.
While the term "Player Bucket" refers to both the individual value and the group definition, they serve distinct roles:
The player bucket value is a single number (e.g. 23) assigned to the player.
A Player Bucket Group is a defined range used to group players (e.g. 20–29).
Accessing the Player Buckets
Log into the Harmony platform.
On the left sidebar, navigate to Players.
Click on Buckets.
Create a Player Bucket in Harmony
Follow these steps to create a new Player Bucket in Harmony :
Click the [+ New] button.
Enter a Name for the bucket in the provided text field.
From the Type dropdown, select one of the following types:
Audience groups
Experiments
Others
Refer to the Player Bucket Types section below for more details.In the Bucket Lower Bound field, enter the starting range (e.g., 1).
In the Bucket Upper Bound field, enter the ending range (e.g., 6).
Click the Save button in the top right corner.
If you need to cancel, click the Cancel button.
Your new Player Bucket is now created and will be available in the system for further use.
Player Bucket Types
To provide more flexibility and avoid conflicts in targeting, Player Buckets now support bucket types.
These types define where a bucket can be used and ensure that overlapping buckets are avoided within the same context.
Each Player Bucket now includes a type that determines where it can be applied:
| Type | Can Be Used In |
| --- | --- |
| Audience groups | Only in Audience Groups |
| Experiments | Only in Experiments |
| Others | In all other entities, except Audience Groups/Experiments |
Buckets of the same type cannot overlap.
A player can belong to up to 3 buckets, but only one per type.
System Behaviour
Existing Buckets are automatically assigned the type Audience groups.
When Edge systems fetch player bucket data, the bucket type is returned along with the bucket assignment.
Buckets assigned to players respect type limits (no duplicates per type).
Editing a Player Bucket
Select the bucket you want to edit.
Once you are in the Edit Player Bucket screen, you will see the following fields:
Modify the required fields as needed
Saving Changes
After making the necessary updates, click the Save button in the top-right corner.
If you decide not to make changes, click Cancel to exit without saving.
Ensure that bucket boundaries do not overlap with existing buckets to prevent conflicts.
Buckets cannot be edited if they are linked to any entity, whether active or inactive. If a bucket is tied to an inactive audience group, review is required before making adjustments.
Using Player Buckets in Segments
Players Buckets can be used in the Segment Builder, allowing users to build segments based on pre-configured player buckets.
Builder is a visual interface that allows users to create and manage conditions using a structured, rule-based format instead of manually writing plain text conditions.
An admin user can also use the player bucket in the text conditions. Here is the format : player_bucket(id, 8) == true where id is the ID of the configured player bucket
Follow these steps to use Player Buckets when defining segment rules:
In the left menu, expand Segmentation.
Click on Segments to open the segment management screen.
In the segment creation/editing view, locate the Builder section.
Click on Select attribute to open the attribute dropdown menu.
Scroll through the dropdown list and select Player Bucket as the attribute.
Select the relevant Player Bucket.
After selecting Player Bucket , configure the condition by specifying values or operators (e.g., equal to, greater than, less than).
This ensures only players within the defined bucket range meet the segment criteria.
Click Add rule to include additional conditions using other attributes.
Click Save in the top-right corner to apply the conditions.
If needed, click Cancel to discard changes.
Validation Rules
Overlapping Player Buckets :
Player Bucket Validation :
Audience Groups
Audience Groups consist of Holdout and Rollout groups, enabling structured user segmentation for feature releases, and experiments. Players allocated to an audience group are not assigned to A/B experiments. You can only allocate players to active audience groups that fall within their designated start and end dates. If an audience group is deactivated while a player belongs to it, the player will no longer be treated as part of that group and will instead receive the default configuration like any other player.
However, if the group is later reactivated, the player’s allocation will be restored, and they will once again receive the audience group’s configuration.
For example, if a group is active from January 1st to March 31st, and a player is allocated to it on January 1st, but the group is deactivated on February 1st, the player will stop receiving the audience group’s settings from that date (including any overrides or experiment configurations). If the group is reactivated on February 14th, the player will immediately regain the audience group settings.
Holdout vs. Rollout Audience Groups
Holdout Groups
Used to exclude specific players from certain features or experiments.
Players in holdout groups do not receive updates or configurations applied to other users.
Useful for measuring the impact of new changes by comparing holdout users with those in rollout groups.
Rollout Groups
Used for gradual feature deployment or experimentation.
Players in rollout groups receive specific updates, configurations, or feature activations based on segmentation rules.
Helps manage risk by rolling out changes incrementally before full release.
Accessing the Audience Groups Page on Harmony
Log in to Harmony.
Navigate to Audience Groups in the left-hand navigation menu.
Creating a New Audience Group
Click the "+ New" button on the Audience Groups page.
Fill in the required fields as per the form:
Click Save to create the group.
Editing an Audience Group
Editable Fields:
Name : Update if needed.
Status : Change to one of the available statuses.
End Date : Can be updated, but the new date cannot be in the past.
Steps:
Select the group you want to edit from the list.
Click the Edit button.
Update the fields that are editable (as listed above).
Click Save to apply changes.
Note: Groups that are within their active time range (between Start and End Date) have limited editable fields (Name, Status, and End Date).
Duplicating an Audience Group
Select the group you want to duplicate.
Click the Duplicate button.
A Duplicate Audience Group pop-up will appear.Rename the Duplicate:
The system automatically assigns a name by appending "Copy" to the original name.
Edit the name if needed.
- Confirm the Duplication:
Click Confirm to create the duplicate Audience Group.
Click Cancel if you want to discard the action.
The duplicated group will:
Edit and activate the duplicated group as needed.
User Allocation to Audience Groups
Players are allocated to audience groups to refine the results of A/B experiments. To improve the accuracy and reliability of A/B experiment results by ensuring that players are grouped in a way that minimises external influences. Allocating players to audience groups helps create controlled testing conditions, making it easier to measure the true impact of new features or configurations without interference from outside factors.
Allocation follows specific rules based on player activity and group configurations.
Allocation Rules
Players are allocated to audience groups only when they come online.
A player is allocated to an audience group if they meet the following criteria:
Allocation starts on the start date and ends when:
Special Cases:
When the end date is reached , players are removed from the holdout/rollout group.
If allocation is paused , players who were already allocated stay in the group until the end date, but no new players are allocated.
The database stores which group each player has been allocated to.
Only new players are allocated to audience groups.
If group buckets are edited after the start date :
![]()
Scenario 1: Allocation Between Start Date and End Date
Group Status : Always shown as Active from the start date to the end date
Deactivation after the end date.
Scenario 2: Allocation Between Start Date and Inactivation Date (Early End)
- Group Status : Shows as Active initially, then Inactive after early manual inactivation (before end date).
Scenario 3: Allocation Between Activation Date and End Date (Late Start)
- Group Status : Initially Inactive , changes to Active when manually activated.
Troubleshooting
| Issue | Cause | Solution |
| Unable to Save Group | Overlapping player buckets or time range. | Adjust the player buckets or start/end dates to avoid overlaps. |
| Cannot Edit Fields | Group is in its active time range. | Only Name, Status, and End Date can be edited during this time. |
| Player Bucket Warning | Inconsistent data input | Ensure the upper bound is not smaller than the lower bound. |
Audience Groups: Archiving Workflow
Deactivating Groups
Start Date: The group becomes Active on the start date, and allocations begin.
End Date: When the end date is reached, the group does not immediately become inactive.
Ended audience groups are automatically deactivated by the system once a day.
Key Points:
Groups become Inactive after their End Date (UTC) when the cron job runs.
Once Inactive , no new players are allocated, but past allocations remain.
Archiving Groups
Manual Archiving:
Users can manually set a group to Archive in the UI.
The group stays in the Archive status for 7 days.
Automatic Archiving :
The system checks daily for groups in the Archive state for 7 days.
After 7 days, the group is moved to Permanently Archived.
Permanently Archived Groups:
Data Cleanup: Player allocation data is deleted from the database.
Analytics: Data remains available in Snowflake , but the group cannot be restored in Harmony.
Reactivating Archived Groups
Users can restore an Archived group and set it back to Active.
Restored groups:
Conditions:
The group must not be in the Permanently Archived state.
Reactivation restores all original configurations and allocation rules.
System Workflow Summary
Deactivating:
UI: Groups transition from Active → Inactive after the End Date , based on the cron job.
Server: A daily cron job ensures that groups with past end dates are deactivated.
Archiving:
UI: Users can manually move a group to Archive. After 7 days , it becomes Permanently Archived.
Server: The cron job moves archived groups to Permanently Archived and deletes player allocation data.
![]()
Key Notes:
Groups will only be permanently archived if they have been in the Archive status for 7 consecutive days.
Reactivated groups will resume functioning as active groups, maintaining previous player allocations while including new players based on the defined rules.
This workflow ensures seamless automation of group status transitions and minimal manual intervention.
Accessing Audience Groups in GS
Audience Groups in Game Server (GS) allow for targeted feature rollouts and experiment segmentation by grouping players based on predefined criteria.
Configuring Audience Groups in GS ensures that the right set of players receives specific settings, enabling more controlled testing and personalisation.
Navigate to Game Settings in the GS interface.
Click the “Audience Groups” button in the settings list view.
The system will open a new page listing all available Audience Groups as they are configured in Harmony.
Audience Groups List View
![]()
The Audience Groups list view contains the following columns:
| Column | Description |
| --- | --- |
| ID | Unique identifier for the Audience Group. |
| Player Service ID | Unique identifier for the Audience Group in Harmony |
| Name | Name of the Audience Group. |
| Status | Current status of the group (e.g., Active, Scheduled, Ended). |
| Group Type | Indicates whether it is a Holdout or Rollout group. |
| Start Date | The date when the Audience Group becomes active. |
| End Date | The date when the Audience Group is deactivated. |
| Updated at (UTC) | Date, UTC time and name of the user at the time of the update. |
| Actions | Provides an Edit option for modifying the group. |
Sorting Rules
Active groups appear at the top.
Within active groups, sorting is based on the Start Date (latest first).
Filters Available
Users can filter the Audience Groups using the following criteria:
Status
Group Name
ID
Type
Start Date
End Date
Editing an Audience Group
Click on the Edit button under the Actions column for an Audience Group.
The Edit View opens, displaying:
Modifying Settings
Users can enable/disable settings within the Audience Group.
New groups will have empty settings by default.
A setting is highlighted in the list view if at least one configuration is enabled.
Saving Changes
Audience Groups can only be saved if at least one setting is enabled.
Settings Search functionality (similar to Game Settings edit view) is available.
Additional Functionalities
Activity Log Integration
Actions performed on Audience Groups are logged in the Activity Log.
Users can access the Activity Log from the Edit View of an Audience Group.
Displaying Audience Groups in Base Config
- If a setting is used in an Audience Group, it will be visible in the Base Config view , similar to Experiments.
Validation for Setting Archiving
- Before archiving a setting , the system checks if it is currently in use in any Audience Group.
Accessing Audience Groups in Ads Configs
Navigate to Ads Configs in Game Server.
Click the “Audience Groups” button in the Ads Configs list view.
The system will open a new page listing all available Audience Groups.
Audience Groups List View
![]()
The Audience Groups list view includes the following columns:
| Column | Description |
| --- | --- |
| ID | Unique identifier for the Audience Group. |
| Player Service ID | Unique identifier for the Audience Group in Harmony |
| Name | Name of the Audience Group. |
| Status | Current status of the group (e.g., Active, Scheduled, Ended). |
| Group Type | Indicates whether it is a Holdout or Rollout group. |
| Start Date | The date when the Audience Group becomes active. |
| End Date | The date when the Audience Group is deactivated. |
| Updated at (UTC) | Date, UTC time and name of the user at the time of the update. |
| Actions | Provides an Edit option for modifying the group. |
Sorting Rules
Active groups appear at the top.
Within active groups, sorting is based on the Start Date (latest first).
Filters Available
Users can filter Audience Groups based on:
Status
Group Name
ID
Type
Start Date
End Date
Editing an Audience Group
Click on the Edit button under the Actions column for an Audience Group.
The Edit View opens, displaying:
Modifying Settings
Users can enable/disable settings within the Audience Group.
Newly created groups have empty settings by default.
A setting is highlighted in the list view if at least one configuration is enabled.
Saving Changes
- Audience Groups can only be saved if at least one setting is enabled.
User Allocation Logic in Audience Groups
If a user belongs to an Audience Group
Holdout/Rollout groups take priority over other configurations, including:
User Groups
Overrides
Super Overrides (if implemented for Ads Configs at the time of development)
A/B Experiments (players in Holdout/Rollout groups are excluded from A/B experiments)
A/B Experiments are ignored
Users in an Audience Group will not be allocated to any new experiments, even if they qualify. However, if they have already been allocated to an experiment, they will remain in the experiment but will not receive any new experiment-based configuration or updates.
The behaviour of users depends on whether the Audience Group is active or inactive:
Active Audience Group : If the audience group is active and within its start and end dates, players in the group will not be allocated to any experiments, whether new or old. They won't receive any experiment configurations at all during this period.
Inactive Audience Group : If the audience group is inactive, players can still be allocated to both new experiments and previous ones. Being in an inactive audience group is almost like not being in the group at all, as they will continue to participate in experiments without restrictions.
Base Config, User Groups, Overrides, and Super Overrides (if implemented) are used for settings that are not configured in the audience group in the Audience Group, but A/B Experiments remain ignored.
If a user does NOT belong to an Audience Group
- Standard priority applies:
Base Config > User Groups > Overrides > A/B Experiments > Super Overrides (if implemented)
Displaying "Audience Groups" in Search Results
A new group is added to the Game Settings Search called “Audience Groups”.
This group includes all audience groups where the required setting is used.
The search results display No Rules and Priority for this entity.
Navigation to Audience Group Edit View
The Audience Group name is a clickable link in the search results.
Clicking on the config link redirects the user to the selected Audience Group Edit View.
Ordering of Groups in Search Results
The order in which groups appears in search results is:
Audience Groups
Experiments
Overrides
User Groups
Base Config
Configuring Holdout Groups for Push Notifications in Harmony
In Harmony, users can exclude specific audience groups from receiving push notifications.
This allows for analysing the uplift generated by push notifications.
The Settings sub-menu under Push Notifications provides the option to configure a holdout group.
Holdout Group Selection
Go to Push Notifications in the Harmony menu.
Click on the Settings sub-menu.
On the Push Notifications Settings page, locate the "Exclude push notifications for this group" option.
Click on the dropdown menu to view the list of available audience groups.
The dropdown displays only audience groups with the Holdout type.
Select the desired Holdout group from the list.
Click the Save button to apply the selection.
Expected Behaviour
Users in the selected holdout group will not receive push notifications.
Users in all other groups will receive notifications as per the standard campaign flow.
If no group is selected (default: None ), notifications will be sent to all eligible users.
System Behaviour
Only the audience groups with Holdout type are displayed.
Audience groups with the status "Archived" or "Permanently Archived" are excluded.
If a user belongs to the selected holdout group , they will not receive push notifications.
If a user belongs to other audience groups, the standard campaign behaviour applies.
Chunks 4
## Introduction
In this guide you’ll learn:
- What are Player Buckets and Audience Groups
- Creating Player Buckets
- Creating Audience Groups
- Configuring Audience Groups from Player Buckets
- User Allocation to Audience Groups
- Accessing Audience Groups in Game Server
- Adding Holdout Groups to Notifier
**Table of Contents**
* * *
## Player Buckets
Player Buckets are a tool for segmenting the player base in a consistent and scalable way.
- Each player is automatically assigned a single bucket value between 0 and 99 at the time of user creation.
- Admins can define Player Bucket Groups by specifying a range of bucket values, for example: 0–19, 20–49, or 50–99.
- A player is considered part of a Player Bucket Group if their individual bucket value falls within the defined range.
- These groups are then used in various features such as:
- Minimum Value (0): Represents the lowest segment in the range, typically including the first group of players in a given allocation.
- Maximum Value (99): Represents the highest segment, covering the full possible range of player assignments.
For example, if you define a range of 0-10, it means that players assigned to buckets within this range (0 to 10) will be included in the targeted group. This means that when assigning players to targeted groups for recurring events, the system uses their Account ID mod 100. This means that the last two digits of the Account ID determine which bucket they fall into.
This mechanism ensures an even distribution of players across different event groups while maintaining consistency in targeting.
While the term "Player Bucket" refers to both the individual value and the group definition, they serve distinct roles:
- The player bucket value is a single number (e.g. 23) assigned to the player.
- A Player Bucket Group is a defined range used to group players (e.g. 20–29).
### Accessing the Player Buckets
1. Log into the Harmony platform.
2. On the left sidebar, navigate to **Players**.
3. Click on **Buckets**.
### Create a Player Bucket in Harmony
Follow these steps to create a new Player Bucket in **Harmony** :
1. Click the **[+ New]** button.
2. Enter a **Name** for the bucket in the provided text field.
3. From the Type dropdown, select one of the following types:
Audience groups
Experiments
Others
Refer to the [Player Bucket Types](https://tripledotstudios.atlassian.net/wiki/spaces/KB/pages/3981377538/Player+Buckets+and+Audience+Groups#Player-Bucket-Types) section below for more details.
4. In the **Bucket Lower Bound** field, enter the starting range (e.g., 1).
5. In the **Bucket Upper Bound** field, enter the ending range (e.g., 6).
6. Click the **Save** button in the top right corner.
7. If you need to cancel, click the **Cancel** button.
Your new **Player Bucket** is now created and will be available in the system for further use.
### Player Bucket Types
To provide more flexibility and avoid conflicts in targeting, Player Buckets now support bucket types.
These types define where a bucket can be used and ensure that overlapping buckets are avoided within the same context.
Each **Player Bucket** now includes a **type** that determines where it can be applied:
| **Type** | **Can Be Used In** |
| --- | --- |
| Audience groups | Only in Audience Groups |
| Experiments | Only in Experiments |
| Others | In all other entities, except Audience Groups/Experiments |
- Buckets of the same type cannot overlap.
- A player can belong to up to 3 buckets, but only one per type.
**System Behaviour**
- Existing Buckets are automatically assigned the type Audience groups.
- When Edge systems fetch player bucket data, **the bucket type is returned** along with the bucket assignment.
- Buckets assigned to players respect type limits (no duplicates per type).
### Editing a Player Bucket
1. Select the bucket you want to edit.
2. Once you are in the **Edit Player Bucket** screen, you will see the following fields:
3. Modify the required fields as needed
### Saving Changes
1. After making the necessary updates, click the **Save** button in the top-right corner.
2. If you decide not to make changes, click **Cancel** to exit without saving.
- Ensure that bucket boundaries do not overlap with existing buckets to prevent conflicts.
- Buckets cannot be edited if they are linked to any entity, whether active or inactive. If a bucket is tied to an inactive audience group, review is required before making adjustments.
### Using Player Buckets in Segments
Players Buckets can be used in the Segment Builder, allowing users to build segments based on pre-configured player buckets.
Builder is a visual interface that allows users to create and manage conditions using a structured, rule-based format instead of manually writing plain text conditions.
An admin user can also use the player bucket in the text conditions. Here is the format : player\_bucket(id, 8) == true where id is the ID of the configured player bucket
Follow these steps to use **Player Buckets** when defining segment rules:
1. In the left menu, expand **Segmentation**.
2. Click on **Segments** to open the segment management screen.
3. In the segment creation/editing view, locate the **Builder** section.
4. Click on **Select attribute** to open the attribute dropdown menu.
5. Scroll through the dropdown list and select **Player Bucket** as the attribute.
6. Select the relevant Player Bucket.
7. After selecting **Player Bucket** , configure the condition by specifying values or operators (e.g., equal to, greater than, less than).
8. This ensures only players within the defined bucket range meet the segment criteria.
9. Click **Add rule** to include additional conditions using other attributes.
10. Click **Save** in the top-right corner to apply the conditions.
11. If needed, click **Cancel** to discard changes.
### Validation Rules
- **Overlapping Player Buckets** :
- **Player Bucket Validation** :
Audience Groups
Audience Groups consist of Holdout and Rollout groups, enabling structured user segmentation for feature releases, and experiments. Players allocated to an audience group are not assigned to A/B experiments. You can only allocate players to **active** audience groups that fall within their designated start and end dates. If an audience group is deactivated while a player belongs to it, the player will no longer be treated as part of that group and will instead receive the default configuration like any other player.
However, if the group is later reactivated, the player’s allocation will be restored, and they will once again receive the audience group’s configuration.
For example, if a group is active from January 1st to March 31st, and a player is allocated to it on January 1st, but the group is deactivated on February 1st, the player will stop receiving the audience group’s settings from that date (including any overrides or experiment configurations). If the group is reactivated on February 14th, the player will immediately regain the audience group settings.
### Holdout vs. Rollout Audience Groups
#### Holdout Groups
- Used to exclude specific players from certain features or experiments.
- Players in holdout groups do not receive updates or configurations applied to other users.
- Useful for measuring the impact of new changes by comparing holdout users with those in rollout groups.
#### Rollout Groups
- Used for gradual feature deployment or experimentation.
- Players in rollout groups receive specific updates, configurations, or feature activations based on segmentation rules.
- Helps manage risk by rolling out changes incrementally before full release.
### Accessing the Audience Groups Page on Harmony
1. Log in to Harmony.
2. Navigate to **Audience Groups** in the left-hand navigation menu.
### Creating a New Audience Group
1. Click the **"+ New"** button on the Audience Groups page.
2. Fill in the required fields as per the form:
3. Click **Save** to create the group.
### Editing an Audience Group
#### Editable Fields:
- **Name** : Update if needed.
- **Status** : Change to one of the available statuses.
- **End Date** : Can be updated, but the new date cannot be in the past.
#### Steps:
1. Select the group you want to edit from the list.
2. Click the **Edit** button.
3. Update the fields that are editable (as listed above).
4. Click **Save** to apply changes.
**Note:** Groups that are within their active time range (between Start and End Date) have limited editable fields (Name, Status, and End Date).
### Duplicating an Audience Group
1. Select the group you want to duplicate.
2. Click the **Duplicate** button.
A **Duplicate Audience Group** pop-up will appear.
3. Rename the Duplicate:
- The system automatically assigns a name by appending **"Copy"** to the original name.
- Edit the name if needed.
4. Confirm the Duplication:
- Click **Confirm** to create the duplicate Audience Group.
- Click **Cancel** if you want to discard the action.
- The duplicated group will:
- Edit and activate the duplicated group as needed.
### User Allocation to Audience Groups
Players are allocated to audience groups to refine the results of A/B experiments. To improve the accuracy and reliability of A/B experiment results by ensuring that players are grouped in a way that minimises external influences. Allocating players to audience groups helps create controlled testing conditions, making it easier to measure the true impact of new features or configurations without interference from outside factors.
Allocation follows specific rules based on player activity and group configurations.
#### Allocation Rules
- Players are **allocated to audience groups only when they come online**.
- A player is allocated to an audience group if they meet the following criteria:
- Allocation **starts on the start date** and ends when:
#### Special Cases:
- When the **end date is reached** , players are **removed** from the holdout/rollout group.
- If **allocation is paused** , players who were already allocated **stay** in the group until the end date, but **no new players are allocated**.
- The database stores **which group each player has been allocated to**.
- Only **new players** are allocated to audience groups.
- If group buckets are edited **after the start date** :

**Scenario 1: Allocation Between Start Date and End Date**
- **Group Status** : Always shown as **Active** from the start date to the end date
- **Deactivation** after the end date.
**Scenario 2: Allocation Between Start Date and Inactivation Date (Early End)**
- **Group Status** : Shows as **Active** initially, then **Inactive** after early manual inactivation (before end date).
**Scenario 3: Allocation Between Activation Date and End Date (Late Start)**
- **Group Status** : Initially **Inactive** , changes to **Active** when manually activated.
### Troubleshooting
| **Issue** | **Cause** | **Solution** |
| Unable to Save Group | Overlapping player buckets or time range. | Adjust the player buckets or start/end dates to avoid overlaps. |
| Cannot Edit Fields | Group is in its active time range. | Only **Name, Status, and End Date** can be edited during this time. |
| Player Bucket Warning | Inconsistent data input | Ensure the upper bound is not smaller than the lower bound. |
### **Audience Groups: Archiving Workflow**
#### **Deactivating Groups**
- **Start Date:** The group becomes **Active** on the start date, and allocations begin.
- **End Date:** When the end date is reached, the group does **not** immediately become inactive.
- Ended audience groups are automatically deactivated by the system once a day.
**Key Points:**
- Groups become **Inactive** after their **End Date (UTC)** when the cron job runs.
- Once **Inactive** , no new players are allocated, but past allocations remain.
* * *
#### **Archiving Groups**
**Manual Archiving:**
- Users can manually set a group to **Archive** in the UI.
- The group stays in the **Archive** status for **7 days**.
**Automatic Archiving :**
- The system checks daily for groups in the **Archive** state for 7 days.
- After 7 days, the group is moved to **Permanently Archived**.
**Permanently Archived Groups:**
- **Data Cleanup:** Player allocation data is deleted from the **database**.
- **Analytics:** Data remains available in **Snowflake** , but the group cannot be restored in **Harmony**.
* * *
#### **Reactivating Archived Groups**
- Users can **restore** an **Archived** group and set it back to **Active**.
- Restored groups:
**Conditions:**
- The group **must not** be in the **Permanently Archived** state.
- Reactivation restores all **original configurations and allocation rules**.
* * *
### **System Workflow Summary**
**Deactivating:**
- **UI:** Groups transition from **Active → Inactive** after the **End Date** , based on the cron job.
- **Server:** A daily cron job ensures that groups with past end dates are deactivated.
**Archiving:**
- **UI:** Users can manually move a group to **Archive**. After **7 days** , it becomes **Permanently Archived**.
- **Server:** The cron job moves archived groups to **Permanently Archived** and deletes player allocation data.

* * *
### Key Notes:
- Groups will only be permanently archived if they have been in the Archive status for 7 consecutive days.
- Reactivated groups will resume functioning as active groups, maintaining previous player allocations while including new players based on the defined rules.
- This workflow ensures seamless automation of group status transitions and minimal manual intervention.
* * *
**Accessing Audience Groups in GS**
Audience Groups in Game Server (GS) allow for targeted feature rollouts and experiment segmentation by grouping players based on predefined criteria.
Configuring Audience Groups in GS ensures that the right set of players receives specific settings, enabling more controlled testing and personalisation.
1. Navigate to Game Settings in the GS interface.
2. Click the **“Audience Groups”** button in the settings list view.
The system will open a **new page listing all available Audience Groups as they are configured in Harmony**.
* * *
### **Audience Groups List View**

The **Audience Groups list view** contains the following columns:
| **Column** | **Description** |
| --- | --- |
| ID | Unique identifier for the Audience Group. |
| Player Service ID | Unique identifier for the Audience Group in Harmony |
| Name | Name of the Audience Group. |
| Status | Current status of the group (e.g., Active, Scheduled, Ended). |
| Group Type | Indicates whether it is a Holdout or Rollout group. |
| Start Date | The date when the Audience Group becomes active. |
| End Date | The date when the Audience Group is deactivated. |
| Updated at (UTC) | Date, UTC time and name of the user at the time of the update. |
| Actions | Provides an Edit option for modifying the group. |
### **Sorting Rules**
- Active groups appear at the top.
- Within active groups, sorting is based on the **Start Date** (latest first).
### **Filters Available**
Users can filter the Audience Groups using the following criteria:
**Status**
**Group Name**
**ID**
**Type**
**Start Date**
**End Date**
* * *
**Sorting Rules**
- Active groups appear at the top.
- Within active groups, sorting is based on the **Start Date** (latest first).
### **Filters Available**
Users can filter the Audience Groups using the following criteria:
**Status**
**Group Name**
**ID**
**Type**
**Start Date**
**End Date**
* * *
### **Editing an Audience Group**
1. Click on the **Edit** button under the **Actions** column for an Audience Group.
2. The **Edit View** opens, displaying:
### **Modifying Settings**
- Users can **enable/disable settings** within the Audience Group.
- New groups will have **empty settings** by default.
- A setting is **highlighted** in the list view if at least one configuration is enabled.
### **Saving Changes**
- Audience Groups **can only be saved if at least one setting is enabled**.
- **Settings Search** functionality (similar to Game Settings edit view) is available.
* * *
### **Additional Functionalities**
#### **Activity Log Integration**
- Actions performed on **Audience Groups** are logged in the **Activity Log**.
- Users can access the **Activity Log** from the **Edit View** of an Audience Group.
#### **Displaying Audience Groups in Base Config**
- If a setting is used in an Audience Group, it will be visible in the **Base Config view** , similar to **Experiments**.
#### **Validation for Setting Archiving**
- Before **archiving a setting** , the system checks if it is **currently in use** in any Audience Group.
* * *
**Accessing Audience Groups in Ads Configs**
1. Navigate to **Ads Configs** in Game Server.
2. Click the **“Audience Groups”** button in the Ads Configs list view.
3. The system will open a new page listing all available Audience Groups.
* * *
### **Audience Groups List View**

The **Audience Groups list view** includes the following columns:
| **Column** | **Description** |
| --- | --- |
| ID | Unique identifier for the Audience Group. |
| Player Service ID | Unique identifier for the Audience Group in Harmony |
| Name | Name of the Audience Group. |
| Status | Current status of the group (e.g., Active, Scheduled, Ended). |
| Group Type | Indicates whether it is a Holdout or Rollout group. |
| Start Date | The date when the Audience Group becomes active. |
| End Date | The date when the Audience Group is deactivated. |
| Updated at (UTC) | Date, UTC time and name of the user at the time of the update. |
| Actions | Provides an Edit option for modifying the group. |
### **Sorting Rules**
- **Active groups appear at the top**.
- Within active groups, sorting is based on the **Start Date** (latest first).
### **Filters Available**
Users can filter Audience Groups based on:
**Status**
**Group Name**
**ID**
**Type**
**Start Date**
**End Date**
* * *
### **Editing an Audience Group**
1. Click on the **Edit** button under the **Actions** column for an Audience Group.
2. The **Edit View** opens, displaying:
### **Modifying Settings**
- Users can **enable/disable settings** within the Audience Group.
- Newly created groups have **empty settings** by default.
- A setting is **highlighted** in the list view if at least one configuration is enabled.
### **Saving Changes**
- Audience Groups **can only be saved if at least one setting is enabled**.
* * *
## **User Allocation Logic in Audience Groups**
**If a user belongs to an Audience Group**
**Holdout/Rollout groups take priority** over other configurations, including:
- **User Groups**
- **Overrides**
- **Super Overrides** _(if implemented for Ads Configs at the time of development)_
- **A/B Experiments** _(players in Holdout/Rollout groups are excluded from A/B experiments)_
**A/B Experiments are ignored**
Users in an Audience Group will not be allocated to any new experiments, even if they qualify. However, if they have already been allocated to an experiment, they will remain in the experiment but will not receive any new experiment-based configuration or updates.
The behaviour of users depends on whether the Audience Group is active or inactive:
- **Active Audience Group** : If the audience group is active and within its start and end dates, players in the group will not be allocated to any experiments, whether new or old. They won't receive any experiment configurations at all during this period.
- **Inactive Audience Group** : If the audience group is inactive, players can still be allocated to both new experiments and previous ones. Being in an inactive audience group is almost like not being in the group at all, as they will continue to participate in experiments without restrictions.
**Base Config, User Groups, Overrides, and Super Overrides (if implemented) are used** for settings that are not configured in the audience group in the Audience Group, but **A/B Experiments remain ignored**.
**If a user does NOT belong to an Audience Group**
- Standard priority applies:
**Base Config \> User Groups \> Overrides \> A/B Experiments \> Super Overrides (if implemented)**
* * *
### **Displaying "Audience Groups" in Search Results**
- A new group is added to the **Game Settings Search** called **“Audience Groups”**.
- This group includes **all audience groups** where the required setting is used.
- The **search results** display **No Rules** and **Priority** for this entity.
### **Navigation to Audience Group Edit View**
- The **Audience Group name** is a **clickable link** in the search results.
- Clicking on the **config link** redirects the user to the selected **Audience Group Edit View**.
### **Ordering of Groups in Search Results**
The order in which groups appears in search results is:
1. **Audience Groups**
2. **Experiments**
3. **Overrides**
4. **User Groups**
5. **Base Config**
* * *
## Configuring Holdout Groups for Push Notifications in Harmony
In Harmony, users can exclude specific audience groups from receiving push notifications.
This allows for analysing the uplift generated by push notifications.
The **Settings** sub-menu under **Push Notifications** provides the option to configure a holdout group.
### **Holdout Group Selection**
1. Go to **Push Notifications** in the **Harmony** menu.
2. Click on the **Settings** sub-menu.
3. On the **Push Notifications Settings** page, locate the **"Exclude push notifications for this group"** option.
4. Click on the **dropdown menu** to view the list of available audience groups.
5. The dropdown displays only audience groups with the **Holdout** type.
6. Select the desired **Holdout group** from the list.
7. Click the **Save** button to apply the selection.
### **Expected Behaviour**
- Users in the **selected holdout group** will **not receive push notifications**.
- Users in all other groups will receive notifications as per the standard campaign flow.
- If no group is selected (default: **None** ), notifications will be sent to all eligible users.
### **System Behaviour**
- Only the audience groups with Holdout type are displayed.
- Audience groups with the status **"Archived"** or **"Permanently Archived"** are excluded.
- If a user belongs to the selected **holdout group** , **they will not receive push notifications**.
- If a user belongs to other audience groups, the standard campaign behaviour applies.
* * *