Ad Slots Configuration
Chunk #0
# **Introduction**
Ad Slots improve ad monetisation by supporting a new Bidding system that works with both MAX and Google ads. This update helps track ad performance more accurately by storing recent ad impressions and calculating revenue more precisely.
You will also learn to configure Ad Slot Banks in this user guide.
* * *
# **Key Differences Between Ad Slots and Ad Units**
- Ad Slots are designed to support complex bidding setups by grouping all relevant settings in one place. Unlike Ad Units, which are tightly coupled to a single mediation platform, Ad Slots can accommodate rules for MAX, Meta, and Google networks.
- CPM values for Ad Slots are calculated using a dedicated storage system that tracks the latest impression events:
- Impressions from Google’s and Max’s post-bid mediation are used in Ad Slot CPM calculations.
- In summary, Ad Units are platform-specific identifiers used to serve ads whereas Ad Slots are configuration containers that manage bidding logic, CPM tracking, and data storage for one or more Ad Units.
# **Configuring Ad Slots**
Access the Ad slots as shown in the below image:

## **Settings for Each Ad Slot**
- **Name:** Specify a unique name.
- **Labels:** Select a label from the dropdown.
- **Type:** Select the type of Ad slot. Options: Interstitials or Rewarded Videos
- **Ad Ranking Multiplier:** This setting defines the relative importance of a specific ad network within the client-side ad ranking system. It accepts a floating-point value (minimum: 0.1, up to 2 decimal places).
**Behaviour:**
- Higher values increase a network’s ranking priority.
- Lower values reduce its priority.
- Actual CPM remains unchanged; this only affects which ad is shown first.
**Example:**
Assume 3 cached ads with the same CPM ($10), but different Ad Ranking Multipliers:
| Ad Slot | Multiplier | CPM | Ranking Revenue (CPM × Multiplier) |
| --- | --- | --- | --- |
| Google 1 | 2.0 | 10 | 20 |
| MAX 2 | 1.8 | 10 | 18 |
| MAX 1 | 1.5 | 10 | 15 |
**Resulting display order:**
1. **Google 1**
2. **MAX 2**
3. **MAX 1**
Even though the ranking order changes, each ad unit still has the same CPM (e.g., $10). What we manage here is the order in which networks are prioritised for ad delivery based on their adjusted CPM values.
- **Ad Unit Mediation:** Select between **MAX,** **Google or Meta**.
## **Adding Ad Units**
- Multiple Ad Units can be added per Ad Slot.

