Skip to main content

Segments

1. Functions#

The segments support the configuration of different Ad sources for different user groups, and developers can refine their cash flow according to their own traffic. Currently TradPlus supports a variety of traffic rules, such as country/region, app version, SDK version, etc.

Starting from Android V5.4.0 and iOS V5.1.0, TradPlus supports multiple grouping rules.


2. Usage guides#

2.1 Instructions#

  • The waterfall for segments is divided into three modules: manual, sorting by price, and low priority.

  • The priority between the three modules is that the manual sorting module is higher than the sort by price module, and the sort by price module is higher than the low priority module.

  • The lowest sorted Ad source in the manual sorting module has a higher display priority than all the Ad sources in the sort by price module.


2.2 Configure segments#

2.2.1 Add and configure segments#

1)In segments, select the apps and segments you want to add, and click [Add Segements].


2)Fill in the configuration information for segments

Configuration itemInstruction
Segment NameEnter a customized name for the segments.
Countries/RegionsSelect the country in which the segments are in force. If there is no need to distinguish between countries, this may be omitted.
Add a new rule or copy an existing ruleSelect the rules in effect for the segments. If you do not need to configure rules, you can leave this item unselected.
SDK Request Ad Timeout DurationThe default is 60 seconds, it is recommended to keep the default setting upfront.
SDK Bidding timeout durationThe default is 5 seconds, it is recommended to keep the default setting upfront.
Parallel Request CountThe initial default value is 3.
Reserved Bidding Source Count● Bidding Reservations are the number of Bidding Ad sources that are reserved after successful bidding, in descending order of price.
● The default is 2. It is recommended to keep the default setting upfront.
Bidding Floor Price● Bidding reserve price is the lowest bid per thousand displays for a Bidding Ad source.
● It is recommended not to configure Bidding reserve price in the first stage, and then configure it according to the actual data situation.
Ad sources usedCheck the Ad sources to be used.

3)Sort of segments

It is recommended that the segments be sorted according to the following rules:

  • Ad sources that have been added and enabled for Bidding will be automatically displayed in the [Header Bidding] area;

  • The remaining Ad sources that have been added and turned on will be automatically displayed in the [Sort by Price] area when “Auto Price” is turned on, and TradPlus will sort them according to the sorted price in descending order.


2.2.2 Add ad sources#

You can add Ad sources in [Segments]:

1)Click [Add Ad Sources].


2)Fill in the ad source information.Please check the below link to find more information about ad networks. [Guidelines on how to configurate on TradPlus integrated ad networks:TradPlus 已聚合广告平台列表 - 配置指南

To add a Bidding feed, you need to choose to turn on Header Bidding mode when adding a feed.


2.2.3 Configure Ad Sources#

1)Hover over the ad source to be configured and click More.


2)Configure frequency, no display frequency is recommended.

The role of frequency control: developers can flexibly control the display frequency of each Ad source for the allocation of Ad display volume. To notice:

  • Support to configure display frequency for all types of Ad sources, including bidding Ad sources, general Ad sources, cross-promotions etc.
  • After setting frequency for an Ad source, it will only take effect for that intermediary segments, and will not affect the frequency settings for that Ad source under other intermediary segments.
  • If you set frequency for both Ad unit and Ad source dimension, the effective rules are as follows:
  • First determine whether the Ad unit dimension has reached the frequency limit, if not, then continue to determine whether the Ad source dimension has reached the frequency limit;
  • If the Ad unit dimension has reached the upper frequency limit, then no longer judge the frequency situation of the Ad source dimension.

Capping Setting itemInstruction
Capping(Hour)Set the maximum number of ads displayed by a single user.An integer from 1 to 1000 can be entered.
Capping(Day)Set the maximum number of ads displayed by a single user.An integer from 1 to 1000 can be entered.
Pacing(Min)Set the interval between this presentation and the next request.

