Game Design, Programming and running a one-man games business…

Cliffski’s 2012 guide to advertising your indie PC game online.

I get asked about this stuff a lot, so thought I’d do an updated guide…

Pre-advertising considerations:

Have you got a game that is priced at a level that will give you a decent return-on-investment for a site visitor? If your game is <$10 in price, and you do not have multiple titles to cross-promote to a visitor, then stop right now, because you are probably wasting your money.

Have you got a game that people cannot buy right now? Are you hoping they will remember and come back later? If you don’t have some way of capturing them with an email signup or alpha-funding etc, then also probably stop right now. You will do much better if you can get your site visitor to click a few buttons and hand you some money right now.

Are you sure your website runs fairly solidly and fast? Have you used online tools to measure load speeds, and possibly used a CDN to host demos or large screenshot images? Make sure your site is worth visiting before you pay for people to visit it.

Preparation and timing

Open an account with google adwords, or your other ad service of choice. google’s is the biggest, and the most complex. Setting up an account and putting ads together will take a while, so don’t wait until release day for your game. Have everything in place at least a week in advance. Google sometimes take a while to approve ads.

Install google analytics on your website. It is 100% free. Almost every site uses it. Basically you need an account (ideally the same username as a google adwords account, and *link* the two of them), and a small bit of javascript on every page of your site. Put it on EVERY page of your site, not just the landing page. If you host your own sales pages and thankyou pages, you will want to set these up as tracking ‘conversions’ which will let you track sales ‘fairly’ accurately (but see below…). That just means a different snippet of javascript on those pages.

Setting up an adwords campaign

90% of the effort is telling google NOT to advertise to people. Here are some tips. If you know where your sales come from, through sales reports, pick the top 10 countries, and geographically limit your adwords campaign to those. I limit mine to less than 10. for example Australia, Canada, Germany, Ireland, New Zealand, UK, USA.

If your game is PC only I strongly recommend limiting ‘devices’ for the campaign to desktop and laptop computers. Not mobile phones and tablets.

Also limit your language to English, unless you really are getting a lot of non-english sales.

I recommend focusing on clicks, with manual CPC (cost-per-click) bidding. Not impressions.

I set an impression cap per user per day to 8. Letting it be higher reduces your click-through-rate and thus your ads ranking.

Now it’s time to add a bunch of keywords and targeted websites so that google knows where to show your ads. Don’t blindly accept google’s suggestions, they suck. They always add ‘free’ and ‘cheats’ and so on. In fact, unless you are making a F2P game, I’d add ‘free’ ‘crack’ ‘torrent’ etc as negative keywords for your campaign. Only advertise to people who might be looking to actually buy…

It definitely helps to add as many sites as possible to the ‘managed’ part of a campaign. if you just let google choose, not only will you get a lot of really obscure and crappy sites, but you will not be able to effectively analyse the behavior of individual domains later…

Add a bunch of different ads. You might want to try text ads, but I recommend banners too. And different sizes and shapes, to get as much coverage as you can. Some games look better in skyscraper ads, some as rectangles or banners. I never bother with animation (my tests show no effect), but do add lots of variety. Google will auto-sort the best performing ad for you. It costs nothing to have a dozen ads.

I recommend setting a higher CPC for your ‘managed’ placements and a lower one for googles automatic placements. I try to stay under £0.30 CPC as a maximum, which means an average CPC for me of about £0.19.  In some cases, you will have a max CPC way higher than the average. This is fine. Googl;e uses your max CPC as a vote from you showing your faith in your ad. You won’t get charged the max unless someone competes with you at the same bid, so you can sometimes push the max higher, knowing it won’t make any difference :D

You need to set a budget that actually has some impact. This isn’t a plan for people with $50 to spend. Spending less than $500 will probably not give enough data to properly analyze, although you might want to trickle that in over a few weeks. My yearly adwords bill was about $16,000, but it’s been higher than that before.

Running the campaign

Don’t just hit ‘go’ and then forget about it. You will want to check your campaign daily. You can analyze what is going on in the adwords interface, especially the display network tab. Sort by clicks so you can see where all those clicks are coming from. If you set up sales-page ‘conversions’ you might want to look at the cost-per-conversions column, and pause (or even exclude) any domain where the conversion cost is getting much too high. If you are letting google manage your placements on it’s own check they aren’t all taking place on some awful inappropriate site you don’t want to support, or suspect will give poor traffic.

Also.. check the ‘dimensions’ tab, which will show traffic by country. Ensure that including Croatia was not a mistake as it is eating 99% of your budget…

Analyzing the results

