Bango has launched a site analytics product. For organisations looking to accurately assess the traffic coming to their mobile site, Bango’s is a unique proposition.
The key is the session
Sessionisation, the task of identifying a set of page requests as having originated from a single user, is a major issue in web analytics. Some of the simplest things marketers like to know require requests to be grouped. For example, “where does the best traffic come from?” could be rephrased by a web analyst as “which campaign or search engine sent us the most people who eventually hit the checkout page?” To answer this question, the analyst needs to link your request for the first page (the one linked to by the search engine) to your later request for the checkout page. Other questions like “how long do people spend on the site?” or “how many products do people look at before they buy?” also require a session.
Approaches to sessions in web analytics
In the early, dark days of log file parsing for web analytics, sessions were identified using your IP address. This approach provides very poor accuracy as IP addresses are commonly shared. All of AOL’s users, for example, were hidden behind a single proxy. Not only are IPs shared, but a set of requests from a user could come from any number of IPs in the proxy’s range.
JavaScript-based analytics tools, of which Google Analytics is the most well known, avoid this problem by setting cookies as a more reliable source of identity. Look through your browser’s cookie store and you’ll see lots of entries called __utmz and __utma with a long number as a value. These are identifiers given to you by Google Analytics the first time you visit a site and read each subsequent time. Information about all requests you make from a site is collected and linked to this one identifier.
The cookie approach has a flaws as well. Delete your cookies and your ID is hidden. Move to another computer and you become another person. Vendors like to tie your cookie to a login name if they can. This provides a more persistent ID to base sessions on. The cookie might change, but if you log in again, they know it’s you once more. Google almost certainly uses your Google Account to centralise this data. These methods have been evolving for some time and are getting increasingly accurate.
Mobile web analytics
But JavaScript support the mobile web is minimal. High-end phones are beginning to offer it with the Webkit-based phones from Apple and Nokia (and soon many others via Andriod) leading the way. Until JS becomes reliably available (>95% of users), mobile web analytics vendors are left with the same tools that their forefathers had to use in the 1990s. The same problems are even exacerbated. Each mobile device is part of an operator network, so requests come from the small number of IPs in the operator’s gateway. No phones are directly connected to the internet, as modem and ADSL users are. It is possible to build cookie-based tracking without JavaScript, but this requires server-side code on the site being tracked. We could build that at MyMart, but what about all the other operators who are just serving static HTML. The solution would be useless for them.
This is a bit strange, the user’s phone number provides a perfect session ID. It is very persistent (I’ve had mine for about 9 years) and there is a good relationship between your number and you, unlike a cookie stored on an internet café PC for example. However, operators are extremely reluctant to give phone numbers out to any old mobile web site operator. The privacy concerns of their users must be respected.
Bango and the phone number
This is a unique opportunity for Bango. I’m not entirely familiar with their infrastructure, but they have long been able to map a mobile web browser to a phone number by requesting that information from the mobile operators. They then create a Bango ID for each phone, and this is used as the core of their analytics engine. It is obfuscated, they can provide it to site operators without risk of that operator using it to contact a visitor inappropriately.
Implementing their solution is simple, add an image tag to each page you want to track. This causes the visitor’s browser to request the image from Bango. In processing this request, Bango probably look up the visitor’s Bango ID so they have the session. The image tag passes information about the page being requested so Bango have that information as well. It’s still early days for this process and I’m sure getting it accurate will be hard work, but it seems like the foundations are there.
It will be hard for another organisation to mimic this approach as it leverages Bango’s position as a payment provider. AdMob is preparing an analytics product, but without accurate sessionisation it will be quite useless. I’m not familiar with their approach, but it will be hard for them to beat Bango unless they have something similarly innovative up their sleeve.
[Via Bango Newsroom on the mobile web]
Update, July 25, 14:30.
The day after I published this post I was invited to the AdMob analytics beta. Thanks guys!
AdMob’s product must be integrated with your server-side code. It uses a session ID you have assigned (cookie or url parameter, how is your problem) and captures other data from your system. This is really the only other way to get accurate sessionisation, but it does place a greater burden on implementers. I have not yet implemented AdMob analytics and frankly probably won’t since Bango’s product is up and running already. This ease of deploying Bango’s product is a significant advantage.