Segments

Segments allow you to optimize the user experience and maximize engagement in your app through customizable ad flows. By dividing your users into groups based on parameters including actions and specific characteristics, you can apply different monetization strategies that deliver the most relevant ad experience for each group.

The ironSource segments tool helps you create these dynamic groups, control their ad journeys, and get valuable insights on revenue and engagement so you can continuously improve your strategy.

Follow these steps to create and use segments:

Step 1: Create a new segment

Note: To define segments, you’ll need to configure ad units for your app. If you haven’t defined your ad units yet, go to Ad Units & Placements to get started.

On left side nav bar, under MONETIZE, scroll down and select Segments. All of the segments you create for your app will be visible on this page.

Click New Segment to add a segment for the specific app. You’ll be directed to the Segment Settings page where you can categorize your users and create your user segment based on different conditions.

Create conditions 

Each segment can include up to 10 conditions. ironSource supports the user properties listed below. Some of them are collected by the ironSource SDK while others must be sent to ironSource through the API. You can also create up to 5 custom user properties.

Follow these steps to pass the user’s details to ironSource:

Supported user properties

User property Description Limitation Wildcards Data collected by the SDK Example
Country User’s country Select from a list of ~250 countries Germany
App version User’s app version Up to 32 characters 4.2.3
SDK version ironSource SDK version within the user’s installed app Up to 32 characters 6.3
User creation date Date the user installed the app ≥0 1644912626
Connection type User’s network connection  up to 32 characters cellular
Device model User’s device model series up to 32 characters iPhone 6 
Device manufacturer User’s device manufacturer up to 32 characters Samsung
OS version (iOS only) Operating system version on the user’s device up to 32 characters 10.0.1
API level (Android only) The API level on the user’s device up to 32 characters 21
Level Game level reached by the user  up to 32 characters 10
Paying user True if the user has spent any money on in-app purchases. False if the user has not spent any money on in-app purchases True or False
IDFA True if the device has allowed IDFA tracking. False if the device refused IDFA tracking True or False
COPPA Based on the COPPA SDK functionality to flag specific end-users who indicated that they are younger than13. Learn more here True or False
Total in-app purchases Total amount of money the user has spent in your app  1-999999.99 15
Custom property Additional data you would like to use for segmentation up to 5 custom properties; alphanumeric up to 32 characters Type of in-app purchase, install source, language
Age User’s age 1-99 15
Gender User’s gender Male or female Male or female

To configure the criteria for the condition, select the operator (Equals, Less Than, Greater Than, etc.) and enter a correlating value.

In addition to the supported user properties, you can also set one of these custom conditions:

  • Custom segment

Handle all of the segmentation process in your app, and use the SDK to inform when a user is a part of this segment, without providing individual user details

Pros: Totally confidential, not much platform configuration needed

Cons: Can’t combine with more properties (it’s a standalone property)

  • Custom property

Send the property value by using the SDK Segment API. All of the segmentation progress happens on LevelPlay 

Pros: Can be combined with other properties

Cons: none

Note: When you select Custom Segment under Conditions, you’ll need to enter the identical name of the segment as written in the API so Level Play can recognize the custom segment.

Wildcards

Wildcards are single character placeholders that can be used to stand in for a number of characters in a text value. ironSource supports three standard wildcards in string type user properties: asterisk (*), comma (,) and question mark (?).

  • Asterisk
    The ‘*‘ placeholder matches any number of characters and must be placed before or after the value. consecutive asterisks, i.e. ** are not supported
  • Question mark
    The ‘?‘ placeholder matches a single character and can be placed anywhere in the value (before, in the middle, or after). ironSource supports consecutive question marks to stand in for multiple characters, e.g.. c??p to represent comp, coup, clip.
  • Comma
    The ,‘ placeholder allows for a list of comma separated values in the string and functions as an OR operator. ironSource supports up to 5 comma separated values, e.g. iPhone 4S, iPhone 6, Galaxy S4, Nexus 4, HTC One.

Set segments order

The order of segments is critical to determine what is the right segment for the user, since a user can belong to only one segment at a time.

If user settings are applied to more than one segment, the higher priority segment will be chosen.

Segments are ordered from top to bottom, with first priority given to the top of the list. The default position for each new segment is at the bottom of the list.

To change the order of segments, simply drag and drop each segment into the list position you prefer.  

Step 2: Use segments 

There are many strong use cases for segments. Follow these instructions to create the 3 most popular segments.

Use case 1: Waterfall by segment

Connect a segment to a waterfall by using mediation groups. 

    1. On left side nav bar, under MONETIZE, scroll down and select Mediation
    2. Click on the Add group button
    3. Define your group
      • Name your group
      • Select the countries to be delivered in this group
      • Choose 1 or more segments for the group
    4. Set up your waterfall
      • Inside the group, choose to activate or deactivate instances (bidders and traditional instances) 
      • In the waterfall, configure the settings (rate, cap) for each instance

Note: When you choose more than 1 segment per group, the relationship between the group is always OR. This means that a user only needs to comply with 1 chosen segment to be included in the group.

The order of the groups is important, so make sure to prioritize the groups to fit your strategy. The group in the top position will be prioritized 1st. If a user complies with the group’s conditions (countries and segments), then the group’s waterfall will be served. 

Learn more about groups in your mediation management here.

Note: To exclude specific networks from your waterfall according to app or OS version, contact us or reach out to your account manager.

Use case 2: Ads strategy by segment

To create an ad strategy by segment, you must have placements for your ad units. Learn how to add placements here.

You can create a different ads strategy for each segment with the following settings:

  • Ad delivery – Turn on/off all ads delivery for a specific placement
  • Caping and pacing –
    • Turn on/off capping or pacing for a specific placement
    • Change capping interval (days/hours)
    • Change amount for both capping and pacing
  • Rewarded – Change the amount of each reward for a specific placement

Here’s how:

  1. On the Segment Settings page, scroll down to Define Exceptions. This is where you’ll  set the exceptions for your defined ad units to customize the ad delivery for the segment.

  1. Create an exception for each selected placement. The settings defined here will override the placement settings for users who belong to the segment.
  2. You’ll see all of the exceptions you set for each placement on the Segments page 

Use case 3: Reporting

When you add a segment to your ad monetization strategy, it will be visible in your reports when you choose to break the data by segment.

Step 3:  Monitor the impact of your segments

You can break down your data by segment in the following reports:

Dynamic segmentation

Note: Dynamic segmentation is supported by SDK 7.2.0+

Dynamic segmentation enables you to change a user’s segment actively during a session for more accurate segmentation. Dynamic segmentation is especially useful for creating dedicated waterfalls per segment and optimized ad strategy per segment.

What can cause segment changes during a session

In general, there are 2 types of triggers that can cause a user’s segment to change:

  • User behavior 

You can segment users by every action they make inside your app, and change the segment dynamically according to each action. 

For example: If a user makes a purchase or subscribes to a service, the user can move from a non-paying to a paying user segment, and experience a different ad strategy.

  • User location in application

You can segment users by the pages / placements they visit inside your app. And basically, this will give you the option to have waterfall by placement / ad strategy by placement. The way to do this is by make a new segment and make sure the user is apply the segment conditions when reaching to the desire placement 

For example: If a user makes it to stage 10 in the game or sees the goodbye screen, the user’s segment can change from “NewUsers” to “AdvancedUsers”