Event Properties are bits of extra information that you send along with your Events which describe the details of that action. They are usually specific to the Event they’re describing and don’t apply universally to other Events.
Leveraging Event Properties allows you to conduct deeper analysis to better understand user behavior for a specific action.
While Event Properties generally describe the Event itself, they can also describe a user’s actions in relation to that specific Event.
For example, for a “Video Played” Event, you may want to include a Property that lets you know if the user firing that Event finished watching the entire video or played only part of the video.
Other examples of Events and Event Properties you might send with that Event:
- Event: Page View; Property: Name of page viewed.
- Event: Video Played; Properties: Length, Artist, Genre.
- Event: Made Purchase; Properties: Item(s) purchased, Total, Did the user have a coupon or not.
- Event: Leveled Up; Properties: Level, Time to level up, Hours user played before this level up.
Reserved Properties for Events
- Distinct_id - A way to uniquely identify your users. You can set this to any value using the identify method. Some Mixpanel libraries assign a random value by default.
- Ip - If distinct_id is not present, and the event contains a property named 'ip', the value of 'ip' will be used for uniqueness.
- Token - The token used to associate data you send Mixpanel to your account and project.
- time - A unix time epoch that is used to determine the time of an event. If no time property is provided, we will use the time the event arrives at our servers.
- Campaign_id - Used to build message funnels
- City ($city) - The city of the event sender, parsed from IP.
- Region ($region) - The region (state or province) of the event sender, parsed from IP.
- Country (mp_country_code) - The country of the event sender, parsed from IP.
- Bucket ($bucket and bucket) - A reserved property that is hidden from the Mixpanel interface, and will cause other events to not appear in the interface. Do not name any property bucket or $bucket.
- Message_id (message_id) - A number data type reserved Property that is matched with Message names in the UI.
For a list of default properties collected by Mixpanel, see this article.
Super Properties for Events
Super Properties are a type of Event Property that you can register once to automatically attach to every Event you’re tracking. They are Event Properties that apply to all Events without having to manually include them in each mixpanel.track() call.
Because Super Properties send values associated with Events, they are useful for seeing Properties over time.
For example, you could register a Super Property with all of your Events that indicates whether they were done by a free or a paid user. Then, if a user changes from free to paid, you can see over time which Events led up to that conversion and which specific Events they did as each type of user.
Other examples of Super Properties you might send with every Event:
- Organization that a user belongs to or rolls up into
- Account age or signup date
- Referring user ID or invited date
Because Super Properties are stored in the user’s cookie or in local storage, you’ll want to be relatively discerning about what you register as a Super Property so that site or app performance is not compromised. What should I do if my cookies become too large?
Incremental Super Properties for Events
Incremental super properties are a way to create a tally to count the number of times a user has performed a specific action in your app. For example, if you have an e-commerce site and want to track how many times a user has viewed an item, how many items they’ve added to their cart, or how many purchases they’ve made.
For more information about how to implement incremental super properties, see this article.
A list property contains a list or array of several properties contained in one value.
Use list properties whenever you have more than one value for a given property. Here are a few examples of list properties:
- All the Items purchased in a “Checkout Completed” event.
- Multiple artists for a “Song Played” event.
- Experiment groupings for A/B testing.
- Genres of music in a listener’s preferences.
The list type properties limit is 2mb.
Property Limits for Event Properties
There are technically no limits on the number of Event properties you can send to Mixpanel. However, the maximum number of properties you will be able to access in the Mixpanel UI drop-downs is 1500. Additionally there is a limit of 2000 properties per event so while you can have different events containing different properties, each event is limited to 2000 properties. These limits include Mixpanel default properties and Mixpanel special/reserved properties. It is important to note that if you find yourself above 1500 total event properties and/or 2000 properties per event, it is likely you will want revisit the naming of your properties as discussed in this article.
Keep in mind the number of Properties sent per Event does tie into the amount of data being used by the device sending data to Mixpanel. While this may not matter on a browser or on your server, it will impact the data consumption by your app on users’ mobile devices. Because of this, we recommend ensuring the Properties you send will never be uncapped and will always have a maximum length to avoid excess data consumption.
Field Size Character Limits for Event Properties
The following limits on field size apply when inputting fields for properties in Mixpanel:
- 255 bytes for string properties
- 255 characters for each item in list properties