WordHero income report

First revenue report I have done.

Game profile: multiplayer (realtime) Boggle type word finding game first published on 19 Aug 2011. Available on Google Play, BB Playbook, Amazon, Slideme, Appia, etc.

User profile: 5k downloads on Google Play (1k installed), 18k downloads on Amazon, 1k Slideme, misc on other platforms. Most users are Kindle Fire users due to being one of the few Kindle compatible apps around Christmas when everyone got a Kindle as a present.

Almost exclusively 5 star reviews. The game is HIGHLY addictive. Every day around 60 days worth of playtime is played by users (ie: 86400 minutes of play every day!)

Advertising: 320x50 banner ads only.

This is from last month (March 2012) for WordHero (https://market.android.com/details?id=com.rhs.wordhero)

Prior to March, I was using Mobclix. However, I got sick of them changing numbers (eg: 20k impressions @ > 100 clicks to no impressions, no clicks 3 weeks later!). Sometimes I would see my revenue for a particular day more than halved. I had a lot of great & friendly discussions about this with them, but they don’t seem to be able to control the problem. Also dating adverts, which are not appropriate for my family rated app. Sorry Adam !

So, I pushed an update to change to Mopub.

Millennial Media:
CTR: 0.30%
Fill rate: 40%
eCPM $0.20
Income: $6.54

Admob:
CTR: 0.14%
Fill rate: 78%
eCPM: $0.04
Income: $3.64

Mobclix (long tail… people not upgrading):
CTR: 0.22%
Fill rate: ??
eCPM: $0.12
Income: $60.27

Mopub marketplace:
CTR: ??
Fill rate: ??
eCPM: $0.11
Income: $48.59

Jumptap:
CTR: 0.27%
Fill rate: 83%
eCPM: $0.13
Income: $142.09

Tapit:
CTR: 0.17%
Fill rate: 82%
eCPM: $0.06
Income: $19.23

Total for March: $ 280
Total impressions: 2.28 million on 90 sec timer.

Due to the $100 limit before anyone actually pays me, the only one who will pay me is Jumptap, and then only in 3 months time.

This is pretty much the first month I have gone over $100 and will get paid.
Average users in a game since the beginning of the year:

Since the game talks to Google’s Appengine as a Cloud server for all login’s, leaderboards and game results for each game, we also have ongoing costs (around $50/month).

If anyone knows how to get better than 0.11 eCPM for millions of impressions on just banner ads… lets chat (unless you suggest push or notification ads).

Added Swappit and pushed all the adverts to them on a 30 second cycle. Doing 185k adverts/day atm. Swappit points to the android market page for WordHero, but I don’t see the number of downloads increasing significantly.

So many impressions, so little clicks.
I suggest that you check how to improve those numbers, because this way you won’t get high paying ads. 1M impressions should get much more money.
[hr]
Your must try to get your ctr to 1.5% minimal, better would be 2%+

Yep… that is what everyone says… and NOBODY can tell me how. Except “change your refresh so you get less impression… that will increase your CTR” … well, DUH, but that masks/hides the problem, it does not fix it!

I know its frustrating but keep in mind that the people here want to help you. With that said I have downloaded your game and took a look.
Here are some things that might help.
Your refresh rate in game seem too high for me, you have a fast phased game where time counts. I think you should try to keep the refresh rate in game at 1 refresh per game. Give people the time to read the ad. Note that in game ads are hard for people to give attention because their focused on the game. You might get less impressions, but a better ctr is worth more.

My second advise would be to try out other placements of your banner. Maybe you will get more clicks if the banner in the scoreboard is placed at tfhe bottom.

Try to get banners at a place where people have the time to read them. Maybe a banner at the start screen or a game over dialog showing your score with a ok button to click before sending the users to the scoreboard.

There mightt be some more good tips on this forum to increase your ctr and eventually increase your income.

Good luck!

Hi Martin,

Thanks for the comments. To address them:

  1. Refresh was reset to 30 seconds this weekend to get max impressions (185k/day) because they were coming from swappit.com … I was trying them out. You swap adverts with other apps. I did not see any increase in installs though. I filed a support request with them asking wtf?
  2. Refresh rate prior to this weekend was 90 seconds (game is 2min30secs). CTR is around 0.2%
  3. Moving banner to the bottom. Good point ! Does anyone have metrics for banner at top vs banner at bottom ?
  4. There is no ‘game over’. All game clients and the server are synchronized. This is part of why my app is HORRIBLY addictive (trade secret here :))

Thanks for the feedback! It is very much appreciated !

Moving banners is mostly a try error thing. It really depends on the content of the screen. In your case I notished my eyes where drawn to the lower part of the screen on the results page thats why I mentioned it, so maybe it will do better at the bottom. Lets hope so :slight_smile:

Keep us posted on the results of swappit, its very interesting to see if it will have any effect in the next weeks.

Well, I paused all traffic to swappit (pending a email reply) and reset the refresh timer from 30 seconds to 180 seconds…

What I will do (since my game is server/client), is to add code to allow the server to configure if each advert is on the top or bottom… then load the appropriate XML. This way I can modify layout in the clients directly from the server.

Initially, I was going to have two different advert ID’s, so I could get CTR’s for each, but the mopub guys recommended against it. I don’t remember why.

I contend though that because my app is so addictive and fast paced, that users spend their entire time looking at the game board to the exclusion of everything else. ie: the game is well designed as an addictive platform (which I spent a lot of time on), but poorly designed as a advert CTR platform. Zynga seems to do this a lot better.

