Monetizing Apps

February 18, 2014

Monetization is one of the most important and confounding choices a developer has to make. I spend most of my day working with developers and organizations building commercial software. App monetization is one of those topics that seems to come up fairly regularly.

The art of monetization lies in striking the right balance between the app’s perceived value and the customer’s cost (in money, time or effort). The rub of course is that both the perceived value and the customer’s cost are inherently subjective. And we are engineers here. See the problem? Engineers? Subjective? Honestly, oil and water have a better relationship.


Before we dig into any specific advice, there are a few terms worth defining for our purposes here. Please remember that I’m defining these terms only as they pertain to this article; experts will note that all nuances have been crushed into unrecognizable generalizations.

Perceived Value

The amount of value a customer affords your product. This is a magical bit of math built into our brains. The formula is deceptively simple: value = benefits / costs. If the benefits exceed the costs then we perceive the product to have value. (more information)

Customer Cost

The amount a customer must spend. This does not always directly translate to money, it includes non-monetary items such as time and effort. One common example of non-monetary costs are television commercials – the viewer spends time watching your commercial in exchange for entertainment. (more information)

Customer Acquisition Cost (CAC)

The amount you spend marketing your app (advertising, tradeshows, discounts, etc.) for every customer you acquire. What constitutes an acquired customer depends on the app but in general it is anyone who has moved beyond testing the water with your app. (more information)

Average Revenue per User (ARPU)

The total revenue generated by your app divided by the number of active users. This metric tells you how much each user is worth and over time the trending tells you what direction you’re heading in. (more information)

Monetization Models

There are a ton of different ways to monetize an application but each of them is built on one or more of these core models.

Direct Purchase (aka Upfront Purchase) This is the most well-known model on earth; pay me money and I give you stuff. It is simple and transactional and so long as the cost is less than the benefits to a customer it is easy to complete.

In-App Purchase This model provides the ability to purchase items (real or virtual) from within the app itself. Most commonly found in games where real money is exchanged game money. This also covers shopping apps such as Amazon or eBay as well as consumption services such as Skype’s land-line calling feature.

Indirect Purchase This model requires the customer to purchase or subscribe to something outside the app store ecosystem entirely. This is very similar to the In-App Purchase but rather than making a purchase from an app, this model treats the app as a value-add to something else they purchased. Most “enterprise” where you purchase a service or server application fall in this category as do subscription applications such as HBOGo or Netflix.

Advertising This model generates revenue by displaying ads to your users. You get paid some amount per impression.  The longer a user using your app, the more impressions you deliver and the more revenue you generate.

Free Free is free and everyone loves free (except the person providing it for free).

The Absolute Single Answer Is…

So which model should I choose? Well, it depends. In fact it depends on so many factors that anyone telling you they can give you an answer without first digging into your app, your market and your goals isn’t being very honest. What I can provide is some advice based on my experience over the last couple of years.

Leverage App Analytics There are a number of companies providing analytic services for apps. I happen to use Google myself since it provides a free one-stop-shop for both my app and web analytics. Another benefit of Google is I’ve yet to find a platform that someone hasn’t produced an SDK for. If your app is ad-supported then you’ll want to pay special attention to the “Avg Session Duration” which tells you how long users are looking at your app (and therefore ad impressions).

Leverage Public Analysis I regularly talk about analyzing your completion. The quickest way to do so is to let someone else do most of the work for you. Several services exist out there and I personally use App Annie which provides invaluable data for free. There are also some segment specific options such as ThinkGaming.

Calculate Your Competitor’s Value Apply the same value = benefits / cost formula to your competition, ask friends and family to do the same. In the end you are competing with that value calculation. And be sure to look at every competitor; often times you’ll find that there is a solid app down at the bottom that fell victim to a bad monetization model. Learn from their mistakes and don’t repeat them.

Avoid Double-Dipping Double-dipping is leveraging multiple monetization models at once. That “at once” bit is important as there are excellent hybrid-models such as leveraging both Advertising and an In-app Purchase to remove them. Where you will get into trouble is an Upfront Purchase and Advertising or an External Purchase and Upfront Purchase and Advertising. When you double-dip you are adding a multiple customer’s cost.

Provide Free Trials If you’re going to leverage the upfront payments then offer a free trial of your app. I’ve seen sales more than double simply by enabling the user to try it first. Also make sure the trial is reasonable. Remember how cost includes the learning time? Well by providing the time to learn up front you have in actually lowered the customer cost when they have to purchase.

Avoid Pay-to-Win Scenarios Soon after games began leveraging “Free-to-Play” models came an outcry that many games were in fact “Pay-to-Win”; meaning that unless you pay you can can’t really play. When designing your game, make sure any advantage gained from in-app purchases make sense. Candy Crush Saga is an example of a game that executes in-app purchases extremely well. 

Advertise by Design If you’re going to use advertising in your application, design your user experience with advertising in mind. Advertising works best when it becomes part of the overall experience rather than getting shoehorned in to any available “empty space”.

Advertisers Rent Your Users When you place ads in your app, you are ceding some level of control to the advertiser (or ad network). You don’t have much control over the ads that are placed there, the colors they use or the quality of the artwork. You want to be conscious of how your users will experience these ads.

Limit Advertising Don’t show more than one advertisement at time in front of the user without a really good reason. Flooding a user with ads is just another form of double-dipping.

Be Open to Change As you gain insight through analytics, reviews and experience you need to apply that learning to your monetization strategy. If you find your direct purchase model isn’t driving the sales you expected, it is time to evaluate if a different model would help. Keep in mind that when you do this, you have a risk of upsetting existing users and you should mitigate that. For example, if you switch from Direct to Advertising you risk upsetting your existing users that suddenly see ads. You might mitigate this by turning off advertising for those users.