Log In
You can then view all documents
GroMore/操作指南/使用指南/Suggestions for Waterfall Optimization
Suggestions for Waterfall Optimization
Last updated 2022-12-29 11:10:17

This document on waterfall optimization is intended for developers who are unfamiliar with waterfall configuration and want to use GroMore to generate waterfalls.

1. Configuring Waterfall Layers

When using waterfall, it is recommended to use multiple ad networks in a staggered manner and set more layers for ad networks that contribute more to app monetization revenue. It is important to note that: you should adjust the number of ad slots based on the fill rate of each ad slot, the proportion of revenue contribution of each ad slot, and the rationality of the price differences between different ad slot layers.

1. The recommended number of ad slots for a waterfall is as follows:

Splash Ads

In-Feed Ads/Banner

Rewarded Video Ads/Full-Screen Video Ads




2. During initial configuration, it's recommended to assign layers to ad networks based on the proportions of their revenue contributions. For example, if, according to historical data, the proportion of revenue contributions of ad networks A, B, and C are 60%, 30%, and 10% respectively, and there are 10 ad slots, then assign 6, 3, and 1 of those to ad networks A, B, and C respectively.

3. The number of impressions of each ad slot is important, as low impression numbers can cause the data performance of ad slots to become unstable. A minimum difference of 3-5 CNY between different layers is recommended for an ad network. In addition, try to optimize waterfall configuration based on your business conditions.

4. In order to avoid traffic waste and improve traffic fill rate, you should set a bottom ad slot without a base price for each waterfall.

2. Target CPM-Based Ad Slot Pricing

When adding ad slots to a waterfall, it is recommended that the prices used for sorting purposes are consistent with their actual base prices to reduce data gaps.

1. Set the price of each layer based on eCPMs obtained from a single ad slot: First, assign the same ad slot without a base price to each ad network to get their eCPMs. Secondly, multiply the eCPM of the ad network with the highest eCPM by 2-3 times, and use the resulting value as the price of the first layer. Next, adjust and finalize the price for the first layer after observing its fill rate. Lastly, repeat the above steps to set the base prices for the remaining layers.

Note: This method may require developers to perform multiple tests and adjustments to explore the lower price range limit and price intervals.

You can use the GroMore A/B test tool to quickly obtain the eCPM of each ad network using a single ad slot by following the steps below:

  • Under the same ad unit, set up two groups, Group A and Group B, and allocate them the same amount of traffic. In both groups, set up an ad slot without a base price for two different ad networks, Ad Network 1 (ADN 1) and Ad Network 2 (ADN 2) (one of them should be CSJ). For Group A, place ADN 1’s ad slot at the first layer and ADN 2’s ad slot at the second layer. For Group B, place ADN 2’s ad slot at the first layer and ADN 1’s ad slot at the second layer.
  • After 2-3 days, you should be able to obtain the eCPMs of ADN 1 in Group A, and ADN 2 in Group B.

2. Adjust the price of each ad slot based on fill rates: The higher the eCPM base price of an ad slot, the lower its fill rate. Try to maintain the fill rate of each layer at above 5%, and no less than 1%. You can try to increase the price of the first layer if the fill rate of an ad slot is at 10% or more, except for Splash Ads.

3. Adjust prices based on the density of returned ads: Reduce price intervals for price ranges with a high density of returned ads, and do the opposite for those with a low density of returned ads. Meanwhile, if an ad slot's contribution to a waterfall's overall revenue is less than 2%, you may consider removing it.

4. Use the same price for different ad networks. By doing so, the one with a higher fill rate will have a higher priority. If there are multiple ad networks using the same price (or if they have similar eCPMs), prioritize them based on their fill rates to reduce the time required for traffic filling.

5. Please note that in order to set prices based on eCPM, you have to get permissions from ad networks. The prices you manually enter when creating ad slots using GroMore will only affect how the ad networks are prioritized "by price" for ad requests. On CSJ, eCPM-based pricing is enabled by default for all media using GroMore.

