avatar image

When a developer is ready to show an ad but the video isn’t ready, their users’ experience could suffer - and due to missed opportunities to show an ad, so can revenue. 

By using latency data to pinpoint optimization opportunities, you can increase impressions and improve your user experience, ultimately boosting revenue. Let’s explore how to get started with latency optimization.

Does my app have a latency issue?

First, you need to confirm if you have a latency issue - you might not even have one at all. Let’s review the key latency terms: 

  • Waterfall latency is the time (in seconds) it takes to get an ad ready, from the moment an ad is requested until it’s ready to show
  • Instance latency is the time (in seconds) it takes for an instance to respond to an ad request 
  • Latency tolerance is the average duration of time a developer is willing to accept between ad impressions

You only have a latency issue if your waterfall latency is higher than your latency tolerance - in other words, if it takes longer to get an ad ready than the time you have set between ads. 

If you don’t know your latency tolerance, you can calculate it using internal BI metrics - or you can estimate it by playing your game and measuring exactly how often you’re seeing ads. Pay attention to the ads carefully - if they’re not appearing at the moments they’re scheduled for, it’s an issue worth investigating and minimizing. 

How do I fix my latency issue?

Reducing latency is a multi-step process and differs depending on the ad unit - let’s start with banners and interstitials. 

The first step is identifying instances that are taking too long to load - and LevelPlay’s real time pivot can help you do just that. Here’s how to find and delete them. 

Identify waterfalls with potential

Start by identifying waterfalls that need optimizing, and focus where optimizing could make the most impact on revenue. Look for apps, ad units, and geo groups with relatively high waterfall latency and high revenue.

Then you can generate your own waterfall from the past 7 days using the app, ad units, and geo groups you found as your waterfall filters. To optimize for latency, your waterfall measures should include “revenue,” “revenue SOW (share of wallet),” “instance latency,” and “eCPM” as measures. Make sure to sort it by eCPM.

Identifying problematic instances

Now identify your target: instances that are slowing down your waterfall and not generating enough revenue to justify the slowdown. 

First, count how many instances you have in your waterfall (on Unity LevelPlay, you can find this by going to the mediation management page, where you can download a CSV of your waterfall). 

This gives you key information: whether you have a short or long waterfall. A short waterfall just has a few instances causing latency issues - but assuming you have a long waterfall (e.g. 50+ instances), you’ll need to pinpoint many problematic instances. 

Next, use your revenue filter to find instances that have the least impact on revenue - we suggest anything generating less than 0.3% of your revenue to start.

Then, count how many instances are filtered and the sum of their overall share of wallet. It’s important to find a balance between instances contributing to your revenue share of wallet (market share of revenue) and instances causing latency. Generally, it’s best to remove the most instances possible without reducing your revenue share of wallet more than about 6%. It’s too risky to remove more than 6% of your share of wallet, but removing anything less than 3% may not have enough of an impact on your latency.

So, if you’ve counted your instances and the sum of their overall share of wallet is more than 6% or less than 3%, you should adjust your revenue filter as needed. If the share of wallet is too high, then lower the filter to 0.2% - and if it’s too low, try raising it to 0.4%. 

During this process, make sure you’re focusing on a few things:

  • Only non-bidding instances
  • Instances towards the top, not the bottom of the waterfall - the instances at the bottom aren’t causing delay like the instances at the top are

Reducing latency in a short waterfall

Even if you’re looking at a short waterfall, you might still find yourself having latency issues. In this case, the latency isn’t caused by having too many instances in your waterfall - rather, it’s a case of specific instances with high latency, so focus on instance latency. 

Try looking for any high-latency instances at the top of your waterfall. If you can identify a problematic instance, decide how to address it - if it has low revenue share of wallet, then A/B test removing it. If it has significant share of in your waterfall (e.g. more than 5%), then you can still A/B test removing it - but pay attention to how that impacts performance .

A/B testing removing instances

Now that you’ve selected the instances you’d like to try removing, you should run an A/B test. Just make your A group the original waterfall, and your B group the new waterfall with instances removed. Make sure the only difference between the groups is the removed instances - otherwise you can’t pinpoint exactly what’s caused your boost (or drop) in revenue. 

As you analyze your test results, keep an eye on your KPIs - your B group should have decreased waterfall latency, which should lead to increased impressions per DAU, ARPDAU, and ARPU.

What about rewarded video ads?

With rewarded video ads, optimizing with latency is a slightly different process thanks to progressive loading. It works by setting up the ad loading process in advance - while the user is watching the first ad, the second one is already loading, and so on. Like other ads, rewarded videos can still have latency - but thanks to progressive loading, you should only see latency during the first video of a session (session depth 1). 

To examine rewarded video latency in your waterfall, just break up your waterfall by “session depth” and keep an eye on waterfall latency. Then, you should confirm two things - first, placements with back-to-back rewarded videos have less than one second of latency (from the second video onward). Second, make sure your first video doesn’t have high latency. Any instances that don’t pass these two tests are worth investigating and even A/B testing their removal. 

*If you decide to remove instances, it’s important to see how this might impact later sessions - so make sure to first remove the “session depth” filter from your view*

The further you dig into your waterfall’s latency, the further you can optimize it - and it’s never too late to get started. Latency optimization is a win-win: while your users can get a better experience, you can boost impressions and revenue. 

Let's put these tips to good use

Grow your app business with ironSource