Posted by Carl Millar - 20 November 2015
“One of our sales reps just left - what did they do?”
This is a question we’ve been asked a few times in the past, where a client has one of their sales reps or managers leave and they want to know what information they accessed in the days prior to them leaving.
Each time we were able to piece together a picture of what the user had done through various logging functions we implement including: when the user logged in, their device information, pages they accessed, reports they ran, data changes they made. We had to pull this picture together by combining information from our various logging sources, which was doable but labour intensive.
The next logical step: Activity Logging
Our next logical step was to combine our logging ability together into a single Activity Logging function. Activity Logging allows us to log any and all activity a user/visitor makes, including pages they visit, buttons they press, data they change, any background activity that occurs for that user, and any exceptions that might have occurred.
Activity Logging can be used to not only log what individual users are doing, but monitor the performance of your apps (and alert when performance drops below defined KPI’s). Logging can be applied to any and all parts of your application, including smartphone apps, websites, web services, server libraries, and database procedures.
By logging at all levels of your application you can see where bottlenecks or issues appear in your data pipeline. This allows you to respond quickly to issues, or be able to trend performance to see where issues are going to appear ahead of time.
Sure it can be a lot of data collected, but you can always configure it to only enable verbose logging for certain users (to troubleshoot an issue a particular user is having), enable verbose logging for certain pages (great for gaining feedback on beta functions or new pages), keep detail data in the short term and aggregate data after a period, or just archive data once it's past its use by date.
There are a number of tools out there that you can use for logging user activity. Generally these fall under the umbrella of either Application Performance Management tools or UX Analytics. Application Performance Management tools are great for gathering performance information about your systems and user related activity, though they’re quite technical in nature and provide aggregated information rather than individual user activity.
Google Measurement Protocol is another very good tool, giving both individual user activity and an aggregated view in the dashboards though has limitations such as not processing values older than four hours (if you’re unable to log to Google immediately), and not being able to store datetime data using a datetime datatype.
Putting the data to use
Recording all this information is great, but it’s what you can do with it that’s really exciting. Done right, you can:
- Raise the knowledge of your end user experience from a dark unknown chasm to a smorgasbord of opportunities to improve your application
- Promote unused features
- Simplify heavily used features
- Change layouts or workflow to reduce clicks and scrolling
- Identify periods of reduced performance or high usage
- Or just generally understand how people use your application
And of course usage figures always look great on a Board Report.