3)Disable / Enable AutoPrice, it is recommended that AutoPrice is turned on, when it is turned on:

  • TradPlus will prioritize the average eCPM of the last 3 days of the Ad source for sorting purposes.

  • If the total number of impressions in the last 3 days is less than 200, then the average eCPM of the last 7 days will be used.

  • If the total number of displays in the last 7 days is less than 200, then the manually entered sort price will be used.

Average eCPM formula: Aggregate Revenue / Aggregate IMP * 1000


4)Configure the timeout duration, the default is 60 seconds, it is recommended to keep the default configuration upfront.


5)Move to Closed Area closes the Ad source and the system automatically moves the source to the closed area.


2.2.4 Advanced Settings#

1)On the [Segment] page, click [Advanced] in the upper-right corner to enter the advanced settings page for segments.


2)Optionally turn on/off the display of the manual sort area:


3)Parameters for individual segments can be adjusted and are described in the following table:

ParameterInstruction
Parallel Request CountA parallel request count of 1 indicates serial requests. If the count is n (n > 1), TradPlus requests n ad sources simultaneously. If not filled, it continues requesting until n ads are filled or the waterfall ends.
Bidding Floor PriceBidding Floor Price is only effective for bidding and TradPlus Exchange. When a bidding ad source bids below the bidding floor price, TradPlus will automatically filter out this bid result.
Setting a bidding floor price may reduce the reponse rate and revenue from bidding ad sources. Please set it cautiously. The minimum floor price is 0.01.
Reserved Bidding Source CountIf Reserved Biddings are set n, only n bidding sources with the highest price will be reserved and others will be filtered out automatically.
Setting a bidding floor price may reduce the response rate and revenue from bidding ad sources. Please set it cautiously.
Server Bidding TimeoutMax wait time for TradPlus SDK to receive a response from TradPlus server after sending a bid request.
Ad Source Request TimeoutMax wait time for TradPlus SDK to receive a response from a network SDK.
Ad Loaded Callback ModeTradPlus Android SDK ≥ v8.0 and iOS SDK ≥ v7.7 support eCPM priority and speed priority modes, while Android SDK > v9.6 and iOS SDK ≥ v9.6 also support limited-time eCPM priority mode.

TradPlus offers 3 ad loaded callback modes, each with different timing for notifying apps of "ad loaded". Apps can choose based on their scenarios:
1. Speed Priority: For apps needing frequent ad displays where users won't wait.
2.2. eCPM Priority: For apps not needing frequent ad displays where users can wait.
3. Limited-time eCPM Priority: For apps not needing frequent ad displays but with limited wait time.
If unsure which mode is best, you can try A/B test for comparison.

4)When there are multiple intermediary segments to be adjusted and each intermediary group has the same parameters to be configured, the configuration efficiency can be improved by the batch operation function: check all the intermediary segments, click [Batch Operation], and select the parameters to be adjusted.


2.3 Configure traffic grouping#

2.3.1 Functions#

User segment refers to divide users into groups based on certain criteria, including user attributes, user behaviour, geographical locations, etc. It also supports developers to customize attributes and rules. Developers can configure different waterfalls for different subgroups to achieve fine-grained operations.


2.3.2 Usage guides#

i. Instructions#
  • TradPlus reporting data

The following data is reported by the TradPlus SDK and does not need to be processed by the developer.

FormParameterCategoryConditionalNumber of rulesDescription
appapp versionversionIncluded, excluded1Fill in version name for Android and version for ios. Include and exclude multiple version numbers, separated by English commas.
appApp Installation Timeintranges、>、<1From the first initialization of the TradPlus SDK
appSDK VersionversionIncluded, excluded 、ranges、>、<1TradPlus SDK versions, including and excluding, can be filled with multiple version numbers, separated by English commas. For > and <, only one can be filled in.
deviceIDFAstringIncluded1For when iOS14 is not available, we can create a traffic grouping categorizing these devices by whether or not the user has authorized IDFA. (This metric is only available for iOS products)
deviceDevice IDstringIncluded1The web side can be filled with multiple device IDs separated by English commas, the device IDs can be IDFA, IDFV, GAID, OAID.
deviceSystem versionsversionIncluded, excluded 、>、<1Cell phone system version, including and excluding, can fill in more than one system version number, separated by English comma. For > and <, only one can be filled in.
deviceEquipment typestring(ignoreCase)Included, excluded1Choice of iPhone or iPad, multiple options available.
deviceequipment manufacturerstring(ignoreCase)Included, excluded1e.g. Huawei , multiple choice
deviceNetwork connection typestringIncluded1Multi-selectable for web, can take values of: WiFi, 2G, 3G, 4G, 5G.

  • App reporting data

