I have been studying how to make our web analytics better for reporting dynamic campaign data. We have WebTrends as our analytics, but and on this blog I use Google Analytics for my personal analytics solution.
From an architecture perspective, the basic way an analytics engine gets its data is two ways:
1. A javascript that sends a message to the engine with some tracking data (this is how Google Analytics works for example)
2. A standard web log file is injested (this is how WebTrends typically works)
Both tend to log the static URL plus any additional HTTP information available, e.g. the referrer, query parameters, geographic information, browser information, etc.
All of this works fine for a site built in 1999 when static URLs were the driving force behind a web site. But in an ASP.NET or any other server side generated web site, trying to store all this traffic data in a client side URL is pretty limiting. Consider the following scenarios:
1. You have an ASP.NET forms based application which gets posted back to the same URL over and over again as the form gets edited. The URL doesn't change but lots of information is changing in the background.
2. You have an ASP.NET page which is dynamically built out page fragments such as a portal page.
3. You want to associate a non-page related event to a web session along with the page data you are tracking. For example, suppose that you have a checkout process and you want to register that an order was created and link that to your web page analytics so that you can see which preceding pages link to an order.
In all these cases, the traditional web analytics approach doesn't work. If you look at how WebTrends suggests to do campaign tracking, this gives you an idea on how to fake out the software to track these events. You can store query parameters to identify variables, events, etc. and then get WebTrends to report against them. However, this isn't really a feasible solution for the above scenarios in that a) you don't necessarily want to expose data back on the URL; b) you don't want to have to constantly dynamically re-write every URL in your application; c) if you have a complicated set of objects your tracking then writing out a serialized objected isn't feasible either.
To me this is a real opportunity for Microsoft and the .NET framework in the future. It would be a snap for them to implement it - they already most of the pieces in place and could offer a very open, developer friendly approach to web analytics. This would allow for some very funky tracking in the background and provide the developer the flexibility to log a whole bunch of information as needed. The trick in building the solution is performance - the reason why WebTrends works on web logs is because its fast and means no performance hit on your web traffic. But at least in our case, we would sacrifice a minor performance hit to get more powerful data - we get relatively small amounts of traffic but understanding the patterns in high amounts of detail is very powerful in improve conversion, analyze campaign effectiveness, etc.
Has anyone come across a product that approaches web analytics this way?
Tuesday, April 17, 2007
Subscribe to:
Post Comments (Atom)
Subscribe Now
Blog Archive
-
▼
2007
(99)
-
▼
April
(27)
- MIX07 Update: Dynamic Data Controls
- MIX07 Update: Feedback on Expression Web
- Bringing You The Best from MIX07
- Finding People Across Multiple Social Networks
- The Growing Phenomenon of Internet
- Classic Presentation from Uncle Bob Martin
- Service Oriented Architecture - "I think we spend ...
- Where Will The Cool Kids Be Hanging Out Next?
- Do We Really Need an AJAX Conference?
- Microsoft .NET is Hit with Patent Suit
- Amazing Use of Google Earth - Crisis in Darfur
- Is Posting on Facebook Enough Action To Ease Your ...
- The Cause for RIM Going Down is a Software Failure
- We Need a New Paradigm for Web Analytics
- Are You A Guerrilla Project Manager?
- The Biggest Security Threat - Paper and the Front ...
- Fun with Naming Conventions
- E-File Follow-up
- Best Tool for Task and Bug Tracking is JIRA!
- Vintage Material on YouTube
- Desktop R.I.P? Don't Count on It!
- SSIS and Visual Studio 2005 are very slow...
- Is it a Web Site or Blog?
- Expression Web and Blend will be available for MSD...
- Microsoft should let Apple have the Toy Market
- Countdown to Mix 07 in Las Vegas
- Test Driven Development within Visual Studio 2005
-
▼
April
(27)
2 comments:
Yes, I work for a company that sell Unica NetTracker and NetInsight web analytics products.
These products with some implementation effort can produce the analytics data that you are talking about.
You mentioned about Google Analytics using page tags and WebTrends typically using log files. However it is possible to use page tags that don't pass the data onto a third party generic analytics package like Google.
Instead the page tag sends data back to your web server and gets caught in the standard web logs.
As you said that you don't want to expose data over the URL in the query string then instead you could use page tags to send event meta information which may or maynot represent a page view. This page tag can be dynamically generated in your ASP.NET/PHP/Coldfusion etc code to include the extra meta information.
Once you have the data safely in your log files then you just need to tune the analytics package accordingly.
It's not the easiest analytics implementation but the results can be very effective at providing insights.
Matt Hopkins
SCL Analytics
I just read about RobotReplay... it tracks mouse gestures.
Post a Comment