Here are two assumptions you can (wrongly) make as an indie game developer:
1) If you show ads to someone, and they buy your game for $22, you earned $22 for showing them that ad.
2) If you spend $1000 on ads/marketing in december, and made $1200 worth of sales, you made a profit.
lets look at 1) first.
Obviously, you need to compare PROFIT not revenue, so we can assume that you got $22 after paying the payment company / portal royalty for that sale. But is that $22 the real profit from that customer? No, it’s only the start. If you release some DLC, a sequel, or just another game at any stage, you already ‘have’ that customer, in terms of them being aware of your business, and happy to purchase from you. What you need to do is to look at the average value of a customer over the customer lifetime, not that one sale. My maths tells me that a straight analysis of my google ads in December 2010 shows me losing money…. on the single purchases that derive from those ads, but I definitely make money on the long term. You don’t know the average revenue per customer? Find out…
Now 2)
There is a tendency to look at the total sales and subtract the ad budget and deduce the remains as profit, but there is another deduction to make, and thats ‘sales you would have got anyway’. Obviously we all get word-of-mouth sales, review-induced sales, and search-engine related sales. You need to look at your analytics *only* for the paid-traffic segment, and work out what proportion of sales to assign to the ads, THEN work out if you are making a return.
Don’t think that you can make assumptions there either, the paid traffic might be more(or less) likely to visit the buy page, so you need to actually analyse that. Again, my december stats look pretty awesome if I assign all my sales revenue to the ad budget, but if I only assign the sales that came from the ad traffic, it’s a different story.
These are just two more, of the fourty-million ways in which people can not know the numbers, and thus lose money on ads. This is time well spent. It also makes a change from debugging :D