Hmm… so, this evening I implemented all banners as configurable top or bottom based on server side data. It is interesting to note that the game tends to draw your eye to a particular position (eg: game timer… how much time is left)… and I had the banners on the opposite side of the screen in 2 of 3 cases.

I will release an update tomorrow night and see how it goes… could just be my imagination.

Another comment I have: If your advertising is sending users to your Android Market page, but nobody is installing… well, it means your landing page on the Android Market sucks. Could be screenshots, could be the text. Whatever it is, it is not working. Fix it!

Thanks for the info, mind, very interesting!

I’m curious as to how your ad placement tests went now that a week has passed! :slight_smile:

Still too early to say. Not everyone upgrades immediately. Although Flurry seems to think about 80% of the users have upgraded.

I am playing with advert timing at the moment while I wait for more users to adopt the latest version.

45 seconds:
Impressions: 120k
CTR: 0.11%
Revenue: $5.61

Once I have some more data, I can do some optimization on best amount of time to show an advert to maximize the revenue. Then I will work on Advert positioning. Then do another round of best amount of time optimization.
[hr]
OK,

So working with VERY rough numbers over the last 14 days, I did the following:

  1. Pulled total impressions and revenue
  2. Pulled average number of people playing my game/day (I log each game)
  3. Calculate impressions/average number of people playing
  4. One game every 3 minutes (synchronized to the clock) = 480 game/day
  5. Calculate impressions/game … just (3) divided by 480
  6. Calculate effective refresh … 180/ (5)
  7. Plot effective refresh vs revenue

Looks like 55-65 seconds per advert is the sweet spot (for my game). This is based on VERY limited data (only used Jumptap … but they get most of my ads, and there is a timezone difference between my number of users/day and Jumptap).

Notes:
a) Straight line with scatter !!!
b) No, I won’t share the plot… it is probably meaningless for your game anyway!

Ok, so it has been a few days. Advert timing is now at 60 seconds.

4/23 impressions were:
Jumptap - 13k, CTR 0.19%, $1.61, eCPM = $0.10
Millennial - 67k, CTR 0.30%, $10.01, eCPM = $0.14
MoPub Market - $1.06
Swapitt - 10k

It seems Millennial is able to provide better inventory with a higher CTR.

Compare this with previous impressions (Jumptap), were I was getting more impressions, but half the revenue with a horrid CTR.

Once results settle for a while, I will play with advert placement.

Awesome!! Seems to be going well then! In fact, I find it interesting that you’re giving Swapitt a ton of impressions and yet your revenue is still going strong from the avertising on the rest of the impressions. That’s great!

Thanks for sharing!!

I’m also curious, since your game is server/client, I’ve got 2 questions:

1- How much are you spending on server costs?
2- Are you using a dedicated server?

It is buried in all the information ‘above’.

  1. About $2 / day
  2. Google App Engine

Peaking about 16 instances at 8-12pm EST (peak playing time) when the game serves around 150-200 people simultaneously.

Around 50% of the cost is database writes. Doing 1.07 million writes/day at the moment. Basically, every game result is stored, every user profile is updated with player statistics for every game (eg: total words found), etc, etc

Oooops, sorry, I must have read it last week when I replied and forgot :stuck_out_tongue:

Thanks for the reply!

Wow, 1.07 million writes per day?!?? That’s insaaaane!! :stuck_out_tongue:

Not really. I average about 70 days played per day. That is 70 days x 20 games/hour * 24 hours/day = 33600 user games / day

Each game generates storage of things like:

  • score
  • username
  • game data-stream (every press and time between them) … no cheating!
  • number of words
  • bonuses got
  • country
  • etc

Afterwards, the server updates the user’s stats that include:

  • best score
  • best word
  • most words
  • total score
  • total number of words
  • total number of games played
  • etc, etc

Then it writes the leaderboards for:

  • this game
  • last hour
  • today
  • this week
  • this month

Leaderboards can contain 5k + players and all their data.

Soooo… this all ads up to a LOT of database writes :slight_smile:

Yeah I’m not doubting that it makes sense, but it IS an insane amount of DB writes per day! Not a lot of games reach that number :stuck_out_tongue:

Heh… not a lot of games waste 70 person days (24hours in a day!)… EVERY DAY !

Of course, I would be a LOT happier if I could actually monetize the sucker. Getting $10/day because you are getting an eCPM of $0.10 sucks ass… when you think you should be getting $100/day (eCPM = $1). But the entire design and addictiveness hinges on banner only adverts with no interuption… so I tend to think of it as a failed experiment in advertising but a successful experiment in game design.

Since I was aiming for a addictive game… I hit the target… but I did not know I was aiming for the wrong thing…

There is a lesson here for you guys … aim your game/app/etc as a advertising delivery mechanism… NOT as the best game you can make it.

eg: What is Google’s business ?
Answer: advertising … NOT search… search is just how they get you to view adverts !!!

Hahaha interesting, I totally feel you…

Now, what if there was another way you could monetize it? Maybe introduce an app wall that pops up after every 30 games played, that the user can either close and keep playing, or click on an app to download it.

Or maybe you could introduce in-app purchases to get superpowers like Bejeweled blitz does.

I mean, I’m sure Bejeweled Blitz is SO addictive that it would be very hard to monetize via ads, but PopCap thought really hard about that and they introduced really enticing microtransactions that became insanely profitable for them! That might be a good option for WordHero, I think.