Based on studies from Google, Bing, Walmart, Amazon and others, we know that Users change their behavior because of the slightest degradation in performance. Amazon claims they see a 1% conversion drop per 100ms speed. But what about other factors such as first time vs revisiting users, users entering your app through Landing Page A vs Landing Page B, premiums vs regular paying users, power users vs “I am just browsing around” users? The quick answer: heat maps!
Now, if you have all this data, how would you visualize it so that non-“UX Data Forensic Experts” can take actions on how to optimize click streams, where to better place links, or which pages to speed optimize?
Here is our proposal involving heat maps. Hopefully it will spark your interest! (Get it? Heat! Spark!) The following screenshot is a Dynatrace UEM PureLytics Heat Map showing me the links on which our users clicked in the last 24-hours when arriving at our Dynatrace Online Documentation Landing Page. The heat map tells me that most of our users are interested in content around Getting Started, Release Notes, UEM, What’s New in Dynatrace Web as well as the top links on Community, Support and eServices:
The data behind the scenes is captured by Dynatrace AppMon & UEM, streamed to ElasticSearch via PureLytics Stream, and visualized in FireFox through a Greasemonkey plugin that my colleague Dominik Punz wrote (kudos to Dominik!!). His plugin pulls the aggregated Dynatrace Data from ElasticSearch, and visualized the click counts using heatmap.user.js.
Because Dynatrace captures every single user and every single click including the URL, source and target page, and the link caption, you can do a lot of “magical” things. Especially when combining it with data that Dynatrace also captures on the server side! Let me walk you through some use cases that I personally found very useful in my work on understanding how our users act, how they navigate through our system, and what information they seek. All this helps me to optimize content and layout to make content more accessible for our different user types.
Use Case #1: Behavior Analytics based on User Type
The first heat map helped us to learn what our users are doing overall on our different community pages. But what I really want to know is the different behaviors of the different types of users. With Dynatrace AppMon & UEM we capture every single visitor and all its actions and, therefore, we have all these additional dimensions available when analyzing user behavior:
- Type of User: If they are logged in we automatically have the role assignment: Customers, Partners, Employees, Free Trial Users or Others (people who are not logged in and just browse through the sites)
- Geography: IP and, therefore, the location
- Browser/Device: User-Agent String or Device Type for Mobile
- Landing Page: Because we keep the full Visit history we know how they actually ended up on this page
- And more: bandwidth and connection type, version of app (in case you use A/B testing or have different versions of your mobile apps out there)
It was very interesting for me to see the difference in Free Trial Users vs Customers/Partners vs Employees. Why? Because I am personally responsible for our Free Trial Users I want to know the content in which they are most interested so I can optimize it, as well as rethinking page layout to increase the likelihood they will find the content that matters most to them:
Use Case #2: Behavior depending on Landing Page
Another interesting question for me is how my free trial users actually arrive on this page, and how that changes the behavior of clicks. Dynatrace UEM automatically tells me the main landing pages – here are my top 3:
- Free Trial Community Home Page
- Free Trial FAQ Page
- Google Search!
Now, let’s have a look at the different behaviors of these folks! It appears people starting their user journey on the FAQ page are trying to find “Installation Instructions”. They also appear to be looking for “Support”. Visitors coming in from Google Search are generally more interested in “Getting Started” information.
So what does this tell me? I should probably provide the Support link and Installation Instructions directly on the FAQ page which saves visitors an additional click!
Use Case #3: Mac vs. Linux vs Windows Users
We recently announced support for Dynatrace running on Mac. This is great news for Mac users from a technical perspective, but we need to be certain we have the right content for them by analyzing side-by-side click behavior of Mac vs. Linux vs Windows users:
This is a great wake-up call for me. I often receive emails from our Mac Users commenting that installation has not always been a particularly great experience for them. But we now have definitive proof that Mac users running Dynatrace really require more installation instructions on our doc pages.
The other interesting observation is that Mac Users frequently look for our Mobile Support and Developer Information. I assume most of them are probably iOS developers seeking our Native iOS Monitoring! Another option is to create specific landing pages for iOS Developers!
Use Case #4: Satisfied vs Frustrated Users
In this final use case I will show you the impact of performance on click behavior, which was a genuine eye-opener for me! Fortunately Dynatrace AppMon and UEM capture all user actions end-to-end, allowing me to make a comparison between fast and slow performance vs behavior.
Based on our User Experience Index, users having a bad experience up to this point are most likely to click on the Support link. My guess is that they are tired of spending time finding their answers on the portal, and would rather connect with our support team. This tells me that user experience has a direct impact on our support team because users are not leveraging the “self service” aspect of our community but are instead opening support tickets:
More Use Cases: You name ‘em!
As you can see – the possible use case scenarios are infinite. The key to making all of this work is to have full user journey details available to you, not just pieces, and not just from the client or server-side. You need it all to easily identify which role a user belongs to after login, or you can’t know what differentiates a happy user vs from an unhappy one.
If you have additional use cases you’d like to share, please comment below on this blog. We can then determine how to solve the scenario using Dynatrace AppMon, UEM, and new PureLytics Stream. Which raises a key question: How does this all work, and how can you test this on your own?
Try it on your own app!
Follow the 4 steps instruction on our Dynatrace UEM PureLytics Heatmap GitHub repository page to get this to work on your own environment. If you have further questions, feel free to comment on this page, or post a question on http://answers.dynatrace.com. I also be hosting an Online Performance Clinic about this soon!
This should do the trick to help you better understand how your users tick!