How to Use Google Analytics in a Flash Game

For this tutorial I will be using Flash Develop and the Google Analytics for Flash library. I will show how to use the trackPageView function to track player progress in your game. You will need to sign up for a Google Analytics account.

Setup Library
First, download Google Analytics for Flash. Copy the two .swc files from the lib directory in the zip into your project. In Flash Develop edit your project properties and under Compiler Options add the two .swc files to SWC Libraries.

Add Tracking Code to Project
In your AS3 class you will need to add the import statements, initialize the tracker, and call trackPageView.


import com.google.analytics.AnalyticsTracker;
import com.google.analytics.GATracker;
....
tracker = new GATracker(stage, analyticsCode, "AS3", false )
tracker.trackPageview("/FisherGirl");


Create the tracker by passing in a reference to the stage and your tracking code. The analyticsCode is your Google Analytics tracking code you can use any site for your tracking code. I am actually using the same tracking code for this blog as I use for the game. (Where can I find my tracking code?) Once the tracker is created you can call tracker.trackPageview anytime you want to send a new page view event to your Google Analytics. The page does not need to actually exist. For my game I send page views for each rod and a page view for finishing the game.

Setting Up a Goal
On the Website Profile page in GA click Edit next to the profile you are using for this game. Under Conversion Goals and Funnel click Edit to create a new Goal. Set the Goal Active to On. The Goal URL is the "page" you are going to use for game over or whatever you want to have the user finish. The Goal Name is just a readable title for that goal. Now enter the steps to reach that goal, so for my game I have the steps of starting the game and getting each of the rods. Leave out the final game over step, that will be included for you. Click Save Changes.

Today's Data
Most people (including me) assume that you only get data the next day because by default Analytics only shows up till yesterday. However, you can get today's data by opening the date range calendar and clicking on today's date.

Tracking Player Progress using Google Analytics

I've been trying to find an easy way to track the progress of players in my Fisher Girl game. Up till now I've been using Mochibot to track the number of people playing the game, but there is no information about how many players actually made it to the first rod or how many players come back and play again. Google Analytics is great for giving tons of details about your users for websites and can be used in a flash game to give the same information even if the game is hosted on multiple portals.

The latest version of the Fisher Girl game was created for mindjolt and includes the analytics tracking code. In the Fisher Girl game the fishing rod is the leveling mechanic. The better your rod level is the farther you can cast and the better fish you can catch. To win the game you must purchase all the rods and save the Fisher Boy. I setup a Goal in Google Analytics for tracking how many people go through all the steps to finish the game. The goal steps are:
  1. Game start
  2. Purchased silver rod
  3. Purchased gold rod
  4. Purchased legendary rod
  5. Game Finished saved fisher boy.
Using the goal I can track where users are dropping out of the game. Here is the Goal Funnel Visualization for three days on mindjolt.com:


Click the image to see full size.


So you can see how many people dropped out at each rod level. The worst area seems to be between level one and level two where only 34% of the players keep playing. The percentage of players progressing between each level is staying very consistent with only a few percentage points of difference each day. That should make it obvious if any changes increase player retention or not. For my next game update I'll focus on making that second part of the game more interesting and minimizing the frustration of losing lures to turtles.

Update (7/21/2009): After just moving the turtles near the second buoy down, so they wouldn't eat the lure as soon as it hit the water and removing one turtle, the average progress rate between level one a level two went up from 34% to 42% , which increased the game finish average from 6% to 10%.