User Profiles FAQ

What does "Updated at" mean?

"Updated at" (previously called “Last Seen” ($last_seen) in the UI) is a reserved user profile property that records the date of the most recent update to a given user profile.

This property is not automatically updated when events are tracked, only when a user profile is updated.

The “Updated at” property should never be manually updated or imported. 

Please note, this is still called $last_seen in the APIs, but is renamed to "Updated at" everywhere in the UI.


What are the differences Between "Updated at" and Last Event?

Depending on the context of your project, you might prefer to tailor your implementation to include a custom date user profile property such as “Last Login”, which would update each time a user fired a “Login” event.

This user update would automatically prompt an update to "Updated at" and additionally allow you to send event-based targeted notifications to users who had logged in even more than 90 days ago.

If you want the "Updated at" property to reflect the timestamp of the last event fired, for every track call in your code, you could use a people.set call to track the date the user's “Last Activity” as a custom user profile property.

To make this efficient, you can tailor your implementation to track the "Last Event" each user completed once they authenticated by creating a wrapper that automatically tracks an event and made a people.set call.

This will ensure that “Updated at” reflects the timestamp of a user’s last authenticated event.

An example class for an iOS app can be found below:

#import "Mixpanel.h"
@interface TrackMixpanelEventWithProperties: NSObject
+ (instancetype)sharedInstance;
- (void)track:(NSString *)event properties:(nullable NSDictionary *)properties;

@implementation TrackMixpanelEventWithProperties
+(instancetype)sharedInstance { static dispatch_once_t onceToken; static TrackMixpanelEventWithProperties *globalStatic = nil; dispatch_once(&onceToken, ^{ globalStatic =[[TrackMixpanelEventWithProperties alloc] init]; }); return globalStatic; }
-(void)track:(NSString *)event properties:(nullable NSDictionary *)properties{ [[Mixpanel sharedInstance]track:event properties:properties]; [[Mixpanel sharedInstance].people set:@{@"Last Event":event}]; }

Mixpanel recommends only using this method described above for events that occur after you have identified the user.

Setting user profile properties before the login stage can create a large number of anonymous profiles.

How is "Updated at" updated?

Your Mixpanel data is split into two platforms: engagement and users.

Your Engagement data is comprised of all your events, while your user data is comprised of your user profiles.

Given the disparate types of data, engagement data (events) and user data (profiles) live in two entirely separate data stores.

A user’s Activity Feed groups all events fired by a particular distinct_id and is populated from Mixpanel’s Engagement data.

While you can view a user’s Activity Feed within a user profile, a user’s activity feed is not connected to the user datastore.

As a user profile property, “Updated at” exists exclusively within user data.

Consequently, a user firing an event and hitting our engagement API does not trigger an update to a user’s "Updated at" user profile property.

How do I add pictures to profiles?

Set the profile property Avatar ($avatar) to a url resource of a gif, jpg, jpeg, or png to update the picture in a profile.

The value of the Avatar ($avatar) profile property must be an image URL that ends in .gif, .png, .jpeg, or .jpg. Mixpanel detects the property value by filetype and not MIME type. So Mixpanel cannot access an image from a URL that does not end in .gif, .png, .jpeg, or .jpg.

If a profile does not include the Avatar ($avatar) property, then Mixpanel looks for a Gravatar account associated with the email address stored in the $email property.


If a profile displays a picture from Gravatar, there is no way to remove it.

If there is no Avatar ($avatar) property and the email address set on the Email ($email) property is not associated with a Gravatar account, then a profile will not display a picture.


Did this answer your question?



Article is closed for comments.