Skip to main content

Property Reference

Properties are attributes that help you define the specifics of an Event, a User, or a Group. Mixpanel has many property types defined in its Data Model.

Property Types

Property TypeDescription
Event PropertiesEvent Properties describe the events that are tracked within your product.
Super PropertiesSuper Properties are a logical term for global Event Properties that, after registration, are saved into the end user’s device, and appended to every event from that device until persistence is cleared. This logical term is mostly applicable to our client-side libraries.
User Profile PropertiesUser Profile Properties describe your users (they typically store current demographic information). User profiles are joined to events based on Distinct ID.
Group Profile PropertiesGroup Profile Properties describe group level information (similar to User Profiles Properties at user level). With Mixpanel’s Group Analytics, multiple users can be grouped and behavioral data analyzed at a customized group level (such as company, account). Group profiles are joined to events on your chosen Group Key.
Lookup TablesLookup Tables allow you to dynamically extend additional properties mapped to an existing Event or User Property. For example, if you create a lookup table for “Songs” (that contains additional properties like hash_tags, top_10, all_time_favorite) and map it to an event property song_id; you can use these additional properties when doing filtering or breakdowns for events that has song_id as an event property.
Default PropertiesDefault Properties (for Events and User Profiles) are collected and populated with values automatically in Mixpanel. This can happen upon data ingestion or when using certain Mixpanel client-side SDKs. Typically, they have a dollar sign ($) or “mp_” as prefix to distinguish them from normal properties.
Reserved PropertiesMixpanel reserves certain property names (for Events and User Profiles) for special use cases, and these may or may not be automatically populated with values. The purpose of such Reserved Properties are for processing (ie event time stamping) or for specific system features (eg: cohort exports). Examples: time, $email, $phone, $name, $created.

Supported Data Types

Mixpanel supports five data types for properties: String, Numeric, Boolean, Date and List. By choosing the most suitable data type for your properties, you’re able to apply a set of operators that are most relevant to your properties in Mixpanel reports, giving you richer insights into your data.

String

  • Alphanumeric value e.g. Plan Type = “Free”, Artist Name = “Bruno Mars”.
  • String properties have a limit of 255 bytes.
  • Different character encodings require different number of bytes to represent a single character.
  • Mixpanel will treat any property value that does not match any other data type as a String.

Numeric

  • Numeric (integer or decimal) value e.g. Cost = 15.00, Quantity = 5.
  • You can apply operators such as sum, median and percentile on numeric properties.

Boolean

  • Mixpanel treats properties as boolean if the value is either the JSON constant true or false; e.g. Favorite = true, Bookmarked = false.
  • On Mixpanel, you can typecast any non-boolean property to boolean.
  • “false”, 0, null, undefined, empty string and not set will be typecasted to boolean false.
  • “true” and any set value that is not 0 or empty string will be typecasted to boolean true.

Date

  • An ISO formatted date YYYY-MM-DDTHH:MM:SS in UTC e.g. Last Purchase = “2022-10-30T13:30:25”, Last Login = “2022-10-29”.
  • Note that all timestamps need to be sent in UTC timezone in an ISO format.
  • Mixpanel treats unix timestamps as Numeric property, however, you can typecast it to Date data type.
  • Timestamps are ingested with millisecond precision, but exported with second precision.
  • You can break down your results by the “Time” event property and breakdown by Hour, Day, Week, Month, Quarter, Year, Hour of Day, or Day of Week.

List

  • A list of values as a JSON array e.g. Favorite Genres = ["Folk","Alternative"] or Favorite Numbers = [1,5,10.0]
  • Limits of a List property: Event Property = 8KB, User Profile Property = 256KB
  • Each item in a list would be further limited by their data type’s limits; example: a list of strings would be limited by 255 bytes per string.
  • Mixpanel lists are not ordered (i.e. position of values in a list are not significant in Mixpanel reports) and are useful for grouping or analyzing similar values across events.
Editing of list properties is not supported directly within the Mixpanel UI. To modify list properties, you must use the Mixpanel API or one of our SDKs.

Object

Mixpanel supports object in a limited capacity. We recommend using the five non-object data types for most use cases as they are fully supported in the UI.
  • Arbitrarily-nested groups of JSON key-value pairs e.g. Experiments = {"Exp Onboarding":"Quick","Exp Checkout":"Without Coupon"}
  • Limits of an Object property: Event Property = 8KB, User Profile Property = 256KB, max 255 keys per nested object with a max nesting depth of 3
  • Mainly supported in core reports (i.e. Insights, Funnels, Flows, Retention, Users / Cohorts, Events) as filters and breakdowns.

