Where did my sessions metric go? Just because it is a widget, there is the concept of a session or visit, right? Well…not so much. The concept of a session vanishes when looking at distributed content. In traditional web analytics, we look at a one to many relationship between unique visitors –> sessions –> page views. This changes when looking at widgets. The model moves to unique visitors –> views –> interactivity.
So where did the session go? I have often been asked how to calculate the concept of a session when it comes to widgets and my response generally is, “the definition doesn’t stand?”. As a web analytics practitioner, I know that the timestamps in between each page are aggregated together to calculate session duration. An example is as follows:
- Page 1 requested at 09:01:05
- Page 2 requested at 09:01:55
- Page 3 requested at 09:02:33
If we stop right there, the total session duration that we can calculate is 00:01:28 (1 minute and 28 seconds). We never REALLY know how long someone spent on the last page. We just know that the page was requested and that we did not see another request from the visitor within a specified timeframe.
What does that mean for widgets? How do we calculate the amount of time spent with the widget if the concept of session no longer exists? The shift is to time spent viewing the widget – similar to page duration or the time spent viewing a page. However, with only one “page view” to see the widget, how do you calculate that difference in timestamps. The only way to do this is through periodic communication back to the analytics server that is collecting the widget data.
Here at Clearspring we have instrumented a way to have the widget container gracefully “ping” back to our servers to let us know that the widget is still alive and kicking on the page…ok, maybe not kicking….but alive. The container sends a request every 30 seconds if no activity has occured (a click, a mouseover, etc.) and every 5 seconds if the visitor is actively interacting with the widget. The result is the ability to calculate the time that a visitor is spending viewing or interacting with the widget. So an example of this would look like:
- Visitor requests a page with a widget on it at 09:01:05
- Visitor mouses over the widget at 09:01:25
- Visitor clicks on the widget at 09:01:57
- Visitor is viewing the widget (no interactivity) 09:02:27
- Visitor continues to view the widget (no interactivity) 09:02:57
- Visitor continues to view the widget (no interactivity) 09:03:27
The time spent on the widget is 00:02:22 (two minutes and 22 seconds). If you notice in the last three requests, they are spaced 30 seconds apart. This allows for the widget to communicate important activities such as clicks and mouseovers, but to tacitly report back on view time. What results is the ability to add clarity to the interaction events while approximating total view time without degrading the user experience. By the way – we do allow you to adjust some of these settings if you have a widget that begs for a high level of interaction. We also start to spread out those 30 second “pings” into longer timeframes if the widget is on the page for long periods of time.
So the session didn’t die, it just isn’t applicable to content that is standalone and transient. Pulling those “pings” of timestamps together to get a time spent on the widget is the only way to calculate how long someone is interacting or viewing the widget. The end result is a transition from session duration to time spent.
Widget of the week!
And of course, my favorite widget of the week! As I was browsing through our Google Analytics reports, I noticed that a common keyword used to get to Clearspring.com is “Hand Reflexology”. There is a very cool hand reflexology widget that you can interact with to learn the pressure points on your hands. Very cool stuff. If you click on the link below, you can go to the widget home page and see this widget – and grab it for yourself if you’d like!