The following data is reported by the developer through the sdk interface as needed. If not reported, the following rules will not be available in the segments.

ParameterKeyCategoryConditionalNumber of rulesDescription
Customized User IDuser_idstringIncluded1Multiple user ids can be entered on the web side, separated by commas. In addition, TradPlus can provide device-level realization data (API) based on this user id.
Ageuser_ageintrange 、>、<, =multipleinput number(0-99)
Genderuser_genderstring=1Web side can only be single-selected, can take the value of: male, female; sdk side can pass the value of: unknown, male, female.
Levels in the gameuser_levelintrange 、>、<, =1
Payment amount in the appuser_iap_amountfloatrange 、>、<, =1
In-App Payment Currencyuser_iap_currencystring=1Currently supports USD, CNY, EUR. Single Choice
Number of in-app paymentsuser_iap_countint>、<, =1
ChannelchannelstringIncluded, excluded1The web side supports filling in multiple channel numbers, separated by English commas, and the channel numbers need to be passed in by the developer in the SDK.
Sub-channelsub_channelstringIncluded, excluded1The web side supports filling in multiple sub-channel numbers, separated by English commas, and the sub-channel numbers need to be passed in by the developer in the SDK.
Customized User Attributescustom_xxxstring/intInteger: range, >, <, =; String: include, excludeup to 5The application passes in custom user attributes such as customusername via Key-Value form (key as 'custom' + field name). up to 5 are supported.
segment tagsegment_tagstringinclude1If the SDK reports segment_tag, the waterfall configuration of the specified segment is used. Other parameters are ignored when this parameter matches. Supports up to 1.

ii. Usage#
  • Setting Methods

The interface needs to be called after initializing the SDK and before initializing the Ad unit ID.

This step must be performed on the developer's technical side if the traffic grouping feature is to be used.


  • APP Global Customized Rule Setting
OSMethod
AndroidSegmentUtils.initCustomMap(customMap);
iOS[TradPlus sharedInstance].dicCustomValue = dicXXX
UnityTradPlus.initCustomMap(map);

  • Placement Custom Rule Setting
OSMethod
AndroidSegmentUtils.initPlacementCustomMap("placementId", customMap);
iOS_rewardedVideoAd.dicCustomValue = dicXXX
UnityTradPlus.initPlacementCustomMap("placementId", map);

● Examples

  • Android SDK Code Sample
HashMap&lt;String, String&gt; customMap = new HashMap&lt;&gt;();
customMap.put(&quot;user_gender&quot;, &quot;male&quot;);//Male
customMap.put(&quot;user_level&quot;, &quot;10&quot;);//Game level 10
SegmentUtils.initCustomMap(customMap);//Set rules for APP dimensions that work for all placement
SegmentUtils.initPlacementCustomMap(&quot;placementId&quot;, customMap);//Valid only for this Ad unit and will override the rules set by the APP dimension
  • iOS SDK Code Sample
//Applying customized information for latitude
[TradPlus sharedInstance].dicCustomValue = @{@&quot;user_id&quot;:@&quot;test user id&quot;};
//Ad unit latitude customization information for an rewarded video example
self.rewardedVideoAd = [[MsRewardedVideoAd alloc] init];
self.rewardedVideoAd.segmentTag = @&quot;test segmentTag&quot;;
self.rewardedVideoAd.dicCustomValue = @{@&quot;user_id&quot;:@&quot;test user id2&quot;};
[self.rewardedVideoAd setAdUnitID:_placementId isAutoLoad:YES];
...
  • Unity SDK Code Samples