List of Objects

  • A JSON array of 1 level JSON objects with each object having similar sets of key-value pairs e.g. Cart = [{"Brand":"Puma","Category":"Jacket","Price":30}, {"Brand":"Adidas","Category":"Hats","Price":15}]
  • Limits of a List of Objects: Event Property = 8KB, User Profile Property = 256KB, max 255 keys and no nesting; average list size = 50 objects
  • Mainly supported in core reports as filters and breakdowns.

Default Event Properties

Mixpanel’s Data Ingestion APIs and Client-Side SDKs automatically collect certain properties on every event or user profile.

Geolocation Properties

Raw NameDisplay NameDescription
$cityCityThe city of the event sender parsed from the IP property or the Latitude and Longitude properties.
$regionRegionThe region (state or province) of the event sender parsed from the IP property or the Latitude and Longitude properties.
mp_country_codeCountryThe country of the event sender parsed from the IP property or the Latitude and Longitude properties. The value is stored as a 2-letter country code in the raw data and parsed into the country name in the UI.

API Properties

Raw NameDisplay NameDescription
$mp_api_endpointAPI EndpointMixpanel property to record the API endpoint the data was sent to.
$importImportInternal Mixpanel property set to true to indicate that events were sent through /import API.
$mp_api_timestamp_msAPI TimestampUTC timestamp in milliseconds when the event was received by our API.
mp_processing_time_msTime Processed (UTC)UTC timestamp in milliseconds when the event was processed by Mixpanel servers.

SDK Properties

Client-side SDKs automatically collect additional properties:
Raw NameDisplay NameDescription
$device_idDevice IDAutogenerated ID that is local to the device. Calling reset() regenerates this value.
$user_idUser IDThe identified ID of the user. Calling identify() sets this.
$insert_idInsert IDA unique identifier for the event, used to deduplicate events that are accidentally sent multiple times.
mp_libMixpanel LibraryThe Mixpanel library that sent the event (e.g., web, android, iphone, swift).
$lib_versionLibrary VersionMixpanel library version.
$osOperating SystemOS of the event sender.
$browserBrowserName of the browser (web only).
$browser_versionBrowser VersionVersion of the browser (web only).
$deviceDeviceName of the event sender’s device, if they’re on mobile web.
$screen_heightScreen HeightThe height of the device screen in pixels / points (iOS).
$screen_widthScreen WidthThe width of the device screen in pixels / points (iOS).
$manufacturerManufacturerDevice manufacturer (mobile only).
$modelModelThe model of the device (mobile only).
$carrierCarrierWireless carrier of the device owner (mobile only).

Web-Specific Properties

Raw NameDisplay NameDescription
$current_urlCurrent URLThe URL of the page on which the event was tracked.
$initial_referrerInitial ReferrerReferring URL when the user first arrived on your site. Defaults to “$direct” if the user is not referred.
$initial_referring_domainInitial Referring DomainReferring domain at first arrival. Defaults to “$direct” if the user is not referred.
$referrerReferrerReferring URL including your own domain.
$referring_domainReferring DomainReferring domain including your own domain.
$search_engineSearch EngineThe search engine that the customer used when they arrived at your domain.
utm_source, utm_medium, etc.UTM ParametersUTM tags derived from the URL a customer clicked to arrive at your domain.

Reserved Event Properties

Mixpanel reserves certain property names for special processing or for specific system features:
Raw NameDisplay NameDescription
token-The project’s token when sending data via /track API. Not visible via Mixpanel UI reports.
ip-The IP address value to be used for geo-location parsing. Not stored in Mixpanel.
$distinct_id / distinct_idDistinct IDMixpanel’s internal unique identifier for a user.
$device_idDevice IDUnique identifier used to track a device while the user is in anonymous state.
$user_idUser IDUnique identifier used to track a user across devices when user is in identified state.
$event_nameEvent NameName of the tracked event used in the Mixpanel UI.
$time / timeTime or DateA unix time epoch that is used to determine the time of an event.
$insert_idInsert IDA unique identifier for the event, used to deduplicate events.

Reserved Profile Properties

Raw NameDisplay NameDescription
$distinct_idDistinct IDMixpanel’s internal unique identifier for a profile.
$name, $first_name, $last_nameName, First Name, Last NameThe user’s / group’s name. Used in various Mixpanel UI / reports.
$emailEmailThe user’s / group’s email address. Required for sending emails via Cohort Syncs.
$phonePhoneThe user’s / group’s phone number. Required for sending SMS via Cohort Syncs.
$avatarAvatar URLSet this property to a URL resource to update the profile picture.
$createdCreatedThe time that the profile was created. Not auto-populated.
$mp_first_event_timeFirst SeenMixpanel calculated property representing the time of the user’s very first event.
$last_seenUpdated atThe last time a user profile property was set or updated.

Build docs developers (and LLMs) love