# Labels

Labels are one of the primary elements allowing you to later define groups of subscribers by segments or send campaigns to specific labels.

Labels are easy to understand, implement (no-code), and manage.

Simply put, a label is a characteristic you can ascribe to a subscriber in your base.

There are two types of labels: user labels and [system](/subscribers/labels/system-labels.md) labels. The first kind can be added, modified, saved, and deleted at your convenience. The latter can only be added and modified by the system.&#x20;

Another advantage of the key:value labels is that they can be used for push [personalization.](/campaigns/push-campaign/create-campaign/content/personalization.md)

A label consists of:&#x20;

* Key - the system labels have a “sys.” prefix in their key names. You can name your keys in the user labels however you want (ex. last\_visit or cart\_value) and use stop marks in the name&#x20;
* Value - in the form of date, number, words, or true-false value&#x20;
* Time-to-live (TTL) - a time after which the label will expire on a given subscriber

{% hint style="info" %}
System labels contain information about a subscriber’s platform, language, region, and operating system. They are useful in defining Segments.
{% endhint %}

A label can be saved to a subscriber in one of the following ways:&#x20;

* append - simply put, it’s a set of values. For example a category label with the category-related values \[blouses, jackets, scarves]. When appending, we can add a “beanie” value to the set.&#x20;
* rewrite - a relation of key and a single value. It means that we can change the value of a last\_category label from last\_category: beanies to last\_category: blouses.

{% hint style="info" %}
The labels are not predefined: you can ascribe them to a subscriber according to your needs.

You don't have to configure them beforehand.

Well-defined labels in automation processes or selectors help you to define more accurate segments.
{% endhint %}

You can add labels to a subscriber in the [Subscribers ](/subscribers/subscribers.md)view, during the[ automation](/automation/labels.md) scenario edition, and in the [Selectors](/automation/selectors.md) view.


---

# Agent Instructions: 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:

```
GET https://docs.pushpushgo.company/subscribers/labels.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
