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.
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