This article helps you:
Articulate the differences between user properties and event properties, and use each type appropriately and effectively in your analyses
In Amplitude, properties are attributes that provide additional context around your users and the events they trigger. There are two types of properties in Amplitude:
JoinCommunity
could have an event property of Type
, which denotes the kind of community joined at the time of that event.This article describes what user and event properties do, how Amplitude updates and applies them, and how you can hide individual properties in an Amplitude project.
For more on events, users and properties, take this course in the Amplitude Academy.
As mentioned above, a user property is an attribute that describes a useful detail about the user it's attached to. Amplitude sends user properties with every event.
Amplitude's SDKs track the following user properties by default:
You can find the definitions of each property here.
You can also set up custom user properties. Choose characteristics and traits that are intrinsic to the user or to the device they're using; otherwise, the data you collect from your user properties isn't as useful. Some common examples of custom user properties include referral source, plan type, number of friends, or current level in a game.
You can tell the difference between default Amplitude user properties and custom user properties by looking for the Amplitude logo. If you see it, you've located a default user property. The names of custom user properties aren't prefixed by that logo.
Amplitude customers typically implement up to 20 custom user properties, along with the default properties.
When a user triggers an event that Amplitude captures, it includes the current values for each user property, but these values can change over time. For example, a user might move from New York to Dallas, or convert from a free user to a paying one. When this happens, Amplitude updates the user properties and applies the new values to the events the user sends from that point forward. Updates to user property values aren't applied retroactively and the older values remain in your historical data. In other words, the property values should always reflect the values at the time of the event.
For example, in the image below, this user viewed an article at 10:11 AM. The value for the City
property became San Francisco
.
This user also viewed an article about a week earlier. When you select that event, the City
property displays as New York
, which was the value at the time the user triggered the view article
event.
The user properties displayed with each event in a user's individual event stream capture the value of the user property at the time of the event. Amplitude derives this information from either the most recent event sent with an Identify call.
You don't need to send custom user properties with every event. Once a user property is set, its value persists, and Amplitude applies it to all subsequent events until the value changes. If you forget to apply custom user properties to your events, you can update user properties later through the Identify API. If you query on this event in Amplitude later, the updated user property doesn't appear with the event and will only apply to events from that point forward.
When a user property's value changes, Amplitude charts can show the user in both the new and the old user property categories. This overlap only applies for the specific day on which the property value changed.
Here's an example of how that might work: On July 1st, a user logs into your game app—currently at version 1.8—and plays a few games. Later that day, she updates to the brand-new version 2.0 and plays some more. If you segment the daily active user chart by version, and then compare version 1.0 and 2.0, that user appears in both segments for that day. However, beginning July 2nd, she appears only in the version 2.0 segment, until she updates to a newer version.
Something similar can happen when you've applied a user segment to a chart. Amplitude shows (none)
values if the user had no value for a user property at the time of the event. If a user initially had isPaying
= (none)
for their first PlaySong
event, but then had isPaying
= True
for the next PlaySong
event, the user shows up in both buckets. If you look at the User Activity page for that user, only their most recent value for that property appears in the top section of their profile.
You can apply user properties to events in three ways:
Update the user property before you send an event. Update the property's value in the user property table and apply it to the next event you send to Amplitude. This is the recommended and expected method for updating user properties so that the updated property value is correctly applied to the event.
Update the user property after you send an event. You send an event to Amplitude, and then update the property's value in the user property table. The updated value isn't reflected in the user interface until you send another event.
Send an event with, or directly after a new property value to ensure it displays in the UI. You can update User properties can with the Identify API. Read and understand the Identify API documentation fully before using it.
Event properties are attributes of the events your users trigger, and which you then send to Amplitude. Each event has its own set of event properties. The nature of these properties depends on both the type of product you have, and the specific information you're most interested in discovering. For instance, if Swipe
is an event you're tracking, the event property Direction
could have the values Left
or Right
.
Some example event properties are description, category, type, duration, level, percent completed, count, source, status, number, lives, authenticated, error number, rank, action, and mode. Use event properties to reduce the number of events you're tracking and/or better analyze your events.
Amplitude is an event-based platform. As a results, it logs events with event and user properties at the time a user triggers an event. Amplitude's charts reflect this. If your chart doesn't return the expected results, your query may reference the wrong property type.
For example, if you have a user property and an event property both called email
, verify the property you query on in a chart. Otherwise, your chart returns data that you may not expect.
You can hide old or buggy properties as needed. Hiding event or user properties will only hide them from appearing on the platform UI and doesn't delete them. You can unhide the properties if you change your mind.
Amplitude automatically deletes the user properties for users with no event data in the last 14 months. As long as a user has activity in your application or website over the last 14 months, Amplitude retains user properties associated with them.
Thanks for your feedback!
August 5th, 2024
Need help? Contact Support
Visit Amplitude.com
Have a look at the Amplitude Blog
Learn more at Amplitude Academy
© 2024 Amplitude, Inc. All rights reserved. Amplitude is a registered trademark of Amplitude, Inc.