> For the complete documentation index, see [llms.txt](https://docs.hackle.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hackle.io/en/event-management/properties.md).

# Property

## Overview

A property is a characteristic of a subject. In Hackle, the subjects that can have properties are **users and events**.

* Users and events can have one or more properties.
* A property consists of a Property Key and a Property Value.
* The Property Key is an abstraction of each characteristic.
* The Property Value is the concrete value for each characteristic.

{% hint style="info" %}
The analysis criteria can be seen as the property key, and the analysis items can be seen as an itemization of the property values.
{% endhint %}

## Example

Assume that member B of shopping mall A is 30 years old, has VIP membership tier, and has completed adult verification. In this case, member B's properties can be defined as follows:

| Property Key     | Property Value |
| ---------------- | -------------- |
| age              | 30             |
| membership\_tier | VIP            |
| adult\_verified  | Yes            |

## Conditions for Property Values

* Must be expressible as a string, number, or yes/no.
* For strings, the maximum length is 64 characters.
* For numbers, up to 15 integer digits and up to 6 decimal places are supported.

## Importance of defining property values

Everything you want to measure can have properties. Data can also be collected by gathering properties.\
Therefore, it is important to define properties that match the analysis criteria.

For example, if you want to "analyze by the platform users use," you need to be able to collect platform properties. In this case, the property key is obviously "platform," but the property values may require some thought. You could divide into PC/Mobile, or PC/Mobile/Tablet. There is no correct answer here; it depends on a value judgment of what values are needed.

## Types of properties

There are two types of properties available in Hackle.

1. **Hackle-provided Properties**\
   For properties defined by Hackle, the Hackle SDK automatically collects them.\
   Hackle-provided properties have a Hackle logo icon before the property key.
2. **Custom Properties**\
   You define the properties you want and collect them via the Hackle SDK.

![(Example) A/B Test - Data Analytics tab - Dialog when clicking the Configure Manually button](/files/SOmMDuv63YnHildVE01d)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.hackle.io/en/event-management/properties.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
