Tumble Panda’s (non-intrusive) monetization strategy

Recently, we launched the beta test of Tumble Panda. While this test is still ongoing, some of you may have already tried the game. All the others are still invited to join. Today I want to talk about the thoughts we had when building Tumble Panda’s monetization strategy.

Free to play & pay to win

If you have played games like Candy Crush Saga, you have probably experienced something like this: You are beginning to enjoy playing a game, but then, all the sudden it tells you that you have No more lives and need to wait until you will get new ones. However, lucky you, there is a simple way to fulfill your desire to continue that darn level you had almost beaten: For the small amount of only $0.99, you will be granted another full set of sweet lives.

Candy Crush Saga's pay n' play strategy

Candy Crush Saga’s pay n’ play strategy (picture by business.financialpost.com)

Now this strategy surely is clever and the psychology that is at work in Candy Crash Saga can be the topic of at least one PhD thesis. Also, this way of monetizing would be very applicable for Tumble Panda: We could make the user wait after every 10th time he fails to complete a level.

We could. However, we have a very clear idea how our games should be made: They should be free to play. And by that, we mean that it should be possible to always play the game and that it should be possible to win the game without having to pay for it. We do use in app purchases in our store, but it is never mandatory to use them. Also, we don’t like to use multiple currencies (such as gold and diamonds) when it is not necessary. That’s why we only use one currency in Tumble Panda, which the Panda’s most favorite: Bamboo.

 Monetizing by helping the user

The user is our focus in Tumble Panda. We do never force them to buy anything or wait until they can play the next time or have them pay for an artificially shortaged currency. However, there are spots in our game where we think the user could want to make a purchase or get free bamboo by using Tapjoy.

Prompt to the bamboo store

The first of this spots is when the user wants to purchase an item without having the needed amount of bamboo on their account. In this case we prompt the them to the bamboo-purchase part of the store. Here they have the possibility to purchase bamboo via in app purchases and get free bamboo by using an offerwall or by following us on social media.

Tumble Panda's store

823 Bamboo is good but not enough for another upgrade of Ki-Training…

Tumble Panda's Bamboo Store

…that’s why you will be prompted to the bamboo store, in which more delicious bamboo can be obtained. The “Not enough Bamboo”-text you are seeing is a standard Android Toast using a custom TextView. Also, when making an in app purchase in Tumble Panda, we are giving a part of that to reforestation projects – more on that soon.

Skipping a level

When a user repeatedly fails to finish a level, we ask them if they want to skip it. This comes to the price of 15 times the amount of bamboo that can be collected in the level. For example, in level 40 there are 60 bamboo to collect, which means skipping the level would cost 900 bamboo.

Tumble Panda's skip level dialog

In Level 40, the cost of skipping the level is 900 bamboo

Of course, when trying to skip a level without having a suitable amount of bamboo in one’s account, we will again prompt the bamboo store.

Free bamboo after a canceled purchase

This one is my personal favorite.

Users will cancel purchases. May it be because they don’t remember their password to Google Play, an error occurred or they changed their mind. That’s why we are showing a dialog asking them whether they want free bamboo, once a purchase was canceled. Accepting this offer leads to Tapjoy’s offerwall, where they can receive tons of tasty bamboo.

Tumble Panda's free bamboo dialog

When an in app purchase has been canceled, we are asking the user if they would prefer to receive free bamboo instead

Ads – the backup solution

Since we built a very non-aggressive strategy on monetizing via in app purchases and offer walls, we are using ads to further support us. When first designing Tumble Panda, we thought about displaying banner ads inside of the game, in a similar way Angry Birds used to.

