Lessons in Mobile App Monetization

I published my first app on Windows Phone in September 2011 right with the release of WP7.1 Mango 🙂 Woohoo achievement unlocked! Since I had been programming in Microsoft Technologies for over a decade, programming the app was not difficult at all. Microsoft has so much available in terms of information/documentation, code samples, MSDN blogs AND then third party dev-logs, podcasts; its very hard to NOT find what you are looking for. I was just being lazy and waited till a year after the Windows Phone was launched. I wish DVLUP was around back then to motivate and guide us 🙂

I was so very proud of my first game “Air Soccer Tour” till I realized – I didn’t have the slightest clue what monetization meant. I had released the first version of the game for FREE, without even thinking about the monetization aspect. So for the next update, I thought no biggie, I will just browse the blogs and samples and figure it out in a day. Well it turned out to be a very tricky subject, the more I read about it, the more confusing it got. Monetizing an app is black magic, I read somewhere 🙂

Air Soccer Tour was later discontinued due to change in developer account and an improved version “Air Soccer Fever” was released in April 2012.

So far, I have released 3 games on Windows Phone with a 4th game in progress. I have ported those 3 games to Windows 8 and 2 of them to Android as well. I know that’s not a lot for 2+ years in the field but my day job is very demanding 🙂 so I try to manage time for my hobby/passion as much as possible!

Game/App First Released Downloads Ratings
Air Soccer Fever
April 2012 2.32 Million 4.5 star worldwide – with over 5000 ratings in several countries
Sea Quest
March 2013 101,000 3.5 star
Tank Arena
December 2013 162,000 4.1 star worldwide – 550 ratings in US store

So lets get to the topic of this blog post “Monetization” and my observations, lessons learnt, techniques used so far and their results. First thing to understand is that there is no one magic bullet. This is by no means the complete “answer”, its just my observations based on my app types, which are games but to go even a step further the type of game mechanic also factors in.

Monetization Options

I have utilized the following major monetization categories.

1. FREE – Ad supported

The app/game is FREE to download and use/play. The revenue is generated by in-game ads.

2. Paid – with or without Trial

User pays once to download the app/game and use/play for ever.

3. Freemium – FREE with IAP

The app/game is FREE to download and use/play. The revenue is generated by “incentivized” in-app purchases

Before the release of WP8, when IAP was not available as a platform feature, a 4th option also made sense FREE app / Paid app combo.

Checkout my latest game Super Polygon – Addictive music rhythm game


Lets Get Paid

Lets start with the Paid option. Providing a Trial option is very important. You want users to download the app/game “free” so no initial barrier to download, but you want to convert as many trial users to paid. This can be achieved in several ways depending on the “type” of the app/game.

  • If the app/game can provide just enough features/gameplay to latch on the user and convince him that its worth buying then the Trial mode should “lock” premium features so the user has incentive to convert to paid. Again, it is tricky to strike a balance between which and how many features to allow in Trail mode. You don’t want to restrict too much and not have “most users” get a taste of the app/game and get hooked. But you also don’t want to give away too much in Trial mode so “most users” are happy with the trial itself and don’t need to pay to upgrade. I say “most users” because you cannot make every one happy Smile
  • if the app/game cannot restrict features in Trial because the app is a niche and restricting any feature or the main feature will literally make the app/game useless or the “secondary features” are not enough for “most users” to convert to paid, then the Trial should be fully featured but time restricted.  Again, the time should be enough for “most users” to latch on. I think 2 weeks of trial time should be enough for a mobile app/game. If the user still wants the app/game after 2 weeks, chances are he will buy it.
  • You can also go a step further and use Ads in the app/game if its in trial mode. and remove ads when the user makes a purchase.

Please note that providing Trial mode increases your downloads and chances of conversion to paid are better BUT the app is still in the “PAID” category. So it does not show up in the FREE category in the store, meaning way less downloads as compared to a FREE competing app with lesser features.

Ads are Tricky

In the WP7 days when IAPs were not available FREE with Ads made a lot of sense for many types of apps. It meant lots of download compared to a paid app.