Dictionary&lt;string, string&gt; map = new Dictionary&lt;string, string&gt;();
map.Add(&quot;user_age&quot;, &quot;18&quot;);//Age 18
map.Add(&quot;user_gender&quot;, &quot;male&quot;);//Male
map.Add(&quot;user_level&quot;, &quot;10&quot;);//Game level 10
TradPlus.initCustomMap(map);//Set rules for APP dimensions that work for all placement
TradPlus.initPlacementCustomMap(&quot;placementId&quot;, map);//Valid only for this Ad unit and will override the rules set by the APP dimension

  • Backend Configuration

1)Add segments


2)Set up traffic rules


3)Reprioritize

When a user meets multiple traffic group rules, you can set the traffic group priority by dragging and dropping to decide which Ad policy to match first.


2.4 Segments reports#

2.4.1 Data Metrics#

The Segments reports allow you to view Ad data for each Ad source with the following metrics:

MetricExplanation
Bid Request APINumber of bid requests retrieved from the ad network's reporting API.
Bid Response APINumber of bid responses retrieved from the ad network's reporting API.
Bid Rate APIBid response API / bid request API.
Win Rate APIRequest API / bid response API.
Request APINumber of ad requests retrieved from the ad network's reporting API.
Ad Source Fill APINumber of ad fills retrieved from the ad network's reporting API.
Fill RateAd source fill API / request API.
Impression APINumber of impressions retrieved from the ad network's reporting API.
Show Rate APIImpression API / ad source fill API.
Click APIClicks retrieved through ad network's reporting API. Note: Some APIs do not return this metric.
CTR APIClick API / impression API.
Fill TimeAverage time taken from app request to app fill.
Request TimeThe average length of each request for an Ad will count request data for all cases of filled, unfilled, and timeout.
eCPM APIAd revenue per thousand impressions.
eCPC APIAverage ad revenue per click retrieved from ad network's reporting API.
Est. Revnue APIEstimated revenue retrieved from ad network's reporting API.
Request percentageNumber of requests for this Ad source / Total number of requests * 100%
Fill percentageNumber of fills for this Ad source / Total fills * 100%
IMP percentageNumber of IMPs for this Ad source / Total number of IMPs * 100%
Revenue percentageRevenue from this Ad source / Total Revenue * 100%

2.4.2 Procedures#

1)Segments reports provide Networks data and Tradplus

  • You can click [API] and [Tradplus] in the upper right corner to switch.


2)Click the icon button in the upper right corner, select [Customize Metrics], and check the data dimensions you need to view.


3)Export Reports

Click the icon button in the upper right corner and select [Export] to export the report.


2.5 Set up the A/B Test#

You can jump to the A/B test function through the segments page.You can fine the instructions here:Advanced settings - A/B Test


3. FAQs#

Q:Why is some of the data underlined?#

A:Some Networks don't share data on Ad requests, fills, etc., and the TradPlus backend uses its own buried data to make up for that part of the data and differentiates it with underscores.


Q:How long does it take for a new waterfall to take effect after a new waterfall is created or a configuration is changed in the segments?#

A:It will take 2 minutes to take effect after the configuration is done in the background, and it will take anywhere from 2 minutes to 1 hour to locally pull the configuration on your phone. For immediate effect, you can clear the cache or uninstall and reinstall the app on your phone.


Q:A segment was created for some devices in the segments, why is that segment not in effect?#

A:

  • If it is a domestic Android phone, fill in the OAID at the rule, the segments won't take effect, which is caused by the fact that TradPlus SDK doesn't actively get the OAID information of the domestic phone. There are three solutions as below:

    • To test using GAID, make sure that the test phone has the Google services framework Google setting installed, and the Ad ID (GAID) can be viewed in the Google Ad setting.

    • Use OAID to ensure that the app calls TradPlusSdk.setAuthUID(Context, true) before initializing the TradPlus SDK.

    • Use of Overseas Cellular Phones

  • If it is an ios phone, the segments are configured with the device's IDFA, and the phone needs to authorize the IDFA permissions of this app for the segments to take effect.