If you control your buy/thanks page, and can place javascript on it, you might be successfully tracking sales from it through adwords itself, which makes life easier, but cross-domain tracking is hard, so it may not be working. Even if it *is* working, it isn’t reporting correctly due to people buying the next day from a different PC, buying at home after clicking the ad at work, buying with javascript turned off, or buying after trying the demo at a friends house, or buying after reading a review you only got because someone else saw the ad and…etc etc. So what we need is another non-purchase way to judge the quality of our ad traffic…

Enter google analytics.

some menu items worth investigating…

If your analytics is set up right, and linked to google adwords you will have a button on the left of the ‘standard reporting’ GUI for analytics that says advertising. You want the adwords, then placements sub menu to list where your ads are showing. This will show up a few howlers immediately, where site ‘A’ will give you ten times the average visit duration than site B. You might want to compare bounce rates too. When you do all this, make sure your landing page has some darned content! If it’s just a logo saying ‘click to enter site!!!’ then these stats are meaningless and your site needs changing.

You can manually go through all the ad placements here and note the ones with decent traffic, and then go back to adwords and pause/exclude the poor performing ones, which will hone your campaign to be more effective. If you do this, you might be able to afford to raise your CPC, knowing it’s only going to traffic that is actually seriously interested. Over time, your CPC bids should rise, and your targeted audience should narrow more and more.

One tip I employ to make things easier, and less cluttered is to set up an ‘advanced segment’. You will find the button just above the chart at the left. Click it, and follow the instructions to build up a segment called ‘likely buyers’. I use the fairly crude metric of ‘visit duration > 60 seconds’, but you can build up complex filters and exclusions here if you like, and know your audience well. Once set up, click that segment so that it filters the traffic for you. You will then be able to look at the lists of placements purely filtered through that segment.

Analytics is scarily complex. I recall another indie dev having hysterics when I demonstrated the animated graphs over time feature :D

You might want to  try looking at ‘campaigns’ then pick an ad group and then change the ‘explorer’ setting at the top from site usage to ‘clicks’. You then see all the adwords CPC  data, and even ROI and margin data (if you have the sales tracking working). This is also very handy, but always be aware that this is only listing directly-trackable income

Remember it’s all about narrowing where you show your ads so it works FOR YOU. Every game sells differently. You MUST get your own data.

Tracking non-sales events

Say you want to get people to download your demo / sign up your newsletter or signup for an account…whatever, and track that rather than sales. This can be done too. You probably want to set those events up as ‘conversions’ in analytics and assign them a value. That will then get tracked just like sales and those charts will show you your ROI etc.

Remember… it’s very hard to be 100% sure you know if your ads are really working. You *do* need a bit of faith. If in doubt, ask yourself why coca cola spend so much if ads don’t really work. or read ‘the advertised mind’ if you want further convincing. 95% of indie game developers seem to do no advertising. Of the 5% who try it, 90% seem to put no effort into doing it right, so they give up. You can do everything I’ve described in one day, and it *does* work, if you pay attention to it all.

I’ve described google adwords, but many other ad services are available, but ANALYZE THE RESULTS. Don’t just ‘trust’ them to work. I found facebook ads to not work, and stumbleupon to be a waste of money. You may find the exact opposite.  Adwords will give you a good baseline to compare against other ads. I’d definitely try them first, before you talk to websites that quote you hilarious costs for impression based ads. In the last 365 days, my adwords spend was about $16,000 and I got 30 million impressions and 73,000 clicks. So $0.21 CPC and $0.53 CPM. That’s just as a point of reference for when you are quoted $10 CPM for untargeted traffic  :D

If you found this post helpful, please tweet about it. I want small indie developers to have a fighting chance against the big boys, and this is the best help I can be :D

 

The death of honest advertising

I was watching a video a few days ago, linked from some very popular site, to an in-flight safety video filled with wizards and hobbits. Sounds fun? it is. It’s actually rather cool. And just before I went to share it,. I noticed the millions of views and realized it was probably already seen by everyone, and then the really obvious point bashed into my head… I was working as a viral marketer for air new zealand.

It was perfect. I am as cynical as anything when it comes to marketing and PR and the various ways companies manipulate customers (even down to the shape of floor tiles in supermarkets…oh yes), and yet here I was, cynical old cliff about to dutifully send out some free viral PR for an international airline. They had caught be, hooked me in, and very cleverly, in a way that would make the best NLP practitioners smile whispered in my ear “why not tell everyone how cool a company we are”.

The cost of the video was probably non trivial, but it was money well spent. And I’m sure they will pore over the figures and declare it a business and marketing triumph. Why bother paying for adverts which people ignore or actively block, when you can get people to promote your brand for free?

It’s a work of sheer amazing human ingenuity that not only got people to embrace having a company logo on the clothing you wear, but actually got you to pay money for the clothing at the same time. We actually pay to advertise Nike and Adidas to people around us. I don’t think there is a single brand of car in existence that doesn’t have a big phat logo on the front of it.

anyway…

