# Теги

Теги отмечают контактов: «vip», «заказал_букет», «ждёт_доставку». По тегам удобно ветвить сценарий и отбирать получателей рассылок. Подробнее — в разделе [«Теги и переменные»](https://support.watbot.ru/chatbots/contacts/tags-variables).

Добавленные и снятые теги сохраняются после того, как код завершился без ошибки. Внутри кода проверки уже видят изменения.

## getContactTags

```js
getContactTags()
```

Возвращает все теги контакта.

**Параметров нет.**

**Возвращает** массив строк — названий тегов. Если тегов нет, массив пустой.

```js
var tags = getContactTags();

if (tags.length === 0) {
    sendMessage('Расскажите, какие цветы вам нравятся, — подберём букет.');
}
```

## hasContactTag

```js
hasContactTag(name)
```

Проверяет, есть ли у контакта тег.

| Параметр | Тип | Что передать |
|---|---|---|
| `name` | Строка | Название тега. Регистр букв важен: `VIP` и `vip` — разные теги |

**Возвращает** `true`, если тег есть, и `false`, если нет.

```js
if (hasContactTag('vip')) {
    setContactVariable('скидка', 15);
}
```

## setContactTag

```js
setContactTag(name)
```

Добавляет контакту тег. Если тег уже есть, ничего не меняется.

| Параметр | Тип | Что передать |
|---|---|---|
| `name` | Строка | Название тега |

**Ничего не возвращает.**

```js
setContactTag('заказал_букет');
```

## deleteContactTag

```js
deleteContactTag(name)
```

Снимает с контакта тег. Если тега нет, ничего не меняется.

| Параметр | Тип | Что передать |
|---|---|---|
| `name` | Строка | Название тега |

**Ничего не возвращает.**

```js
if (hasContactTag('ждёт_доставку')) {
    deleteContactTag('ждёт_доставку');
    setContactTag('получил_заказ');
}
```