3. Configuring Waterfall Attributes

1. The attributes of a waterfall include serial or parallel mode and the request timeout duration settings. The configurations for different ad types vary greatly. When working on initial configurations, it is recommended that you use GroMore’s default configuration or rely on your own experience if you have any, and make optimizations later.  We suggest optimizing the following core metrics: the traffic fill rate and impression rate at both ad unit and ad slot levels.

2. GroMore's default configuration is as follows:

  • Serial or Parallel Mode: Fixed layers in parallel mode (2 layers in parallel mode by default)
  • Timeout Duration for a Single Request: 2 seconds
  • Overall Timeout Duration for Requests:

Ad Types

Range (seconds)

Default Duration (seconds)

Splash Ads



Banner/Interstitial Ads/In-Feed Ads



Rewarded Video Ads/Full-Screen Video Ads



3. With a single request in parallel mode, the fewer the layers are, the longer the traffic filling time, and the more likely timeout will happen. Under the premise that the number of layers in a waterfall is reasonable, if timeout frequently happens for single requests, increase the timeout duration for a single request; if the overall timeout for requests often occurs, increase the number of layers or the overall timeout duration for requests.

4. Please note that: "Timeout for a Single Request" is how long a request lasts before a new one automatically replaces it; "Overall Timeout for Requests" is how long it takes before ads cease to be returned for requests.


4. Other Suggestions

1. GroMore provides convenient and differentiated operation tools which, if used properly, may greatly improve your monetization revenue.

  •  A/B test tool: It has a robust traffic allocating capacity and a dashboard for data visualizations, which can help you optimize waterfall configuration by comparing how each configuration performs in terms of revenue. For example, you can test how changing certain waterfall configuration aspects, such as using "Overall eCPM-Based Priced Ad Slots" or "Mix of CSJ Bidding + Other Ad Networks eCPM-Based Priced Ad Slots" and changing the order of prices, affects revenue before you finalize the configuration. Please refer to this link for a detailed introduction to A/B test tool features.
  •  Traffic grouping: It can be used to group traffic into different groups on many levels. You can then configure different waterfalls for different groups to increase monetization revenue. For example, you can group traffic by existing/new users, if device information is available, advertising channels, etc. Please refer to this link for details on the traffic grouping feature.

2. By default, CSJ’s reporting API data is called back to GroMore. A convenient tool for data callback through API, called DMPlatform, is provided for other ad networks. In order for the GroMore team to help you when you encounter issues, it is recommended that you authorize API data from other ad networks. Please refer to this link for details on how to configure reporting API data return for non-CSJ ad networks.

3. GroMore releases a major update every month, while how often Adapter updates depends on the update frequencies of ad networks. To ensure a stable performance and revenue, it is recommended to update and use the latest version of GroMore SDK.

5. Outstanding Performance Data & Successful Cases

1. According to experience from premium media outlets, the traffic fill rate of waterfall ad units can reach over 90%, while traffic impression rates can reach over 70%.

2. Take the waterfall configuration for a Splash Ad from an outstanding media as an example:

  • Number of ad networks: 2;
  • Number of waterfall layers: 5 layers with bottom ad slots that have no base prices;
  • When using a single ad slot, CSJ performs better in terms of eCPM, which is around 60. The number is multiplied by 2 (which is 120) and is used as the price for the ad slot at the first layer. The price differences between different layers are 20 CNY, 20 CNY, and 40 CNY respectively;
  • Waterfall attributes used: Default values, i.e. 2 fixed layers in parallel mode, Timeout for a Single Request at 2s, and Overall Timeout for Requests at 5s;
  • At the ad level, the traffic fill rate is 93.57% (> 90%), while the impression rate is 78.07% (> 70%);
  • All fill rates at the ad slot level are more than 5%;
  • The revenue percentages of each ad slot account for 5% to 33% of the total waterfall revenue, with an average of 20%. This percentage meets the requirement of at least 2% for each ad slot.


Contact us