On this page

User properties and event properties

In Amplitude, properties are attributes that provide context around your users and the events they trigger. Amplitude supports two types of properties:

  1. User properties: Attributes of individual users. Common user properties include device type, location, User ID, and whether the user is a paying customer. A user property can reflect either current or previous values, depending on its nature and how often it updates.
  2. Event properties: Attributes of a particular event. The values are current for the moment the event occurred. For example, the event JoinCommunity could have an event property 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 to hide individual properties in an Amplitude project.

For more on events, users, and properties, take this course in the Amplitude Academy.

User properties

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 these user properties by default:

  • Platform.
  • Device Type.
  • Device Family.
  • Country.
  • City.
  • Region.
  • Start Version.
  • Version.
  • Carrier.
  • OS.
  • Language.
  • Library.
  • IP Address.

You can find definitions of each property in the user property definitions.

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. 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, the property is 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.

How Amplitude updates user properties

When a user triggers an event that Amplitude captures, the event 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 events the user sends from that point forward. Amplitude doesn't apply user property updates retroactively, and older values remain in your historical data. Property values reflect the values at the time of the event.

For example, this user viewed an article at 10:11 AM. The value for the City property was 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 the most recent event sent or an Identify call.

You don't need to send custom user properties with every event. After you set a user property, the 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 applies only to events from that point forward.

When old and new user property values overlap

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 applies only for the specific day on which the property value changed.

For example, on July 1st, a user logs into your game app at version 1.8 and plays a few games. Later that day, the user updates to version 2.0 and plays more. If you segment the daily active user chart by version, and compare version 1.0 and 2.0, that user appears in both segments for that day. Starting July 2nd, the user appears only in the version 2.0 segment until they update 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 go to the User Activity page for that user, only their most recent value for that property appears in the top section of their profile.

How Amplitude applies user properties to events

You can apply user properties to events in three ways:

  1. 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 method for updating user properties so that Amplitude correctly applies the updated value to the event.

  2. Update the user property after you send an event. You send an event to Amplitude, then update the property's value in the user property table. The updated value doesn't appear in the user interface until you send another event.

  • If you send an Identify call after the event, the updated value doesn't appear with the event. It displays at the top of the user's profile, but doesn't appear in chart results until you send another event after the Identify call.
  1. Send a user property with an event. For events sent through the HTTP API, you can include user properties with the server-side call. The updated property appears in the user interface as soon as Amplitude receives the event. The user property table also updates after Amplitude ingests the event. Future events have the updated property value until it updates again.

Send an event with, or directly after, a new property value to ensure the value displays in the UI. You can update user properties with the Identify API. Read and understand the Identify API documentation fully before using it.

Event properties

Event properties are attributes of the events your users trigger and that you send to Amplitude. Each event has its own set of event properties. The nature of these properties depends on the type of product you have and the specific information you want to discover. For instance, if Swipe is an event you're tracking, the event property Direction could have the values Left or Right.

Example event properties include 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 to better analyze your events.

Amplitude is an event-based platform. As a result, Amplitude 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 which property you query on in a chart. Otherwise, your chart returns data that you may not expect.

Hide properties

You can hide old or buggy properties as needed. Hiding event or user properties only hides them from the platform UI and doesn't delete them. You can unhide the properties if you change your mind.

Automatic deletion of user properties

Amplitude automatically deletes 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.

Was this helpful?