User properties and event properties can give you a deeper analysis into how users are engaging with your app. The most general explanation of the difference between the two is that user properties are attached to users and reflect the current state of the user while event properties are attached to events and reflect the state at which the event was triggered. You also have the option to store user and event property values as arrays.
Table of Contents
These reflect traits about an individual person using your app. Some examples of custom user properties are age, gender, email, locale, referral source, plan type, number of photos uploaded, number of units of in-game currency, and current level in a game.
The most important thing to remember is that these user properties reflect the state of the user and apply across all of their events moving forward until the properties are updated again. You also do not need to send custom user properties with every event. Previous user properties are attached to an event until they are updated. Do not worry if you forget to apply custom user properties to your events, as you can always go back and update user properties at a later point using our Identify API.
Amplitude tracks the following user properties by default from our SDKs: Platform, Device Type, Device Family, Country, City, Region, Start Version, Version, Carrier, OS, Language, and Library. Read here for definitions of each property.
Note: Our customers typically implement at most 20 user properties on top of what Amplitude automatically tracks. We recommend discussing user properties with your dedicated Success Manager if you plan to implement more than 20 user properties.
Event properties describe properties/attributes of an event. For instance, if 'Swipe' is an event that you are tracking, then the event property ‘Direction’ could have the values ‘Left’ or ‘Right’.
These properties highly depend on the type of app you have and the specific information you think is necessary for understanding a particular event.
General keys we have seen are cause, description, category, type, duration, level, % completed, name, count, source, status, from, number, lives, authenticated, error, rank, action, and mode. Leverage event properties to reduce the number of events you are tracking.
Sending Data to Amplitude
Find specific information on how to send data to Amplitude here:
- Amplitude SDKs: Find our list of SDKs here.
- Amplitude HTTP API: Use our HTTP API to send server-side event data.
- Segment.io: See Segment / Amplitude Integration for more information.
- mParticle: See mParticle / Amplitude Integration for more information.