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
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.
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|
|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
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 (?).
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.
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.
- On left side nav bar, under MONETIZE, scroll down and select Mediation
- Click on the Add group button
- Define your group
- Name your group
- Select the countries to be delivered in this group
- Choose 1 or more segments for the group
- 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
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.
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
- 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.
- Create an exception for each selected placement. The settings defined here will override the placement settings for users who belong to the segment.
- 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 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”