Refer to the [Settings for Each Ad Unit](/wiki/spaces/KB/pages/4304109569/Setting+up+Ad+Units#Settings-for-Each-Ad-Unit), [CPM Floor Settings](/wiki/spaces/KB/pages/4304109569/Setting+up+Ad+Units#Setting-the-CPM-Floor), and [Ad Slots Ad Units fields](/wiki/spaces/KB/pages/4304109569/Setting+up+Ad+Units#Ad-Slots-Ad-Unit-Fields) sections for more details.
## Configuring Ad Slot Banks
The Ad Slot Bank feature lets you organise and structure your ad delivery setup by grouping multiple Ad Slots under a shared configuration. You can define complex slot hierarchies and reuse them across monetisation workflows.
### **Accessing Ad Slot Bank Configurations**
To access Ad Slot Banks:
- Navigate to the **Ads** menu in the sidebar.
- Click **Ad Slot Bank** to view all existing configurations.

* * *
### **List View and Filters**
The list displays all configured Ad Slot Banks. Use it to search, filter, or modify configurations.
#### **Key Columns**
- ID
- Name
- Labels
- Availability
- In Use
- Updated At
- Actions: Edit, duplicate, or delete a configuration.
#### **Filters**
You can filter the list by:
- ID
- Name
- Labels
- Availability state
- Created after / updated after
- Created by you
* * *
### **Creating Ad Slot Bank**
- Click **[+New]** to open a configuration view.
**Configuration Fields:**
- **Name** : Enter a name for the bank.
- **Label** : Add tags to help organise or filter configs.
- **Type:** Select Interstitial or Rewarded Videos type for the Ad slot bank.

#### **Adding and Structuring Ad Slots**
Each Ad Slot Bank can contain one or more Ad Slots, with flexible nesting.
- Click **[+ Add Ad Slot]** to add an ad slot.
- From the **Ad Slot Bank 1** dropdown select the pertinent Ad slot.
- Click **[+ Add Child Section]** to add a child section to the Ad slot.
You can add up to three levels of nesting.
- Click **[+ Add Ad Slot]** to add additional ad slots.
| **Field Name** | **Description** | **Comments** |
| **Override refresh period** | If setting is ON, user can configure Refresh period which will be applied for selected Ad Slot. Ad Slots for which refresh period if OFF, will use setting “Request refresh period“ from tab “Waterfall“ While Configuring Ads from the Ads Config section, you can specify the request refresh period from the Waterfall tab.  The Request Refresh period is how long the game waits before attempting to request another ad after a failed attempt. | Type:Boolean - Default: False |
| **Ad Request refresh period** | Period the the game waits before attempting to request another ad after a failed attempt | - Type = Float - Empty by default - Mandatory - Min: 1.0 - Available if **Override refresh period** = true |
| **Enable increment** | Check to enable increments | Type:Boolean - Default: False - Available if **Override refresh period** = true |
| **Increment refresh period with every unsuccessful attempt X** | Specify the refresh rate to multiply in every consecutive attempt (resets on successful request) | - Type = Float - Min: 1.0 - Default: Empty - Available and sent via API if **Override refresh period** = true - Mandatory |
| **Until a max value** | The maximum value that the ad request refresh period can reach. It is equal to basic ad request refresh period if not set in Admin tool | - Type = Integer - Min: 1.0 - Default: Empty - Available and sent via API if **Override refresh period** = true - Mandatory |

#### **Rules and Guidelines**
- At least one Ad Slot is required.
- Slots are not added by default.
- Each Ad Slot must be configured manually if added (defaults are empty).
- You can nest up to 3 levels deep (4 total including root).
- Nesting can be applied to any Ad Slot, and multiple slots can exist on the same level.
- Slot names automatically reflect hierarchy (e.g., 1.1, 1.1.1, 1.1.1.1 etc.).
- Each nested slot can be deleted individually.
- A specific Ad Slot ID can only appear once per configuration.
* * *
Ad Units IDs Configuration
Chunk #0
**Introduction**
The Ad Unit ID configuration system allows you to centrally manage all MAX Ad Unit IDs across your app by assigning them readable names and linking them to specific ad types and platforms. This ensures easier identification and more efficient setup of ads in your monetisation configuration.
* * *
## **New Ad Unit ID Configuration Section**
Access this section via the **Ads → Ad Unit IDs** menu.

### **List View and Available Filters**

### **Standard Fields for New/Edit View**
- Name
- Availability (Edit view only, inherited from Ads Config)
- Labels
- Notes
#### **Fields Descriptions**
| **Location** | **Name** | **Type** | **Validations** | **Hint** |
| --- | --- | --- | --- | --- |
| Ads → Ad Unit ID | Type | Dropdown (Banner, Interstitial, Rewarded Videos) | Default: Interstitial | Select type to configure ID for a specific area |
| Ads → Ad Unit ID | Platform | Dropdown (iOS, Android) | Default: iOS | - |
| Ads → Ad Unit ID | Mediation | Dropdown (MAX, Google, Meta) | Default: MAX | - |
| Ads → Ad Unit ID | Ad Unit ID | String | Mandatory, Unique | Specify ID to be used |
| Ads → Ad Unit ID | Max Analytics bucket | Integer | Mandatory for Interstitial or Rewarded video. Optional for Banners Type. | Defines which bucket should be used for CPM calculation. Default: None |
* * *
## Using Ad Unit IDs and Ad Slots in Ads Config
Once defined, Ad Unit IDs and Ad slots can be selected in ads configuration.
### **Banner ID Settings**
Configure MAX Banner IDs per platform:
- You must select an Ad Unit ID from the predefined list.

| **Location** | **Name** | **Type** | **Validations** | **Hint** |
| Ads → Ads Config → Tab Banners | MAX iOS Banner ID | Dropdown (Filtered Ad Unit IDs) | Mandatory if enabled | Specify Banner ID for iOS |
| Ads → Ads Config → Tab Banners | MAX Android Banner ID | Dropdown (Filtered Ad Unit IDs) | Mandatory if enabled | Specify Banner ID for Android |
### **Rewarded Video Ad Unit Settings**

| **Location** | **Name** | **Type** | **Validations** |
| Ads → Ads Config → Tab Rewarded Videos | MAX iOS Rewarded Videos ID | Dropdown (Filtered Ad Unit IDs) | Mandatory, Default: None |
| Ads → Ads Config → Tab Rewarded Videos | MAX Android Rewarded Videos ID | Dropdown (Filtered Ad Unit IDs) | Mandatory, Default: None |
### **Interstitial Ad Unit Settings**

| **Location** | **Name** | **Type** | **Validations** |
| Ads → Ads Config → Tab Interstitials | MAX iOS Interstitial ID | Dropdown (Filtered Ad Unit IDs) | Optional, Default: None |
| Ads → Ads Config → Tab Interstitials | MAX Android Interstitial ID | Dropdown (Filtered Ad Unit IDs) | Optional, Default: None |
Setting up Ad Units
Chunk #1
Setting the CPM Floor
**Setting the CPM Floor**
Game Server provides two types of validations for Bidding Floor Type.
- Static
- Formula
**Choosing a Bidding Floor Type**
There are two options for defining the CPM floor:
**A. Static CPM Floor**
- **Definition** : Sends a fixed CPM value to the client, which is forwarded to the mediation system (e.g., Max, Google, or Meta).
- **How to Configure** :
- **Behaviour** : The same CPM value will always be used for bidding.
**B. Formula-Based CPM Floor**
- **Definition** : Dynamically calculates the CPM floor using the following formula:
- If **Median** is selected in the Formula type dropdown field:
_interstitial\_cpm\_floor = Median (most recent **N** CPM values) \* **K** _
- If **Average** is selected in the Formula type dropdown field:
_interstitial\_cpm\_floor = Average (most recent **N** CPM values) \* **K** _
This formula allows you to determine the number of CPMs stored ( **N** ). If the number of CPMs is lower than **X** (Minimum number of events required for calculation), Game Server won’t return anything, or will return a static value as determined by the settings.
**Determining N for Each Ad Unit**
- N represents the number of most recent CPM values retrieved from a bucket for median calculation.
- **How is N Defined?**
- **Handling Fewer Events than N** :
- **Minimum Number of Events:**
- **Behaviour for Insufficient Events (Fewer than X)**:
- **Multiplier K:**
- **Use successful ad requests only:** Enable/Check if you want to use only successful ad requests for calculation.
- **Use static in case of failed requests:** Enable/Check in case you want to send static value instead of formula calculation when a number of latest requests have failed. if static is selected for fallback value and Percentile is enabled, the system will firstly check if it is possible to use the static CPM based on percentiles. If yes, than the value is obtained from there. If no, the system will use the fallback value OR nothing. In case of nothing usually the system sends 0.0 as floor.
- **Number of failed requests:** Specify number of latest failed requests. If this number is reached, static value will be used instead of formula calculation.
For detailed information on how Analytics Buckets work, refer to this [User Guide](https://tripledotstudios.atlassian.net/wiki/x/BIBUAQE).
* * *
# MAX Rewarded Videos Ad Units
This setting allows you to manage and optimise rewarded videos ad units for the MAX ad platform. By configuring these units, you can control the delivery and behaviour of rewarded videos.
To do so, follow the steps below:
1. Navigate to **Ads \> Configuration \> Rewarded Videos** , and enable **MAX rewarded videos ad units** by clicking on the  **[green + sign].**
2. Once enabled, click **[Add].**
3. Fill in the required fields using the information described in the table below. You can add or remove Ad Units by using the buttons **[+Add]** or **[-Remove]**.
There are no limitations regarding the number of Ad Units you can add.
## Max Rewarded Videos Ad Unit Fields
| **Field Name** | **Description** | **Comments** |
| **Max iOS Rewarded videos ID** | AD unit ID configuration that includes the ID for the Ad unit in iOS | - Type: Dropdown with pre-defined options - Default: Empty - Mandatory - At least one symbol must be added |
| | | |
| **Max Android Rewarded videos ID** | AD unit ID configuration that includes the ID for the Ad unit in Android | - Type: Dropdown with pre-defined options - Default: Empty - Mandatory field - At least one symbol must be added |
| | | |
| **Request limit counter** | This field displays the number of number of requests which client will try to make in order to get an Ad from the mediation platform | - Default: Empty - Mandatory field |
| | | |
| **Auto Retry** | Uncheck this box if you don’t want to retry loading ad units in case the first attempt to load the ad unit fails. Please note this is a client-side setting and the full configuration needs to be done on the Client. | - Enabled by default |
| | | |
| **Sequential Fill** | Uncheck this box if you don’t want to enable sequential filling if the first attempt to load the ad unit fails. Please note this is a client-side setting and full configuration needs to be done on the Client. | - Enabled by default |
| | | |
| **Bidding Floor CPM. Bidding Floor Type** | This field determines the CPM floor value to send to MAX for the rewarded video bidding. There are 2 options: - **Static** , where you determine a set value in dollars so that the Client can send it to Max for bidding - **Formula** , where a formula based on the past 50 collected events calculates the bidding floor. The settings are the same that apply to [Setting the CPM Floor](https://tripledotstudios.atlassian.net/wiki/spaces/KB/pages/4304109569/Setting+up+Ad+Units#Setting-the-CPM-Floor). - Percentile, which allows setting CPM floor values based on CPM percentiles. For example, the 80th percentile represents the CPM value below which 80% of impressions fall. Floors can be configured per country or per platform, cohort, and other parameters for the configuration. | - Default: Static - If **Static** is selected, Game Server will display the fields “Fallback CPM Value and Percentile Configuration“ |
| | | |
| **Static CPM Configuration. Fallback CPM Value** | Specify a fallback floor value to be sent to Max for Rewarded Video bidding. | - Type: Float - Default: Empty |
| **Formula Parameters.Formula Type** | Defines the type for calculating the formula. | Type: Dropdown with the following options: - Median - Average - Default: Median |
| **Formula Parameters.Use successful ad requests only** | Enable if you want to use only successful ad requests for calculation. | - Type: Boolean - Default: OFF - Available if type = formula |
| **Formula Parameters.Min ad requests to apply formula** | This field is used to provide minimum number of interstitials which should be taken into account to calculate formula | - Type: Integer - Mandatory if “Formula” is selected in “Bidding floor type” - Default: Empty - Min 1 - Max: 50 - Must be less than the value provided in the setting “Ad requests to apply formula to“ |
| **Formula Parameters.Ad requests to apply formula to** | This field is used to provide maximum number of Rewarded Videos which should be taken into account to calculate formula | - Type: Integer - Mandatory if “Formula is selected in “Bidding floor type” - Default: Empty - Min 1 - Max: 50 |
| **Formula Parameters.Percentage coefficient** | Specify the multiplier to minimise the Bid floor. | - Mandatory if “Formula” is selected in “Bidding floor type” - Min: more than 0 - Max: 2 - Max number of characters after comma = 2 - Incase multiplier results in `max_interstitials.cpm_floor` value with more than 2 characters after comma, GS rounds off the result using math rules. - (e.g. if we have as a result value 1,234 -\> round to 1.23 but if 1.235 -\> round to 1.24) |
| **Formula Parameters.If insufficient ad requests** | Defines the system behaviour when there is insufficient data for calculation. CPM percentiles can be used if enough information is not available for formula calculation. If “Return static value“ is selected, GS will send value from “Static floor CPM“. If “Return nothing“ is selected, GS won’t send any value. | Dropdown with the list of options provided below: - Return fallback value - Return nothing - Default: Return fallback value |
| **Formula Parameters.Use static in case of failed requests** | Enable this in case you want to send static value instead of formula calculation when N latest events have failed. CPM percentiles can be used if enough information is not available for formula calculation. | - Type: Boolean - Default: OFF - Disabled if “Use successful ad requests only” = true |
| **Formula Parameters.Number of failed requests** | Specify a number of latest failed requests. If this number is reached, static value will be used instead of formula calculation. | - Type: Integer - Default: empty - Disabled if “Use static in case of failed requests” = OFF - Mandatory and enabled if “Use static in case of failed requests“ = ON - Min: 1 - Max: 50 |
For information on setting up the CPM Floor, [refer to this information.](https://tripledotstudios.atlassian.net/wiki/spaces/KB/pages/4304109569/Setting+up+Ad+Units#Setting-the-CPM-Floor)
* * *
# **Adding Ad Units to Ad Slots**
While configuring an Ad slot, you need to add Ad units.
- Multiple Ad Units can be added per Ad Slot.
## **Settings for Each Ad Unit**
- **IDs** (Dropdown from Ad Unit IDs based on platform and Ad Slot type).
- **Requests Limit Counter** (Integer, Default: 5).
- **Auto Retry & Sequential Fill** (Available for MAX and META mediation only. Not available for Google).
Refer to the [Ad Slots Ad Unit Fields Table](https://tripledotstudios.atlassian.net/wiki/spaces/KB/pages/4304109569/Setting+up+Ad+Units#Ad-Slots-Ad-Unit-Fields) for more details.