Author: Alexey Seleznev
Date: 2026-05-20

# rym: API управления Яндекс.Метрики

#### Alexey Seleznev

#### 2026-05-20

# Работа с API управления

Для работы с API управления в `rym` вам доступны следующие функции:

- `rym_get_counters()` — список доступных счётчиков Яндекс.Метрики;
- `rym_get_filters()` — список настроенных фильтров в счётчике;
- `rym_get_segments()` — список настроенных сегмнтов в счётчике Яндекс.Метрики;
- `rym_get_goals()` — список настроенных целей в Яндекс.Метрике;
- `rym_get_direct_clients()` - данные о клиентах Яндекс.Директа, к кампаниям которых есть доступ у владельца счетчика Метрики;
- `rym_users_grants()` — список пользователей, у которых есть доступ к счётчику Яндекс.Метрики, с указанием уровня доступа.
- `rym_add_goal()` - создать цель в Яндекс Метрике.
- `rym_add_segment()` - создать сегмент в API Яндекс Метрики.

Набор аргументов для всех перечисленных выше функций одинаков:

- counter — Id счётчика Яндекс.Метрики;
- login — имя пользователя, под которым доступен нужный счётчик Яндекс.Метрики. Используется при авторизации и при поиске файла, в котором хранятся учётные данные пользователя;
- token.path — путь к папке, в которой хранится файл с учётными данными.

### Описание полей возвращаемых функциями API управления

#### Списоок полей возвращаемых функцией `rym_get_counters`

- id - Номер счётчика Яндекс.Метрики.
- status - Статус счетчика. Active — Счетчик активен, Deleted — Счетчик удален.
- owner_login - Логин владельца счетчика.
- name - Наименование счетчика.
- code_status - Статус установки кода счетчика. Возможные значения:
  - CS_ERR_INFECTED — не удалось проверить (сайт, на котором установлен счетчик или одно из его зеркал находится в списке зараженных сайтов).
  - CS_NOT_FOUND — Не установлен.
  - CS_ERR_OTHER_HTML_CODE — установлен другой счетчик.
  - CS_ERR_CONNECT — не удалось проверить (ошибка соединения).
  - CS_ERR_TIMEOUT — не удалось проверить (превышено время ожидания).
  - CS_OK — Корректно установлен.
- site - Полный домен сайта.
- permission - Уровень доступа к счетчику. Возможные значения:
  - view — гостевой счетчик с уровнем доступа «только просмотр»;
  - edit — гостевой счетчик с уровнем доступа «полный доступ»;
  - own — счетчик, принадлежащий пользователю.
- type - Тип информера. Возможные значения:
  - ext — расширенный (по умолчанию).
  - simple — простой;
- gdpr_agreement_accepted - Принято соглашение gdpr.

#### Списоок полей возвращаемых функцией `rym_get_filters`

- id - Идентификатор фильтра.
- attr - Тип данных, к которым применяется фильтр. Возможные значения:
  - referer — реферер;
  - uniq_id — специальный атрибут для фильтра «не учитывать мои визиты»;
  - client_ip — IP-адрес;
  - title — заголовок страницы;
  - url — URL страницы.
- type - Отношение или действие для фильтра. Возможные значения:
  - equal — равно;
  - contain — содержит;
  - me — мои посещения, используется только с типом данных attr = uniq_id;
  - start — начинается с;
  - interval — в интервале, используется только с типом данных «IP-адрес» (attr = client_ip);
  - only_mirrors — только сайт и зеркала, используется только для типа данных «URL страницы» (attr = url) и типа фильтра «оставить только трафик» (action = include), а также при условии, что для счетчика заданы зеркала.
- value - Значение фильтра.
- action - Тип фильтра. include — оставить только трафик, exclude — исключить трафик.
- status - Статус фильтра. Возможные значения:
  - active — фильтр используется;
  - disabled — фильтр отключен (без удаления).
- with_subdomains - Фильтровать по поддоменам.
- start_ip - Первый IP-адрес диапазона.
- end_ip - Последний IP-адрес диапазона.

#### Списоок полей возвращаемых функцией `rym_get_segments`

- id - Идентификатор сегмента.
- counter_id - Идентификатор счетчика.
- name - Название сегмента.
- expression - Выражение, которое соответствует значению параметра filters.
- is_retargeting - Является ли данный сегмент ретаргетинговым
- segment_source - Источник сегмента. Указывает на способ его создания. Принимает значение api — используются сегменты, созданные с помощью API.