After the app is launched, the IDFA permission app will pop up, this pop-up box will only appear once, and subsequently, if you want to change the IDFA permissions, you need to adjust it in the phone's system settings [Privacy] - [Tracking].


Q:Can TradPlus get the user information if the appdoes not pass the user information such as age and level to TradPlus by using grouping such as “age” and “level” in segments?#

A:No. The Aggregation SDK does not obtain user information in violation of the law. So be aware that if a developer wishes to do waterfall flow optimization on dimensions such as age, user level, etc. in segments, they need to pass the relevant information to TradPlus first.


Q:How does TradPlus determine which country a user is from?#

A:When a user initiates an Ad request from the client, TradPlus will determine it based on the user's IP information.


Q:Does Bidding for segments use server-side Bidding or client-side Bidding, and does it require developers to do technical tuning?#

A:Some Networks use server-side Bidding, some Ad platforms use client-side Bidding.[List of TradPlus integrated ad networks - Configuration Guide

There is no need for developers to do technical tuning, the app side only needs to integrate the corresponding version of the TP SDK and then fill in the Bidding Ad units.


Q:What is SDK Request Ad Timeout Duration?#

A:TradPlus SDK makes requests according to the segments management waterfall configuration, and when requesting an Ad source, if Networks does not respond after the default timeout length is reached, TradPlus SDK will automatically request the next Ad source.


Q:What is the default SDK request Ad timeout length for each ad format?#

A:

  • Rewarded video & Interstitial :60s

  • Banners & Native Ads:10s

  • Splash:10s


Q:What is bidding timeout duration?#

A:TradPlus SDK initiates bidding requests to the configured Networks at the same time. If a Networks platform doesn't respond within 5s, TradPlus SDK doesn't wait any longer and continues to initiate Ad requests to other responsive Networks.


Q:What is the default bid timeout length for each Ad format?#

A:The bid timeout duration defaults to 5s for all Ad formats.


Q:What is the Ad request logic for Bidding+ waterfall?#

A:

  • User launchs the app and the app initializes the TradPlus SDK;

  • TradPlus SDK sends bidding requests to Networks and Networks return eCPM information;

  • TradPlus SDK merges the bidding IDs into the waterfall based on the eCPM level of the bids and combines to generate a new waterfall;

  • TradPlus SDK makes Ad requests and impressions according to the new waterfall strategy.


Q:Why are there more requests for lower floors than for higher level Ad sources in the segments?#

The number of requests for an Ad source is not only related to the sort position, but also affected by the fill rate and Ad expiration time. It is not necessarily true that the higher the sort position, the higher the number of requests.

1. Effect of fill rate

Ad sources with smaller fill rates are also more likely to get requests.

For example, an intermediary segments' waterfall is configured with a total of 4 Ad sources and a cache count of 3. A total of 2 rounds of waterfall are requested:

  • After requesting the first waterfall, 3 Ads are requested in parallel: as1, as2, as4

  • Then as1 is show, triggering a second round of waterfall requests, because as2 is already cached and won't be requested in the second round.

  • After two rounds of loading, ad3 has accumulated more requests than as2.

It can be seen that for two neighboring Ad sources (as2 and as3), if the fill rate of the lower tier source (as3) is small, there may be more requests for the lower tier source (as3) than the higher tier source (as2).


2. Effect of Ad expiration time

Ad expiration times vary by Networks and also affect the number of ad requests.

Still using the waterfall configuration above as an example:

  • After requesting the first waterfall, 3 Ads are cached: as1, as2, and as4. where the Ads for as4 have an expiration time of 0.5h, which is smaller than the 3h for as1 and as2.

  • After 0.5h, as4 is cleared due to Ad expiration, triggering a second round of waterfall requests. As1 and as2 are already cached and will not be requested in the second round. as3 and as4 are not cached and will be requested again.

  • After two rounds of loading, ad3 and as4 have accumulated more requests than as1 and as2.