Windows Phone developers have three basic ways to make money from their apps: paid app sales, mobile advertising, and in-app purchases (coming in Windows Phone 8). Last month I wrote about my approach to paid apps, and how to take advantage of the Windows Phone Dev Center’s new country-by-country pricing and analysis features.
Today I’ll share some lessons I’ve learned about increasing mobile ad revenue—ones I picked up from publishing more than 20 games in the Windows Phone Store, half of them ad-based.
If you’re new to the world of mobile ads, here’s a quick recap of how they work and a summary of the most common ad-related terms you’ll encounter.
A typical ad on one of my games.
On Windows Phone, mobile ad revenue is driven by the number of ads shown (“ad impressions”) and number of ads acted upon (“clicks”), as well as availability of ads to be served into the app at any given time (“fill rate”). Ultimately app developers are paid a certain “eCPM” (cost per mille, or thousand) for ads shown within their apps. To drive revenue, you want to create experiences that will add value to your customers while also driving ad impressions that garner the highest eCPM possible.
Driving more impressions
How do you do that? My first recommendation is an obvious one: create apps that are interesting and that drive engagement with lots of people. The more time customers spend in your app, the more ad impressions that are generated and the greater opportunity to solicit clicks.
By appealing to a broad audience, I’ve tried to make my own apps as “sticky” as possible. Here are some tricks I’ve learned:
In addition to making my apps appealing, I also pay special attention to how ads are positioned on screen within my apps to help drive impression and clicks (without interfering with the experience):
Increasing fill rate
Now let’s take it up a level and address how to ensure the best possible fill rate. The goal of course is to try to keep the ad space filled as much as possible. But this isn’t as simple as it seems.
If customers are engaging your app, you will generate ad impressions. But there is often a lot of variance in the availability of ads to be served into your app, including and especially because of different service offerings across countries or regions. Take the Microsoft Ad Control, for example. While availability of the Microsoft Ad Control continues to expand, there are some parts of the world where it’s still not available.
To address the gap, I take the time to set-up multiple layers of ad elements within my apps, using: 1. The Microsoft ad control, 2. third-party ad controls, and 3. my own ads. My apps are designed to show the right layer depending on the user’s country/geo and whether or not an ad from a higher order layer is available.
The three layers
Let’s take a closer look at each of the three layers I just mentioned.
The top element is the Microsoft Ad Control. This control is reliable, has simple integration with the app, easy integration with Windows Phone Dev Center, and provides good eCPM. Developers that live in these 35 countries can use this ad control. It doesn’t deliver ads in all the countries of the world, but I always use this control wherever possible.
PubCenter, the Microsoft Ad Control portal, provides a report that helps understand which countries are showing ads, and the eCPM per country. To find out which countries are ideal for the Microsoft Ad Control, go to PubCenter>Advanced Reports>Create Report>Include this data [country]:
The second layer, below the Microsoft Ad Control, is for third-party ad controls. These ad controls help me show ads within my apps in countries that the Microsoft Ad Control does not serve.
I have used several different third-party ad controls in my Windows Phone apps, including MobFox, AdMob, and Millennial Media. And there are several others as well, including Inneractive and Smaato. I’ve found that the country coverage and eCPM varies significantly by ad provider, requiring some trial and error to determine the best one to use for any given scenario. I’ve also found that reliability varies between third-party ad controls and that it changes over time. One option is to periodically check the date of last update of the third-party ad controls you’re considering. If an ad control hasn’t been updated recently, it could cause performance issues with your app.
The third layer I’ll talk about is used to show my own ads. This layer always has the Visibility property turned on, so any time the ad controls in the top two layers are not showing ads, this layer shows. In this layer I put my own ad to cross promote my other apps: When clicked, this ad can open another one of my apps in the Store or the paid version of the current app.
Sometimes in place of my own ads, I use Ad Duplex ads on the third layer. These do not generate revenue, but are a good option to fill unused ad space, and participation in Ad Duplex helps me promote my apps within other apps utilizing Ad Duplex.
What about ad rotators, which package several ad controls in a single master ad control that can target different ad controls to different countries/geos? I have yet to try one of these, but the AdRotator in Codeplex looks worth trying. (Perhaps a future post on ad rotators is in order. I’d be interested in hearing your feedback on these.)
Below is the XAML example that shows the layering technique. The bottom layer has my ad, and I implement MyAdClick() to call the marketplace with one of my other apps. And I set visibility to “Visible” and collapsed to either the MobFoxAdControl or the PubCntrAd, depending on the country or region. Detecting the country or region is not always simple, but here are some pointers on how to do it.
<Grid Name="AdsGrid" Visibility="Visible" Height="80" Width="480" VerticalAlignment="Top">
<Image Source="Images/MyAd480x80.png" MouseLeftButtonDown="MyAdClick" />
<mobfox:AdControl Margin="0,5,0,0" Name="mobFoxadControl" PublisherID="(myid)" TestMode="False" AutoRotate="False" />
<my:AdControl Name="PubCntrAd" Height="80" Width="480" AdUnitId="(myAdID)" ApplicationId="(myappid)"/>
I’ve found that making good, advertising-focused design choices and then implementing a layered approach to ad controls has significantly increased the revenue I generate from mobile ads within my own Windows Phone apps. If you want to learn even more about the ad control and ways to profit from it, I suggest watching two recent ad-focused episodes of Inside Windows Phone, which you'll find here and here.
In my next post I’ll focus on the third common revenue-generating strategy: in-app purchases. In the meantime, I’d love to hear your own experiences and tips in comments.
i like that phone because it will provide the facility for microsoft ad control.
@Ben P: I’ve used several third-party ad controls, and my experience has been that, so far, pubCenter has higher eCPM than the other ad controls. Of course your results will vary. As the Microsoft ad control does not serve ads in all the countries in the world, I recommend using third-party ad providers in these other countries, to maximize revenue. Once you do that, you will be able to compare the eCPM of the different ad providers for your app, and then decide how many ads you send to each ad control.
Regarding the outages, I have also seen these, and indeed they are disappointing, though a few days later the data shows up again, and the revenue is not impacted (note that I don’t work in the ad team, so don’t know the details behind the reporting). Regarding the reliability of the ad control I have used many third-party ad controls, and at least two of them either crash my apps, or make them stutter or ‘pause’ a few seconds, every time the ad is refreshed. The latest version of the Microsoft ad control has not given me technical problems so far.
we are really happy with our game zombies night out
in one month and 3 weeks last year we had 82.000 players, and then we got block from the marketplace and our account was dead , i had to go to the libieray just to login into apphub
now the 23.8 2012 updated our game and has got 50.000 new players so a total of 132.000 players and we are showing ads
our ads dollars is this from 23.8 2012 to 15.10 2012 is 4.95 dollars we have make in danish crownes this 20kr
so we are werry happy with this,, is show that the microsoft ads works
I have a popular app call "cool tools" in the Windows Phone Marketplace with over 200,000 downloads. It free, and supports ads, unfortunately it only makes a few dollars per month revenue.
What I have learned is that the actual ad providers and marketing technique is very weak. For example; on occasion my app shows ads for Blackberry. Really-someone on a Windows Phone is going to click on a Blackberry ad? When I contacted the Publication Center they said that they have no control over ad content because it depends on which providers sign up for the ad service. Bingo - that's the problem. "Irrelevant Ads". How about ads for Microsoft Products, Phone Accessories, Telecom Ads, etc and things that Windows Phone users may actually care about.
Microsoft Ad Control - "reliable" and "good eCPM"??? You're joking, right? Last month, my best returning game got an average eCPM of 1.5, while my lowest returning title averaged 0.4. This month, those same two titles are down to 0.33 and 0.16 respectively. I am estimating a 75% drop in return this month, and despite numerous emails, Pubcenter have failed to provide a reason for why this drop has occurred, or indeed any information at all apart from "we're looking into it". There have also been two unexplained reporting outages in the last six weeks where it has not been possible to determine what return - if any- was being made. All in all, a very disappointing experience, and the forums show that I am not alone in having these problems.
Considering that in order to gain market share, Windows Phone needs to get developers on board, the overall Pubcenter experience is not exactly serving to bring these vital people in - quite the opposite, in fact.
So I'd be very interested to find out what the official definition of "good eCPM" actually is...
The thing is, I'd like to see some real stats on what percentage of people actually click on ads. They inundate Facebook...and I NEVER--repeat, NEVER--click on them. The same is true for apps on my phone. I simply never do. I don't even read them. Am I really in the minority here? I DVR programs specifically so I can skip past the ads. When I'm watching live TV I immediately leave the room to do more important things until I hear the show coming back on.
That's great as it'll help to earn some revenue from third parties. :)