App Monetization: When Advertising Becomes a Detriment to Your Application…
Recently the ARO team was asked to speak at the Application Developers Alliance: Monetization workshop in Seattle. Overwhelming we heard throughout the day that advertising is the most effective way to monetize your application, and that analytics are necessary for any developer who wants to understand their users. What we didn’t hear was how advertising and analytics need to be considered wisely. Like everything else within your application, developers need to understand how these services will affect users and your overall application behavior.
Honestly, each time I heard advertising and analytics mentioned, I silently cringed. After years of working on ARO, one of the worst application behaviors that we see over and over is advertising and analytics. As a parent of two little geeks, it’s inevitable that 20 minutes after they start playing their new favorite game of the week, they are screaming that my battery is about to die. AMAZING! How is “mobile” a mobile device that needs to be plugged in all the time.
So why does this happen….
Well, it turns out that not only is the radio opened to bring down the ads, but many of the popular ad services don’t follow Best Practices, and the radio has to be opened again to close each connection. Below is a chart of 6 connections in a row from advertising that are all timing out and keeping the radio open just so they can close the connections. “So What!” you say, it’s only 25 seconds of wasted radio… Nope, not when you see the whole 20 minute trace, 45.5% of the energy is wasted closing these connections. That’s 45.5% less time that my kids can play this game, 45.5% less ads that can be served to my phone and 45.5% potential lost revenue to this application developer.
Closing Connection Issues from Ad Providers in a Major Application
Choosing your Advertising Partners is as Important as Choosing a Business Partner…
The worst part is that the application developers have little to no control over how these ad services are interacting with their application. Sure, the developer can set how frequently the advertising will refresh, but developers need to expect more from their providers.
Questions you should be asking:
- Can you prefetch ads so you can pull down the next 5 ads without reopening the network connection?
- Can you piggyback the advertising and analytics network connections to open at the same time?
- Even better, can you piggyback them both with other data that you are already planning to bring down over the network?
- Are the advertising and analytics connections being closed properly or are they going to time out and cause additional drain on the devices battery?
- Are the text files that they serve compressed and minified?
- Do they consider the size of the screen on the device when they serve the image files?
Remember: If their files are slow, it’s your application that pays the price.
So if you’ve used ARO to fine tune your application, but haven’t looked for how third party analytics and advertising are affecting your application, it may be time to take another look.