There are several things to understand about Ads and Ads based revenue:

  • You make money from ads based on the number of ads you can show in your app/game but more importantly by the number of “ad-clicks” you can get from the users – called CTR or click-through-rate. Even though the ad providers may claim to provide HIGH eCPMs – which means the number of dollars (more like cents) you get for showing 1000 ads. But really it comes down to CTR. You may show 100,000 ads per day but if there are no clicks on the ads, you will hardly get an eCPM over 1 cent which means you get $1 for showing 100,000 ads. Lets say you can get 5% CTR – meaning you get 5 clicks out of every 100 ads shown, you may get an eCPM over $1 – which means you will make $100+ for the 100,000 ads shown. So take home from here – CTR is key!
  • 1 dedicated player will make you an average of 70 cents per year in terms of ad revenue. ..really… that’s it!
  • Ad controls usually have a “refresh” property that dictates how often to download/show a new ad. 45 seconds interval is recommended but should not go less than 30 seconds. You want the user to have enough time to notice the ad and maybe click on it. Remember CTR is key!
  • Ad providers (Ad Exchanges or mediators) are for the most part region specific and they have limited inventory. Which means that you may not get an ad every time the ad control requests an ad. Lets say your users are mostly in Australia, but the Ad provider has no inventory in Australia – your app will not show any ads and so the users are “really” using your app for FREE.
  • Ads should not interfere with the app/game experience, you do not want to annoy the user and risk uninstall. For games, I do not show ads during the main gameplay. Ads should be carefully placed so they don’t really look/feel completely out of place. Menu screens are a good place for ads but the Menu screens should be designed with the AD in mind so the Ads can “fit in” seemlessly. Game pause screen, level transition screen, game end screen are also good places to show ads.
  • Not every player is FINE with ads – sometime ads are not suitable if kids are playing the game. So there should always be a way to get rid of ads or you risk an uninstall or negative review.

For FREE with Ads app/game its essential that the app/game is sticky/addictive and entertaining/usefull but most importantly the app/game session time should be longer so you can show enough ads per game session and get ad clicks out of it. e.g. If your target is to make 100,000 ad impressions per day (which is a really good target) and your ad refresh rate is 45 seconds, you need 1250 hours of session time per day in IDEAL cases (as you wont get an ad on every request). THAT’S a lot! If your average session time is 2 minutes you need 37500 sessions per day. So longer session times is KEY to make ad money.

To deal with the ad inventory and regional issue, you need to use AdRotator control from tech guru @SimonDarksideJ . The control basically allows you to use several ad providers in your game app.

I have narrowed down my ad providers list to Microsoft PubcenterVSERVInneractive and AdDuplex and trust me I have used almost everything out there Smile

The Ad control also lets you specify the percentage of ads you want per ad provider AND specify ad providers per region. e.g. In the US, I want 70% ads from Pubcenter, 20% from Inneractive and 10% from AdDuplex but in IT (Italy) I want 30% ads from Inneractive, 60% from VSERV and 10% from AdDuplex. So you see how this can be really useful to ensure that you always have an ad available in your app/game and make money.

AdDuplex is a unique ad provider – it does not generate revenue for you it’s a cross promotional tool – where you can show ads for other apps and in return other apps will show ad for your app – driving more downloads. So its beneficial to keep it in the list in case you cannot get any “revenue generating” ad from any ad provider, at least you can do cross promotion.

So now the question is how do you decide the percentages and regions for AdRotator. Well, you first see which regions is your app being downloaded and used most. You find that out by using analytics (I use the freely available FLURRY Analytics – amazing lightweight service that provides gold information). You can check with your ad providers if they provide inventory in those countries and take that as only a starting point Then you experiment to see if you really get ad inventory. if two ad providers have good inventory in a region you check the eCPM provided and tweak the percentages based on all this info to make the most money.. I know it’s a lot of work – and you say hey I am a developer and I just wanted to develop apps/games Smile

And to make matters worse – ad revenue is unreliable. You may make $2500 one month and $500 next month. So many parameters involved Smile

Example 1 – Air Soccer Fever

Since ASF is WP7 game – IAPs were not available back then and even now due to the use of XNA it runs in compat-mode on WP8 so IAP option is not available in my case. I released ASF as FREE with Ads. The app is very addictive as it is but to really make it stick and increase session length, I added realtime online multiplayer feature so a player in Italy can play against a player in Brazil.

The FREE/Paid combo approach was nice in WP7 days since you could also use it as a “better” way of doing Trial-mode. (better only because you get more downloads for it being FREE). So you can provide only some features on FREE version with Ads and tell the user to buy the PAID version if they want to get rid of ads or want premium features.

So I went for the Free/Paid combo approach so

  1. I get lots of downloads from the FREE version
  2. The user has an option to get rid of Ads.
  3. Most players will hardly generate 70 cents / year for me so if they buy pro version at least I get a dollar out of it.

In ASF, I could not “lock” the main sticky feature (online multiplayer)  in FREE version   because that means less session length from “lotsa” users, less ad revenue. Also, restricting the online multiplayer to paid only meant less players online, which means a not so good online experience.

So the pro version only provided a way to get rid of Ads – see how application type / mechanic factors in to everything!

So how does that translate into revenue. 2,32 million FREE downloads VS 4908 paid downloads. (out of which 2000 downloads were FREE – don’t ask why Smile so essentially 2908 paid downloads) That’s a very low conversion rate. and maybe I am doing something wrong here … but average monthly paid downloads are 145 @ $1.99 for last 6 months (total 871).

ASF FREE version is a success with 2.32 million downloads  630,000 MAU (monthly unique active users) and 3 million game sessions per month. AND to top it off average game session length is 3.6 minutes and ad CTR is 15%. So I think I am doing something right here. Revenue from FREE version is more than enough for a hobby Smile it is no Flappy Bird, Candy Crush or Angry Bird though. For ASF, VSERV makes great revenue in south america and europe, Inneractive makes good revenue in Europe , Pubcenter is limited to US only for the most part.

