# For the developer: profile identifier and attributes Article: User profiles Attributes are user characteristics. The developer links them to the required profile and configures updates so that reports show current values. ### Custom profile attributes Custom attributes are divided into predefined and custom ones. To collect them, you need to configure sending in the AppMetrica SDK. #### Predefined attributes Attributes that are typical for users of any app and are supported in the AppMetrica SDK in advance: **ProfileId** User profile identifier. Accepts an arbitrary string value. If `ProfileId` sending isn't configured, predefined attributes aren't displayed in the AppMetrica web interface. **Gender** User profile gender. Possible values: `male`, `female`, `other`. **Age** User profile date of birth or age. **Push enabled** User profile notification status. The status indicates whether the user has allowed receiving notifications. **Name** User profile name. AppMetrica also has system **Gender** and **Age**, which are determined automatically using the [Crypta](https://yandex.ru/company/technologies/crypta) technology. To collect predefined profile attributes, you need to configure their sending in the AppMetrica SDK. Learn more in the [Configuring profile attribute sending](#profiles-setup) section. #### Custom attributes Attributes that aren't supported in advance and may differ for different app types. The name and type of custom attributes are set manually in the app settings. AppMetrica allows you to configure sending of up to 100 custom attributes of the following types: **String** Accepts an arbitrary string value. For example, subscription type: `Free`, `Trial`, `Premium`. **Number** Accepts a numeric value. For example, the number of widgets on the screen: `1`, `2`, `3`, `4`. **Bool** Accepts a binary logic value. For example, the presence of a paid subscription: `true`, `false`. **Counter** Set by an addition or subtraction operation. For example, the number of completed levels: `+1`. To collect custom profile attributes, you need to add them in the app settings and configure their sending in the AppMetrica SDK. Learn more in the [Configuring profile attribute sending](#profiles-setup) section. ### How to configure attribute sending 1. **Define the identifier.** Configure the transfer of `ProfileId` in the SDK. If the identifier appears only after library initialization, a technical profile may remain and a new profile with the transferred ID may appear. Learn more — [about profile identifiers](#audit-about-profiles-links). 2. **Create custom attributes.** Open **Settings → Profile attributes**, specify the name and type, and click **Add**. This step isn't needed for predefined attributes. 3. **Configure sending.** Pass the developer the names, types, and update conditions. A new custom attribute can be transferred about 30 minutes after creation in the console. #### For the developer: sending attributes - [Android](https://appmetrica.yandex.ru/docs/en/sdk/android/analytics/android-operations#send-attribute-profile) - [iOS](https://appmetrica.yandex.ru/docs/en/sdk/ios/analytics/ios-operations#send-attribute-profile) - [Flutter](https://appmetrica.yandex.ru/docs/en/sdk/flutter/analytics/flutter-operations#send-attribute-profile) - [React Native](https://appmetrica.yandex.ru/docs/en/sdk/react-native/analytics/react-native-operations#send-attribute-profile) - [Unity](https://appmetrica.yandex.ru/docs/en/sdk/unity/analytics/unity-operations#send-attribute-profile)