Most websites and many applications have traffic from both logged-in and logged-out or unknown users. While it is clearly important to learn about how your logged-in users interact with your application, there are often also extremely vital flows associated with users before they create an account. Questions like:

  • Are people that use certain browsers getting stuck on a step in the signup funnel?
  • How many pages do people read before signing up?
  • Did my UI change improve signup conversion rates?
  • Do Google AdWords clicks or certain campaigns lead to a higher retention after 30 days?

…might hold the key to unlocking hidden growth opportunities! Let’s get started.

If you are reading this, maybe you are only logging known user events, or maybe you are also logging some or even all anonymous user events as well. If it is the former, no problem! Even if you are logging all anonymous traffic, I’m here to help you get the most out of your analysis with some logging best practices so that you can track anonymous user flows from first land through account creation and beyond within Interana.

The first thing you are going to want to do is to choose a primary key attribute as the “actor”. In my time at Interana, I have seen anonymous_id, browser_id, cookie_id, web_id and a few others – all work similarly well. For the purposes of this blog, let’s choose anonymous_id.

From there, we must make sure we can query when new anonymous_id’s are first seen. Unlike new logged-in users that normally have their first event = “Signup”, new anonymous users can land on a multitude of pages from a multitude of sources. Because of this, it is important to create a relationship while also differentiating between first landing on the Homepage and first landing on the Product Info page. Maybe users that first land on the Product Info page spend less time on the site before signing up – that is something you should know! I have found that determining when new anonymous users are first seen is best accomplished with a property of their first event like ‘first_seen = True’. With this configuration, we can easily see the distribution of types of pages or events that new anonymous users first land on or experience. There are also positive storage implications by structuring this information as a property of the event rather than an event standing on its own. Side note: ‘first_seen’ should be *null* for all other events; Interana determines this by default if there is no ‘first_seen’ JSON object as part of the event.

From there, make sure to persist the anonymous_id as long as possible through all events that user generates INCLUDING the signup event! This means that after login, the user’s events will have both a user_id and an anonymous_id. Too often I have seen organizations switch from anonymous_id to only user_id once a user_id is known. While it is important to know what happens after signup, a user’s whole first session can hold key information. If certain page views before a signup lead to a “better” first session and therefore longer retention, find a way to send more anonymous users to that page!

Once you have all of this, we can begin to ask questions and gain actionable insights about your anonymous users!

A few more examples:

  • When and from where do new anonymous users come to my site?
  • What referencing source leads to the shortest time to signup?
  • What landing page leads to the longest average learning session?
  • Where do people coming from Google get stuck?
  • How many days do new anonymous users browse before signing up and finally purchasing an item?

The possibilities really are endless!