Введение в API Яндекс.Метрики

Чтобы иметь возможность гибко работать с данными, собранными в Яндекс.Метрике, но вне интерфейса самого счетчика, вам необходимо познакомиться с API Метрики.

Владелец сайта после установки счетчика Яндекс.Метрики, как правило, работает в интерфейсе сервиса. Он использует отчеты, просматривает графики, анализирует данные в таблицах, меняет параметры и показатели, накладывает фильтры, сравнивает сегменты и аудитории за разные диапазоны дат, и многое другое.

Пример отчета в Яндекс.Метрике

Однако работа в интерфейсе Яндекс.Метрики возможна только с тем набором инструментов и опций, которые заложили в него сами разработчики Яндекса. И это не всегда удобна. Метрика хорошо собирает данные, но вот дальнейший анализ и визуализация данных строго ограничены функционалом самого сервиса.

Именно поэтому у многих компаний и инструментов есть собственные API. Есть API YouTube, Twitter API, API Facebook *, API Яндекс.Директа, API Google Analytics, ВКонтакте API, API myTarget и т.д.

* Деятельность американской компании Meta (бывшая Facebook) запрещена в России, организация признана экстремистской

Каждый раз, когда вы переходите в свой счетчик Яндекс.Метрики, сверху в меню видите эту аббревиатуру:

Меню API в интерфейсе Яндекс.Метрики

А нажав на API, вы перейдете в официальную документацию разработчиков. API Метрики позволяет работать с данными вашего счетчика программным способом, то есть с помощью программирования. Вы можете автоматизировать создание счетчиков, настройку целей, получение статистики и другие действия, доступные в веб-интерфейсе Яндекс.Метрики. Для этого у Яндекса существуют различные разделы API.

API (Application Programming Interface) — это программный интерфейс, позволяющий приложениям возможность взаимодействовать друг с другом. Под «приложением» понимается любое программное обеспечение (ПО) или программа, выполняющая определенные функции. Например, одно приложение может запросить данные у другого приложения и получить их в ответ.

API (Application Programming Interface)

API содержит наборы методов, классов, библиотек и функций (готовых конструкций кода), позволяющих разработчику строить сложную функциональность на разных языках программирования (например, JavaScript или Python) с меньшими усилиями.

Другими словами, вы можете написать собственную программу на одном из языков программирования, и используя API Метрики:

  • управлять счетчиками, их настройками и правами доступа, не используя веб-интерфейс;
  • получать информацию о посещаемости сайта и другие данные;
  • формировать отчеты, в том числе с помощью сегментации и параметризации.

API Яндекс.Метрики состоит из:

  • API управления — позволяет управлять счетчиками, целями, фильтрами и другими объектами Яндекс.Метрики (создать счетчик, отредактировать его настройки, создать цель, выдать права доступа и т.п.).
  • API отчетов — позволяет получать информацию о статистике посещений сайта и другие данные, не используя интерфейс Яндекс.Метрики. Поддерживает все возможности отчетов Яндекс.Метрики: сегментацию, полный набор группировок и метрик, сравнение сегментов и т.п.
  • API, совместимый с Google Analytics Core Reporting API — поддерживает все возможности Google Analytics Core Reporting API (v3), но набор группировок и метрик (параметров и показателей) ограничен.

API отчетов — это агрегированные или суммарные данные. Это означает то, что вы не сможете посмотреть отчеты в разрезе отдельных посещений. С помощью API отчетов не получится получить информацию о времени визита, уникального идентификатора пользователя (Client ID этого визита), времени визита и т.д. Вы увидите только суммарные (итоговые и средние) данные, статистика по конкретному посещению или пользователю будет недоступна.

Агрегированные данные в отчетах Метрики

Когда вы заходите интерфейс Яндекс.Метрики, отчеты, которые вы анализируете — это и есть те самые агрегированные данные.

Для получения неагрегированных данных, так называемых «сырых данных» Яндекс.Метрики, используется Logs API. Вы делаете запрос на те данные, которые хотите загрузить из Logs API, и вам выдается список тех посещений пользователей, которые были на вашем сайте. Можно увидеть Client ID посещения, время пребывания на сайте, просмотры страниц, регион пользователя, источник перехода и многое другое.

Пример неагрегированных данных, выгруженных с помощью Logs API

Сырые данные передаются в стандартном формате tsv — такой файл можно легко импортировать в большинство систем управления базами данных. В их числе – ClickHouse, бесплатное открытое решение, на котором работает и сама Метрика. ClickHouse умеет обрабатывать сложные запросы в реальном времени, легко настраивается и не требует больших вычислительных ресурсов.

Сырые данные можно загрузить в свою базу данных и далее гибко ими управлять, а также объединять данные Яндекс.Метрики с другими источниками. Например, для построения сквозной аналитики.

Агрегированные, или обобщенные данные, которые вы видите в интерфейсе Метрики или выгружаете через API отчетов, рассчитываются для определенной группы визитов. Например, метрика «время на сайте» вычисляется для всех переходов из какого-либо источника трафика, всех визитов от посетителей мужского пола или всех визитов с планшетов.

А основой для этих расчетов служат сырые данные — записи об отдельных визитах или просмотрах. Таблица с этими записями и передается через Logs API, при этом каждая запись дополнена полезными сведениями из Метрики. Это подробные данные по Директу и по электронной коммерции, страна и город посетителя, а еще — различная техническая информация о визите: например, браузер и модель мобильного телефона.

Если вы перейдете в официальную справку разработчиков Яндекса, то увидите, что для каждого типа API существует свой раздел и перечень команд и запросов:

API Метрики в документации

В зависимости от того, какие задачи вы планируете решать для своего проекта, вы используете тот или иной API Метрики. Мы в блоге Ya Dashboard! будем публиковать материалы, преимущественно, для API отчетов и Logs API.

Работа с API любого сервиса ложится на человека, знающего один или несколько языков программирования (например, Java, Python, R, PHP и другие) и любящего работать с технической документацией. Такими навыками, как правило, обладает разработчик/программист. Однако в последнее время аналогичные задачи решает и аналитик данных, и инженер данных, и даже интернет-маркетолог, поскольку при прочих равных при трудоустройстве на работу приоритет отдают тому специалисту, кто владеет JavaScript, Python/R и умеет работать с API рекламных и аналитических инструментов.

Кроме того, с учетом последних трендов аналитики, одним из которых является умение прогнозировать будущие показатели бизнеса на основе исторических данных компании, некоторые задачи из этой области так же связаны с программными методами и API. Поэтому работа с API Метрики не является какой-то призрачной или не востребованной (не нужной) для интернет-маркетолога. Напротив, из года в год такие умения все больше и больше ценятся на рынке труда.

Таким образом, работа с API Метрики строится по следующему сценарию:

  • создание приложения и получение OAuth-токена;
  • выбор API под конкретную задачу (управлять счетчиком, создавать отчеты или работать с неагрегированными данными);
  • составление запросов к API с учетом ограничений и квот самого Яндекса;
  • написание программы.

Подробнее каждый этап будет разобран в отдельном материале нашего блога.