I wrote this a few weeks ago, and then Jeff stole my thunder by posting his SEO for Navigation Q&A column last week. The good news is that now we're addressing our Flash issues problem from both an SEO and a Web Analytics hat.

To Flash or Not to Flash, that’s not the question

Let me tell you the bane of this analyst’s job when it comes to websites: Flash. Sure it gives a visitor some nice eye candy, but without the proper coding underneath all that flash (pun intended) all you’re usually left with a single metric of a visit or page-view and nothing that can tell you how a visitor engaged with your site.

Now I’m not saying don’t design in Flash.  The real question here is how to design it properly.  Too many “web agencies” will start their process with a creative design that 'looks good' and then build the information architecture as an afterthought.

Better agencies will design a site that looks good and make sure that it technically functions well from a user perspective (i.e. no broken links or missing content, works in all browsers, etc.).

The best agencies won’t even address how the site looks until late in the process. Rather, their approach starts with asking a simple question “what does the visitor want to do on our site, what do we want them to do, and how do we achieve our goals so that we can track that/report on it.”

From an Analytics perspective, the answer is relatively simple; look at what those actions are and make sure the structure of the site allows you to track these actions. This includes making sure the site structure allows you to count clicks on specified links, identifying when content is downloaded (or uploaded), and tracking page views for the different sections/steps within the application.  A stand-alone flash application tracks NONE of this!

Tracking page views for sections/steps in the flash movie is most critical in my mind.  This is because I am often asked to give qualitative feedback about what people are actually doing within an interactive flash piece on a web site, yet nobody proactively involved me during the design process to make sure we could actually track this behavior.  In a stand alone flash application without click or pagetracker tags assigned to each section of the site, this is impossible.  No client side analytics tool can do this right out of the box.

Fortunately, you can issue a simple code fix with Google Analytics to track interactions throughout the flash movie by using the _trackPageview() function on each step of the process.  However, this involves additional development time, and may not be a high priority for the web agency.

Editors note, this is where Jeff decided to geek out my post even more with his explanation of Flash.  He claims the first web site he made in flash 2 was wicked awesome, whatever that means.

Even though all it takes is just adding an additional function within your ActionScript/Flash scripting controls, it may take some coaxing and leg work to accomplish your goals.  For those of you who don't know flash, controlling what someone sees within the movie essentially involves pointing the person to a 'frame' within the flash document (known as a 'movie' in the flash world).   The frames of a movie that you see are controlled by either time (seconds) or through the use of buttons.  At the click of a button, the visitor is taken into a corresponding frame of the movie.  It is during this click that you can use the track Page View function to track a new page view.  The code would look something like this:

flashMovie.addEventListener( MouseEvent.CLICK, onButtonClick );
function onButtonClick( event:Event ):void
  tracker.trackPageview( "/Path/Filename");


On a high level note, the easiest way to track the flow of a flash movie is by mapping out the flow of the site (or microsite or section of your site, you get the idea) and list the actions on each “page”.  It doesn’t take a whole lot of time and it saves much more time that trying to go back and add all this code after you’re already reviewing a test version of the site.

As with any web project, bring your web analytics team to the table BEFORE you write a single line of code.  It will save you from several headaches, months of inaccurate data, and thousands supplemental development dollars.