# Custom Profile Attributes

Custom Profile Attributes allow you to capture and store specific types of customer information that are not covered by standard fields, such as product preferences, behavioral scores, or other domain-specific data points.

### Profile Attributes Dashboard

The Profile Attributes dashboard is where you manage and review your user data structure. It organizes attributes into two main types:

#### Standard Attributes

These are predefined by Netmera and include essential fields such as:

* `email`
* `msisdn`
* `device identifiers`

Standard attributes ensure consistency and interoperability across the platform.

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2FdFLneARWgOx0I6n1IjpO%2Fimage.png?alt=media&#x26;token=55265da8-a59d-4a47-926b-2c312d465224" alt="" width="563"><figcaption><p>Standart Attributes</p></figcaption></figure>

#### Custom Attributes

You can define attributes tailored to your business, such as:

* Lifetime Value
* Lead Source
* Subscription Type

Custom attributes help you personalize your engagement strategies, enhance segmentation, and improve analytics.

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2FhNxCUFIpENqe0BK9KLlp%2Fimage.png?alt=media&#x26;token=3bcca14c-0543-4bfe-b0bc-7bed54729d85" alt="" width="563"><figcaption><p>Custom Attributes</p></figcaption></figure>

### Reading the Attribute Table

Each attribute listed in the dashboard includes detailed metadata:

<table><thead><tr><th width="214.14251708984375">Field</th><th>Description</th></tr></thead><tbody><tr><td><strong>Code</strong></td><td>A unique key used in API calls and developer integrations.</td></tr><tr><td><strong>Attribute</strong></td><td>The display name shown in the panel (e.g., “City”, “Gender”).</td></tr><tr><td><strong>Description</strong></td><td>A short explanation of the attribute’s purpose.</td></tr><tr><td><strong>Is Personal Info</strong></td><td>Indicates whether the attribute contains personal or sensitive data.</td></tr><tr><td><strong>Calculate Analytics</strong></td><td>Specifies if the attribute contributes to analytics and reports.</td></tr><tr><td><strong>Unit</strong></td><td>Denotes the measurement unit, if applicable (e.g., TL, %, cm).</td></tr><tr><td><strong>Calculated</strong></td><td>Shows whether the value is dynamically computed based on other data.</td></tr></tbody></table>

### Step 1: Access Create Attribute Section Fill in Attribute Details

Creating a custom profile attribute involves defining its key properties and determining how it will be used within your app or campaigns. To create a new custom profile attribute,&#x20;

1. Navigate to: **Developers > Profile Attributes > Create Attribute**
2. Fill in attribute details:

<table><thead><tr><th width="236.888671875">Field</th><th>Description</th></tr></thead><tbody><tr><td><strong>Profile Attribute Name</strong></td><td>A unique identifier used in your application code (e.g., <code>communicationPreference</code>).</td></tr><tr><td><strong>Label</strong></td><td>A user-friendly label that appears in the control panel and reports.</td></tr><tr><td><strong>Order</strong></td><td>Determines the display order in the attribute list.</td></tr><tr><td><strong>Description</strong></td><td>A brief summary of what the attribute tracks.</td></tr><tr><td><strong>Data Type</strong></td><td>Select the type of data to be stored: <code>String</code>, <code>Number</code>, <code>Date</code>, etc.</td></tr><tr><td><strong>Is Array</strong></td><td>Enable this option if the attribute should store multiple values.</td></tr><tr><td><strong>Is Private Info</strong></td><td>Enable this if the attribute contains sensitive information to ensure privacy compliance.</td></tr></tbody></table>

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2F2HeqyhZXB1kWybSWnqeG%2FScreenshot%202023-10-05%20at%2015.51.43.png?alt=media&#x26;token=ef829ddf-d1f9-40dc-9313-99feccc8562e" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Example:**

Suppose you are creating a custom profile attribute for tracking the customer's preferred communication channel. Here's an example:

* **Name**: `communicationPreference`
* **Label**: `Communication Preference`
* **Order**: `2` (for placement within your list of profile attributes)
* **Description**: `Records the customer's preferred communication channel, such as email, SMS, or app notifications.`
* **Data Type**: `String` (to capture a single preferred communication channel)

In this scenario, the custom profile attribute "communicationPreference" captures the customer's choice of communication channel for receiving notifications or updates.
{% endhint %}

### Step 2: Enable Analytics-Based Calculation

**Calculate Analytics** option enables automatic calculation of analytics-based values for a profile attribute. The calculation logic is defined on the analytics/backend layer and is not configured directly in the panel. It is available as a toggle in the Profile Attributes list.

When this option is enabled, the attribute is no longer manually updated. Instead, it is dynamically calculated based on user behavior and event data (such as app opens, purchases, or sessions).

This option allows you to use attributes that are calculated based on user behavior and analytics data such as:&#x20;

* Total number of actions (e.g. total purchases)
* Last session date
* Frequency of user behavior (e.g. sessions in last 7 days)

These calculated attributes can then be used for:

* Segmentation
* Journey targeting
* Personalization

{% hint style="success" %}

### When to Use Calculate Analytics

Enable **Calculate Analytics** when:

* The attribute should be derived from user activity
* The value needs to be updated automatically
* You want to track behavioral metrics instead of static values
  {% endhint %}

{% hint style="warning" %}

### When Not To Use Calculate Analytics

Do not enable this option if:

* The attribute is manually set (e.g. consent, name, email)
* The value comes directly from the backend or SDK
* No calculation logic is required
  {% endhint %}

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2FBPEa4UwiStD91OLbPoTr%2Fimage.png?alt=media&#x26;token=ac6e6364-2ca6-4e96-b9f2-042fd471af59" alt="" width="563"><figcaption><p>Calculate Analytics</p></figcaption></figure>

### Step 3: Save and Generate Code

Once your attribute is configured, click **Save**. This action will:

* Save the custom attribute to your data model.
* Automatically generate the corresponding code snippet under the **User Class** section.

#### Developer Integration

Developers can use this generated code to integrate the new attribute into your mobile or web application.

> 📘 **For implementation instructions**, visit: [**`Developer Guide`**](https://user.netmera.com/netmera-developer-guide/)

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2FTzVXCQxvwK4OlfAjGcsC%2FScreenshot%202023-10-05%20at%2015.58.02.png?alt=media&#x26;token=d2ab0a8f-6b82-49b0-80ab-afdb4f54ef55" alt=""><figcaption></figcaption></figure>
