How do I track new and returning users in Mixpanel?

  • 15 December 2018
  • 3 replies


I'm trying to create a segment of behavior between new and returning users within a funnel. Based on this article: you should register it as a super property or submit it per event.

However, it seems there is an assumption that user is registered like in an app rather than an ecommerce site or blog because the article depends on there being one entry point in the journey. And, it doesn't really explain how to actually detect if a user is new or returning to assign the "First Time" property they have in the article.

Anyone have any ideas on how to do track this?


Best answer by michael 21 December 2018, 18:26

View original

3 replies

Userlevel 6
Badge +3

Hi @tanner --

I would recommend using our mixpanel.register_once method to assign a 'First Time' property on platforms that do not require authenticated users. This method will register a set of super properties, only if they do not yet exist, and it will not overwrite any existing values if they do already exist. Unlike the mixpanel.register method which will overwrite any existing value with each call.

For example, you can set a date property with the name 'First Visit' when a user first lands on your site. With the register_once method, it will only be set once per browser and device.

From there, you can define a new user as those with more recent 'First Visit' dates.

Let me know how it goes!

Userlevel 4
Badge +4

Hi @cherise,

I have a question regarding mixpanel.register_once. How does Mixpanel identify a web user without authentication? IP?

Userlevel 4
Badge +2

Hi @IvanMuniz,

We manage identities with a property called distinct_id, and our client side SDKs will manage this for you by default.

In our JS SDK specifically, we use a random and unique 54-60 character hash that is stored in a cookie, rather than use an IP for security purposes.

You can read more about that here.

Hope this helps!


PS: Since this is such a great question for more people in the community to see, I'm going to post it as an entirely new post so that it has better visibility. Thanks for bringing it up!