I also used the same model FREE/Paid combo for Sea Quest but nothing came out of it. Primarily because of less downloads and low ratings. Sea Quest only managed 101,000 FREE downloads and 280 paid downloads  in a year and it was not as sticky.. FREE downloads don’t mean much if players are not actively using your app on a daily basis. In comparison to Air Soccer Fever which has 36000 daily active users, Sea Quest only has 230 daily active users. That’s why DVLUP has those Quality challenges that require you to have a 4+ star app/game 🙂 so lets move on to the new WP8 world with IAP.

In App Purchase – Glory and Whales

The first thing you should read is 40 tips for IAP – if I reproduce all of them here, this blog post will never end Smile

Having a FREE APP with In-App Purchase can be a great option if it suits your app type. First, your app is listed in the FREE category so you do get lotsa downloads. Secondly, the player doesn’t have to download another “paid” app if he wants to upgrade, he can “upgrade” right inside your FREE app. Now you have to figure out how to make money.

  • You HAVE to incentivise IAP i.e. lure players to make the purchase. techniques vary depending on app type and mechanic.
  • You may lock some premium features or in case of a game, lock seasons/levels. All observations from the Trial/Paid section apply here. Which and how many features or content to lock? (Durables)
  • You may have an in-game economy (works best in certain types of games), virtual currency or gold that has to be purchased to do things in your app (Consumables). How do you balance an in-game economy. Again, you want players to keep playing, you don’t want to nickel and dime them, you want to keep them interested but you still want to make money!
  • Whales are your friends!

Example 2 – Tank Arena

In Tank Arena I used FREE with IAP option. with some tweaks specific to my game!

Tank Arena is off to a good start, 165000 downloads in 2 months – 410 in-app purchases ranging from $0.99  to $5.99 and some Ad revenue Smile

First the game is FREE with Ads, so that becomes your first IAP (Durable). Players who don’t want the ad will pay to remove it. All observations from the Ads option section apply here, use AdRotator, do not annoy users, place ads in suitable locations and do not interrupt primary gameplay.

Tank Arena takes the player through planets (seasons) first 30 levels of Moon, then 30 levels of Mars, then Jupiter etc.There is in-game economy “gold”. Players need gold to upgrade their tank, buy advanced guns as well as buy ammunition that they will “consume” while playing a level – shooting aliens Smile

Moon 30 levels are FREE to play. Players are initially given a basic tank, basic gun, X amount of gold and X amount of ammunition to start with. You don’t want the player to not be able to enjoy the game without making a purchase first.. You also want them to be able to earn the gold. BUT economy balance is important. Excel sheets can help you with this. I had to compute how much gold can be earned per level and how far can an average player go on his own without needing to purchase gold. I concluded that average player who is hooked will need to buy Gold at around 20th level. OR he will have to play the easier levels AGAIN to make up some quick gold. Advanced players however could complete Moon 30 levels without making a purchase but it requires A LOT of skill and lots of failed missions and repetition. (HINT HINT Ads – session length)

Mars 30 levels are locked BUT they are not a separate purchase. I did not want a player to spend money on Gold, finish Moon levels and then force another purchase on them to play on. why ruin a good thing when they are already spending money and will spend more on gold anyway IF they are allowed to play even further.

However, on Mars I check if the player has made any gold purchase at all to reach here… or has removed ads from the game. If the player has not made any purchase, then I ask them to make any purchase, buy gold for yourself to unlock Mars. I think that’s fair since they get benefit from their purchase two-folds.

However this doesn’t mean that I wont charge for Jupiter levels or future seasons separately. KEEP your options open. I will analyze the data in a month or two and before I release Jupiter levels I will make a decision how I want to play that.

Initially I had gold bags for sale at $0.99, $1.99, $2.99 I dint think any thing over that would make any sales. Players mostly bought $0.99 then $2.99, then $1.99. After getting acquainted with the concept of whales, I added another gold bag for $5.99. After 2 weeks the results are surprising.. Players are mostly buying $0.99 and $5.99 with some 1.99 and 2.99 in between. Please read the 40 tips on IAP, some very good stuff there!


I hope some of you find some useful information in here, I may have made wrong decisions in some cases but its a learning curve. Again: experiment, release, fail, learn, tweak, release, succeed. KEEP CALM AND DVLUP ON.

Tagged with: ,
Posted in Windows 8, Windows Phone
One comment on “Lessons in Mobile App Monetization
  1. tomek says:

    Thanks for sharing you observation.
    I’m developing a WP7 app so I will move into FREE(ads) + TRIAL(ads)/FULL(no ads) version.
    Let’s see what I can achieve with that combination.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

Blog Stats
  • 143,065 hits

Error: Twitter did not respond. Please wait a few minutes and refresh this page.

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 368 other followers

%d bloggers like this: