В этой статье вы узнаете, как коннектор Яндекс Метрики выгружает отчёты — визиты и расходы — в хранилище ROMI center: какие таблицы он создаёт, с какой периодичностью идёт выгрузка и как устроена перезагрузка. Полный список полей — в статье Яндекс Метрика: описание выгружаемых полей.
Примечание
Здесь описан только коннектор отчётов. Сырые визиты по строке на визит выгружает отдельный коннектор — Яндекс Метрика Logs API; передача офлайн-конверсий в Метрику — тоже другой поток.
Что выгружается: две таблицы отчётов
Коннектор забирает у Метрики отчёты — суммы за день в разрезе выбранных измерений, а не отдельные визиты. Таблиц две, каждая включается на шаге «Выбор полей» отдельно.
| Таблица | Что внутри | Когда появляется |
|---|---|---|
…_visits_… | Визиты: источники, UTM-метки, география, устройства, поведение и достижения целей | включены «Визиты» |
…_cost_… | Расходы на рекламу, которые Метрика получает из рекламных кабинетов, с кликами и визитами по ним | включены «Расходы» |
Строка таблицы — одна комбинация значений измерений за день: визиты из Москвы по метке utm_source=yandex за 1 сентября — одна строка с суммами. Состав строк зависит от выбранных измерений: чем их больше, тем мельче разбивка и тем больше строк. В каждой таблице не больше 10 измерений — это ограничение API Метрики, визард следит за ним сам.
Важно
Слишком мелкая разбивка может стоить дня. При очень подробной разбивке Метрика может отказаться отдавать отчёт, сочтя данные чувствительными, — и день не загружается вовсе. Повтор не помогает: на бою ни один такой день потом не догрузился. Обычно это таблицы с 7–10 измерениями, с городом и подробной разбивкой по источникам и меткам, но хватает и пяти, если среди них ClientID вместе с полом и городом.
Цели выгружаются колонками в таблице визитов. Метрика отдаёт не больше 100 000 строк на запрос, и строки сверх этого коннектор не догружает — на бою самый крупный день был около 11 500 строк, но подробное измерение вроде ClientID на большом сайте может упереться в этот потолок.
Периодичность
Каждый день в 05:05 коннектор ставит в очередь вчерашний день — по заданию на каждую включённую таблицу, и выгружает задания из очереди каждую минуту.
Важно
«Приостановить выгрузку» не действует: подключение на паузе продолжает выгружаться каждый день.
API Метрики отдаёт не больше 20 метрик за один запрос, поэтому таблицу с большим числом целей коннектор собирает из нескольких запросов и склеивает строки по измерениям.
За какой период забираются данные
Ежедневная выгрузка берёт только вчерашний день. Первое сохранение таблицы (для каждой — отдельно) забирает последние семь дней, по заданию на день. Историческая перезагрузка — выбранный период, по заданию на день.
Как сохраняет данные
- Куда: хранилище ROMI center на движке ClickHouse.
- Имя таблицы:
ymetrica_visits_<номер счётчика>_<id подключения>иymetrica_cost_<номер счётчика>_<id подключения>. - День перезаписывается целиком. Перед записью дня из таблицы удаляются все строки с этой датой, затем день вставляется заново. Повторная загрузка дня строки не задваивает.
- Структура таблицы: движок
MergeTree, сортировка поDate, без разбиения на партиции. - Структура догоняется, а не пересоздаётся. Поле или цель, добавленные в настройках, приходят новой колонкой. Колонки никогда не удаляются: снятое поле останется в таблице со старыми значениями, а новые строки будут писаться в него пустыми.
Перезагрузка данных
Автоматической перезаписи прошлых дней нет: ежедневная выгрузка берёт только вчерашний день. Если данные в Метрике за прошлые дни изменились, в хранилище изменения попадут только после перезагрузки.
Примечание
Упавший день коннектор повторяет сам — до пяти попыток в течение суток. Если все они неудачны, день так и не загрузится. Сам не догружается и день, который вовсе не встал в очередь. Такие дни возвращает только историческая перезагрузка.
Функция «Загрузить исторические данные» в меню подключения работает за любой период по вчерашний день включительно, по одному дню — каждый день периода перечитывается и заменяет прежние строки этой даты.
Важно
Галочка «Удалить ранее загруженные данные за период» удаляет таблицы включённых отчётов целиком, а не только выбранный период, и затем грузит дни периода. После такой перезагрузки в таблицах останется только перезагруженный период.
Дополнительные настройки
| Настройка | Что делает |
|---|---|
| Счётчик | Выбирается при подключении, один на подключение, и потом не меняется — для другого счётчика заводится отдельное подключение. |
| Поля | Шаг «Выбор полей»: 29 полей визитов и 16 полей расходов. В новом подключении заранее отмечены 8 полей визитов; таблица расходов стартует выключенной. |
| Модель атрибуции | «Последний значимый переход» (по умолчанию), «Первый переход» или «Автоматическая». Определяет, к какому источнику и каким UTM-меткам Метрика относит визиты и расходы — меняет значения этих колонок в обеих таблицах. |
| Цели | До пяти целей для таблицы визитов. |
| Добавить конвертацию валют | Метрика отдаёт суммы сразу в выбранных валютах. Колонка cost при этом заменяется колонками cost_<валюта>, а колонка дохода по цели — колонками с суффиксом валюты. Чтобы сохранить сумму в рублях, в список нужно добавить и RUB. |
Важно
Если цели не выбраны, выгружаются все цели счётчика. Метрики по каждой цели в визарде можно выбрать, но настройка не действует: по каждой цели всегда создаются все четыре колонки — целевые посетители, целевые визиты, достижения и доход.
Смена атрибуции, целей или полей действует со следующей выгрузки. Прошлые дни остаются посчитанными по прежним настройкам, пока их не перезагрузить.
Технические поля
| Колонка | Что внутри |
|---|---|
rc_import_id | Номер задания выгрузки, которым записана строка. |
rc_created_at | Когда строка записана в таблицу. |
В предпросмотре данных служебные колонки скрыты — они отрезаются по префиксу rc_.