Angry birds ads
Angry birds used to show banner ads during gameplay (picture by http://www.businessinsider.com.au/)

However, the times changed and full screen interstitial ads gained more and more acceptance while banner ads lost theirs. That’s why we also adjusted our strategy and are now exclusively relying on interstitial ads in Tumble Panda. We are trying to show a banner every 5th time a level is loaded and on average every 3rd time a user is accessing the main menu when coming from the game. In this way, we are providing a solution that is giving the user a less intrusive ad experience while still providing us with some earnings.

For those of you that are interested in numbers, in the statistically not significant beta phase, this ad-backup-solution so far provided us with an ARPU (average revenue per user) of about $0.12 so far.


Tumble Panda uses a monetization strategy that is much less intrusive than it could be because our main focus is a good user experience. We sincerely hope this will not harm the overall financial success of the game, but future will show. I will keep you updated!


This is a sponsored post.

While being sponsored, this content is not biased by money. While it is usually not my attitude to rant on products publicly, it is also not my attitude to say products are good if they aren’t. This also applies for this post.


Startapp – you might have heard of it or seen it on the top right banner of this blog. Startapp is an enabler of android monetization that offers an alternative to common banner ads by, in my opinion, a more intrusive way of advertisement.

Startapp is, according to AppBrain, number eight in the ranking of the most used ad networks on Android worldwide, with 1.84% of all apps. According to them, they are currently used by 19,000 apps with a total of ~600 million downloads.

Startapp essentially offers three ways of monetization, by integrating their SDK into one’s apps, by referring other developers that then use their SDK and by exit ads.

Monetization, way 1: SDK integration

Integrating the Startapp SDK enables monetization on a pay-per-install base by advertising on the user’s device.

For this way of monetization, two options are offered:  Full and partial integration.

The partial Integration will setup a 1×1 widget on the user’s home screen, imitating an icon. Furthermore, the homepage of the phone’s browser will be set by the SDK. Both the icon and the browser homepage lead to online offer- or app-search walls, provided by Startapp.

The full integration additionally adds bookmarks to the native browser’s bookmarks list.

Regarding payment, the partial integration offers the following payments per download:

New user U.S $ 0.04
New user non U.S $ 0.008
Returning User U.S. $ 0.01
Returning User Non U.S. $ 0.005

The full integration offers the following payments:

New user U.S $ 0.055
New user non U.S $ 0.01
Returning User U.S. $ 0.01
Returning User Non U.S. $ 0.005

So if you have an app that generates a lot of downloads but does not have much display time, this monetization method may be for you. Also if you have an app that has a one-time usecase or if you just want to get a little extra to your traditional income.

Monetization, way 2: Referral Program

The second way of monetizing with Startapp is by referring other developers. One must be registered at Startapp but may not have an app with the integrated Startapp SDK to refer to another developer. Again, it is one-time-payment based and looks like this:

For the first 100 downloads a developer referred by you makes, you’ll get $10. For every other of the following download-levels he crosses, you’ll get an extra payment:

At 1,000 downloads + $25
At 10,000 downloads +150
At 100,000 downloads +$500
At 1,000,000 downloads +$1,500

All together summing up to up to $2,185 per referred developer.

If you know a lot of developers that may be willing to use Startapp, this is exactly the way to go. If their apps also have a lot of downloads, what are you waiting for?

Monetization, way 3: Exit ads (beta)

The third thing Startapp offers are exit ads. Exit ads are fullscreen ads that are shown once an application is closed. They are fullscreen ads for single apps. The interesting thing is that they are impression and not, like usually common, click based.

Currently exit ads are in a private beta phase but will be released to the public in about a week. Since I’m not in the group of beta testers, I unfortunately can’t tell you more about this option at the moment.

The Startapp SDK

Now that you are informed about the ways of monetization Startapp offers, some words on the SDK.

The integration of the SDK is a rather easy process. Since no banner ads are shown anywhere, there’s no need to manipulate layouts in any way. Adding one line of code to the Application object or to the applications launcher-Activity is all that needs to be done on the Java-side, at least for options one and two. In the Android manifest, some metadata must be provided and a Service and an Activity need to be registered.

The part that made breathe heavy is the number of permissions: To get the full integration running on a plain Android device (without custom launcher), eight permissions are needed, six of them for the partial integration.

Running a quick decompiler over the SDK shows: It is obfuscated, which is not unexpected, since it is a proprietary product. There was a discussion on why and whether it is useful for an ad network to make their SDKs open source with Startapp and Airpush on the Droidcon London. Of course there are pro and contra arguments,  I personally like the Open Source version better because I simply don’t like waiting for patches.

Looking over their code they seem to collect some data like the device’s manufacturer, brand, OS and display metrics. All in all nothing that would make me not use their SDK.

Intrusiveness and Play Store’s Content Policy Requirement

Startapp is a intrusive ad network in the way that it provides advertisements to the user outside of the actual app and modifies the phones environment. Looking at it the other way it is a non-intrusive ad network that keeps one’s application free from ads. I’m not entirely sure which is the preferred way of the gros of users, in the end the decision whether or not to give Startapp a try is on you.

When integrating Startapp, I have to say, I was heavily reminded of the old browser days in which you suddenly had a totally different starting page which you, in the most cases, weren’t able to remove.

Looking closer it is visible that Google and Startapp put a little more emphasis on the user’s acceptance:

The Startapp opt-in dialog

The Startapp opt-in dialog

  1. It is not hidden: The app’s description on the Play Store has to include a standartised text explaining that the app can add bookmarks, a new homepage and an icon to the phone.
  2. It is opt-in: Whenever a Startapp-Application is first started, a Dialog is shown that clearly lists what the will get when he is accepting  to use Startapp. This dialog is not shown if only the exit ad option has been chosen.
  3. It is back-trackable: Whenever the Startapp search is shown, the app that is responsible for the install is mentioned on the page.
If you know a bit about the topic, you probably already realized that by this steps, Startapp is compliant to the Play Store’s Content Policy Requirement.


Startapp is, undoubtedly, offering an alternative monetization solution to conventional banner ads. It may be seen as intrusive, and there are reasons for that. Still, there also are reasons why Startapp is where it is today. So if you are an android developer, feel free to try take a look at it.

Also, please feel invited to share your opinion on Startapp and similar networks. I’m sure they will read your comments.

© 2024 Droid-Blog

Theme by Anders NorenUp ↑