# Яндекс Метрика Logs API: как работает коннектор

В этой статье вы узнаете, как коннектор Яндекс Метрика Logs API выгружает данные в хранилище ROMI center: что попадает в таблицу, с какой периодичностью идёт выгрузка и как устроена перезагрузка. Полный список полей — в статье [Яндекс Метрика Logs API: описание выгружаемых полей](https://help-ru.romi.center/yandeks-metrika-logs-api-opisanie-vygruzhaemyh-polej).

> **Примечание**
> Это отдельный источник от коннектора «Яндекс Метрика» с отчётами (визиты, расходы, цели в агрегированном виде) — у него свои таблицы и свой документ. Передача офлайн-конверсий в Метрику — тоже другой поток.

## Что выгружается: визиты, по строке на визит

Коннектор забирает у Метрики сырые логи визитов — не отчёты с суммами, а по строке на каждый визит со всеми выбранными полями. Все поля ложатся в одну таблицу подключения. При подключении выбирается один счётчик; для другого заводится отдельное подключение со своей таблицей. Поля отмечаются на шаге «Выбор полей»: в списке 134 поля, 11 из них обязательные.

> **Важно**
> Поле «Адрес страницы (все страницы визита)» устроено иначе: в логе визитов Метрика его не отдаёт. Коннектор делает вторую выгрузку — лог событий, собирает адреса всех просмотров визита по порядку и кладёт их массивом в колонку `PageURLs`. Поле работает только за даты с 10.10.2025 и только в хранилище на ClickHouse. Второй лог расходует квоту счётчика.

## Периодичность

Каждый день в 05:00 коннектор ставит новые дни в очередь, заказывает логи в Метрике (не больше 10 дней одновременно в работе на счётчик) и каждые 5 минут скачивает готовые, записывая их в хранилище.

> **Важно**
> Метрика ограничивает объём логов счётчика — готовых и ещё готовящихся — 10 ГБ, и в этот лимит входят логи, которые счётчику заказывают другие сервисы. После записи дня коннектор удаляет его логи в Метрике, чтобы освободить место. Если места нет, день ждёт и повторяет попытку — предел ожидания 70 часов с момента постановки в очередь, после чего день помечается ошибкой.

> **Примечание**
> «Приостановить выгрузку» не действует: подключение на паузе продолжает выгружаться каждый день.

## За какой период забираются данные

Ежедневная выгрузка берёт дни со дня после последнего уже поставленного по вчерашний день включительно. Первое сохранение подключения сразу забирает последние семь дней. Историческая перезагрузка — выбранный период, по одному дню.

> **Важно**
> Сегодняшний день не выгружается никогда: Logs API отдаёт только завершённые сутки. Упавший день может не вернуться сам — ежедневная выгрузка идёт вперёд и к пропускам позади себя не возвращается. Надёжный способ вернуть пропуск — историческая перезагрузка за этот период.

## Как сохраняет данные

*   **Куда:** хранилище ROMI center на движке ClickHouse.
*   **Имя таблицы:** `ym_sessions_<номер счётчика>_<id подключения>`.
*   **День перезаписывается целиком.** Перед записью дня из таблицы удаляются все строки с этой датой, затем день вставляется заново. Повторная загрузка дня визиты не задваивает.
*   **Структура таблицы:** движок `MergeTree`, сортировка по `VisitID`, без разбиения на партиции.
*   **Структура догоняется, а не пересоздаётся.** Поле, отмеченное в настройках, приходит новой колонкой. Колонки никогда не удаляются: снятое поле останется в таблице со старыми значениями, а новые строки будут писаться в него пустыми.
*   **Правка настроек посреди долгой выгрузки** попадает только в дни, лог которых Метрика начала готовить после правки. У дней, заказанных раньше, новые колонки останутся пустыми.

## Перезагрузка данных

Автоматической перезаписи прошлых дней у Logs API нет: ежедневная выгрузка ставит только новые дни, а уже загруженный день повторно не читает. Функция «Загрузить исторические данные» в меню подключения работает за любой период по вчерашний день, по одному дню — перечитывается весь период, в том числе уже загруженные дни, без дублей.

> **Важно**
> Галочка «Удалить ранее загруженные данные за период» удаляет таблицу подключения целиком, а не только выбранный период, и затем грузит все дни периода. После такой перезагрузки в таблице останется только перезагруженный период.

> **Примечание**
> Пока предыдущая историческая выгрузка не закончилась, новую запустить нельзя — кабинет ответит «Выгрузка уже запущена. Дождитесь окончания.» Ежедневная выгрузка запуску не мешает.

## Дополнительные настройки

| Настройка | Что делает |
| --- | --- |
| Счётчик | Выбирается при подключении, один на подключение, и потом не меняется — для другого счётчика заводится отдельное подключение. |
| Поля | Шаг «Выбор полей»: 134 поля. В новом подключении заранее отмечены 32 поля — 11 обязательных, которые не снимаются, и 21 рекомендованное. |
| Добавить конвертацию валют | Есть в визарде и сохраняется, но для Logs API не действует: выбранные валюты читает только коннектор отчётов Метрики, а в таблице визитов колонок с пересчётом не появляется. |

## Технические поля

| Колонка | Что внутри |
| --- | --- |
| `Counter` | Номер счётчика Метрики. Коннектор проставляет его в каждую строку. |

Служебных колонок `rc_*` у Logs API нет: `rc_data_id`, `rc_created_at` и `rc_updated_at`, которые встречаются у других коннекторов, здесь не создаются.