#### Списоок полей возвращаемых функцией `rym_get_goals`

- id - Идентификатор цели.
- name - Наименование цели.
- type - Тип цели. Возможные значения.
  - number — просмотр N страниц;
  - action — цель типа событие.
  - step — составная цель;
  - url — совпадение по URL страницы;
- is_retargeting - Является ли цель ретаргетинговой.
- conditions - Cписок структур с условиями цели. Состоит из параметров type и url:
  - type - Тип условия. Возможные значения:
    - regexp — удовлетворяет регулярному выражению;
    - contain — содержит;
    - start — начинается с;
    - exact — совпадает;
    - action — специальный тип условия для целей типа action.
  - url - Адрес страницы или части страницы для условия.

#### Списоок полей возвращаемых функцией `rym_get_direct_clients`

- id - Идентификатор клиента Директа.
- name - Имя клиента, указанное в настройках Директа.
- chief_login - Логин главного представителя клиента в Директе. Может использоваться для формирования отчета Директ-расходы.

#### Списоок полей возвращаемых функцией `rym_users_grants`

- user_login - Логин пользователя, которому выдано разрешение на управление счетчиком. Параметр содержит пустую строку, если к статистике счетчика предоставлен публичный доступ (perm = public_stat)
- perm - Уровень доступа. Возможные значения:
  - view — только просмотр;
  - edit — полный доступ;
  - public_stat — публичный доступ к статистике.
- created_at - Дата предоставления доступа в формате YYYY-MM-DD’T’hh:mm:ssZ.
- comment - Произвольный комментарий. Количество символов не должно превышать 255.
- partner_data_access - Является и доступ партнёрским.

### Пример работы с API управления

При использовании приведённого нже примера замените ”ваш логин”* на логин пользователя Яндекса, под которым есть доступ к нужному вам счётчику Яндекс.Метрики, вместо 000000000 введите номер нужного вам счётчика.*

    library(rym)

    # список доступных счётчиков
    my_counters <- rym_get_counters(login      = "ваш логин",
                                    token.path = "metrica_token")

    # список целей
    my_goals <- rym_get_goals(counter    = 000000000,
                              login      = "ваш логин",
                              token.path = "metrica_token")

    # список фильтров
    my_filter <- rym_get_filters(counter    = 000000000,
                                 login      = "ваш логин",
                                 token.path = "metrica_token")

    # список сегментов
    my_segments <- rym_get_segments(counter    = 000000000,
                                    login      = "ваш логин",
                                    token.path = "metrica_token")

    # список клиентов Яндекс Директ
    my_clients <- rym_get_direct_clients(counters="000000000,111111111",
                                         login = "my_login",
                                         token.path = "metrica_token")

    # список пользователей
    users <- rym_users_grants(counter    = 000000000,
                              login      = "ваш логин",
                              token.path = "metrica_token")

## Создание целей в Яндекс Метрике

Для создания цели в Яндекс Метрике используйте функцию `rym_add_goal()`.

### Аргументы

- name - Наименование цели.
- type - Тип цели.
  - Возможные значения
    - number — просмотр N страниц;
    - action — цель типа событие.
    - step — составная цель;
    - url — совпадение по URL страницы;
- is.retargeting - Является ли цель ретаргетинговой
- flag - Тип цели для клиентов Яндекс.Маркета.
  - Возможные значения
    - basket — «корзина», страница посещения корзины;
    - order — «заказ», страница подтверждения заказа.
- conditions - Cписок структур с условиями цели.
  - type - Тип условия.
    - regexp — удовлетворяет регулярному выражению;
    - contain — содержит;
    - start — начинается с;
    - exact — совпадает;
    - action — специальный тип условия для целей типа action.
  - url - Адрес страницы или части страницы для условия.

    rym_add_goal(123456789,
                 name = 'first_goal',
                 type = 'action',
                 conditions = list(type = 'exact',
                                   url = 'rym-first-goal'),
                 login = 'your_login')

## Создание сегментов в Яндекс Метрике

Сегмент можно создать с помощью функции `rym_add_segment()`. Созданный с помощью API сегмент не отображается в веб-интерфейсе Яндекс.Метрики.

### Аргументы

- name - Название сегмента
- expression - Выражение, которое соответствует значению параметра filters.

    rym_add_segment(
         counter = 123456789,
         name = "my_segment",
         expression = "ym:s:trafficSource=='organic' AND ym:s:isNewUser=='Yes'",
         login = "your_login")