What occurs to me, is that as this stuff works, and works so darned well, the need to engage in actual honest ‘here is an advert’ advertising is probably dwindling. It’s clearly not as effective as the viral/subtle stuff. I find this a bit worrying because I am acutely aware of how powerful advertising is, and if this stuff is even better, than we really are all just pawns in the hands of martin sorrel.

Worse, I can ‘strike a deal’ with advertisers. Generally I have adblock turned off for sites I visit, only toggling it on for strobing nightmare crap, but I can’t opt out of, or even recognize the viral and real subtle stuff. Next time you are annoyed by an advert, remind yourself that you at least know what you are watching. You KNOW someone is trying to sell you something. It’s an honest transaction of time/attention/money. The times you really should be wary is everywhere else, where you are being marketed to and promoted to, and you don’t even realize it.

Median time played on steam for my games.

Something very interesting is happening with Democracy 2. because the game is now on steam, for the first time ever I am getting accurate figures for how long people play the game for. Steam tracks that automatically and gives you nice charts and graphs for it, which is very handy.

The values for Democracy 2 are staggeringly high. They won;t seem high, when i tell you what they are in a minute, but from chatting to other devs, and looking at my other steam games, they are disproportionately high.

For those who aren’t familiar with it, Democracy 2 is a pretty complex strategy game, that is based around running a fictional country. It has a fair bit of text to read, but nothing like the backstory in a game like dishonored. It’s a game of balancing competing needs (which is essentially what all strategy games are), and it has a lot of variables to tweak, just like all my games do.

The median time played right now is 2 hours and nine minutes. Does that seem short? Trust me, it’s pretty long, because the values are massively dragged down by people who buy games on impulse in a one-day sale, and only ever play them once. (Steam only counts games that have been actually played for a minute or more). For those who love comparing stats, the average time played is 3 hours 33 minutes. The game has been on steam less than a month, so you would expect that value to rise over time, as people revisit the game (although D2 has not been in a steam sale, which might explain some of this)

That compares extremely well with Gratuitous Tank and Space Battles. The average play time per session for both games is pretty much identical, but there is a massive difference in the distribution of time played. GTB basically hooks everyone for at least 20 minutes, then there is a falloff downwards until you reach this massive spike at 200minutes+

With Democracy 2, everyone is playing at least an hour, then there is a smooth drop off to the eight hour mark. D2 doesn’t have this weird U shaped distribution like GTB does.

Which would imply…errrr?  maybe that GTB does a bad job of helping people through the mid-game, but if they manage it, they are hooked and play forever. I wonder if people get stuck on a specific level, and then either make it through, and keep having fun, or they give up? some aspects of the game design are based entirely around avoiding that situation, but they may be failing.

two things I definitely conclude are that a) it’s good data to have and b)Democracy 2 does very well despite it’s age.

Gratuitous Tank Battles website stats

I’ve been casting my geeky eye over the google analytics data for the gratuitous tank battles website. Here are some assorted stats…

Looking at data for the last 60 days, the site had:

Visits: 67,440

Pages per visit: 1.49

Bounce Rate: 74.78%

TBH, only one of those stats is worth caring about (the top one), and only then, marginally. Bounce rate and Pages per visit are horrendously skewed by the content of those pages. If you pack them with text and video, people will get their fill of data with just one page. These are not stats worth worrying about. The visits stats is marginally more helpful, but it massively depends where they come from, obviously. I’ve sponsored a few small flash games which brings in a TON of traffic, but most of it is pretty ‘low quality’, kids without credit cards looking for more free games. The sheer volume means it can be worth it though. I find it more helpful to concentrate just on highly engaged visitors, such as those spending more than 60 seconds on the site. That gives me:

Visits: 4,723

Which are the only site visitors I really care about. This means I need to know where they came from. In this case the two big easily identified source areas seem to be google adwords and google organic search, which are roughly equal. The problem is, this isn’t showing me my flash sponsorship traffic correctly, so I need to do some analytics cleverness to detect when the ?ref= parameter is passed which tells me which flash game sent me the click. when i look for those clicks I find they supplied…

Visits: 2,977

Which is clearly the lions share of those above. Of course, all this means is those visitors spent time on the site, unfortunately I don’t have any easy way to tell that they are the same people buying the game, especially if they drift off and buy it on steam, or next month. However, I am quite motivated by the long tail effect here. There are hits coming in from long forgotten sponsorship deals from ages ago. That doesn’t happen with banner adverts which are obviously immediate. This can be a pain in the neck, because banner ads can be scheduled and also ramped up and cut back to fit your budget, whereas free game sponsorship is a bit of an all-or-nothing, no-idea-when sort of deal.

Even so, I think I’ll keep experimenting with it. Unlike my foray into stumbleupon and facebook ads, I think this may actually have a reasonable (on a good day) Return-on-investment