Объединение счетчиков яндекс метрика
Как получать данные из Яндекс.Метрики
Чтобы объединить данные из Яндекс.Метрики и Директ в UTA-manager, необходимо добавить счетчик Метрики в проект, после чего сделать разметку ссылок.
Подключение счетчика Яндекс.Метрики
Чтобы добавить счетчик Метрики к своему проекту в Оптимизаторе, перейдите в раздел «Проекты».
Для этого в правом верхнем углу жмем на логин и из выпадающего меню выбираем “Проекты”.
Из списка проектов выбираем необходимый и добавляем в него счетчик Яндекс.Метрики.
Для этого в проекте напротив пункта «Счетчики» жмем иконку “+”.
После этого в открывшемся окне выбираем нужный счетчик из списка.
Внимание!
Если в списке нет необходимого счетчика, значит он не добавлен в систему.
Дополнительные счетчики Яндекс.Метрики добавляются по аналогии с рекламным кабинетом.
Разметка ссылок в объявлениях спец. метками
Чтобы иметь возможность оптимизировать рекламные кампании по конверсиям, лидам или прибыли, необходимо объединить данные из Яндекс.Директ со счетчиком Яндекс.Метрики.
Для этого ко всем ссылкам в объявлениях необходимо добавить специальную метку, которую будет распознавать Оптимизатор UTA-manager.
Где cl1327595 — номер рекламного кабинета, но с этим заморачиваться не стоит, так как UTA все необходимые значения подставит сама.
Внимание!
- Метка добавляется в конец адреса и никак не влияет на существующую разметку.
- Метка автоматически добавляется в основную и дополнительные ссылки в рекламном объявлении.
- После разметки ссылки отправляются на модерацию Яндекс.
- Данные из Метрики подтягиваются только для размеченных ссылок, начиная с момента разметки и прохождения модерации.
Чтобы массово разметить все объявления в рекламном кабинете, необходимо на вкладке “Кампании” выделить все кампании.
После чего переключиться на вкладку “Объявления”.
С помощью быстрого выделения выбрать все объявления.
После выделения объявлений появится кнопка “Метка”.
Жмем ее, и система автоматически добавит разметку ко всем объявлениям.
После чего рядом с каждым измененным объявлением загорится оранжевый маркер (1).
Значит объявление размечено, и измененные ссылки необходимо отправить на сервер Яндекс.Директ.
Для этого справа над таблицей жмем кнопку “Опубликовать” (2). После прохождения модерации данные из метрики будут подтягиваться в таблицу.
Как понять, размечена ссылка или нет
Чтобы увидеть, какие ссылки уже размечены, а какие — нет, переключимся в расширенный режим.
Для этого на вкладке «Объявления» жмем соответствующую иконку (1).
После этого в таблице увидим описание объявлений и ссылки.
- Если ссылка окрашена в красный, значит у нее нет разметки.
- Если ссылка синяя, значит ссылка размечена, и ее размечать не нужно.
- Если ссылка оранжевая, значит метку необходимо заменить.
- Система размечает только те ссылки, которые без метки или требуют замены метки. Если метка уже установлена, разметка производиться не будет.
Как следить за наличием меток
Добавлять метки нужно ко всем вновь созданным рекламным кампаниям. Также это нужно делать, если Вы меняете ссылки в объявлениях. В Оптимизаторе есть специальная подсказка для таких случаев.
Перейдите на вкладку “Подсказки”. Здесь самой первой из подсказок будет рекомендация «Добавить разметку». Оптимизатор проверяет все ссылки кабинета и выводит число объявлений без меток.
Удобно, что при нажатии на это число откроется окно со всеми объявлениями без меток, и Вам нужно будет лишь добавить их по сценарию, описанному выше.
Работа с первичной аналитикой: выгружаем сырые данные из Метрики с помощью скрипта
Работа digital-специалиста сильно завязана на анализ трафика, и в будущем будет все больше и плотнее связываться с аналитикой. В рунете есть две самые популярные бесплатные системы веб-аналитики — Google Analytics и Яндекс.Метрика. Большинство аналитиков считают продукт от Google более продвинутым и функциональным. Но есть направления, где Яндекс опередил извечного конкурента и дал пользователям очень мощный и, на мой взгляд, наверное, самый пока недооцененный инструмент — выгрузку «сырых» или исходных данных по посещаемости вашего сайта в виде логов.
Выгрузка логов Logs API доступна с 18 ноября 2016 года. Более подробно о технических моментах вы можете прочитать в официальной документации Яндекса.
По настоящему всю мощь выгруженных логов вы можете оценить, начав проводить глубокий многофакторный анализ, в том числе с использованием техник машинного обучения, но пока оставим эту тему для следующих статей.
Сегодня мы поговорим о том, как создавать запросы к Logs API и выгружать сырые данные из Метрики с помощью скрипта на Python. Эта моя статья также, как и в предыдущие, нацелены на широкий круг читателей: от новичка до эксперта.
Практическое применение логов
Цель данной статьи — в первую очередь дать инструмент, которым мог бы воспользоваться даже человек, далекий от технических разработок для выгрузки исходных логов Метрики. Работа непосредственно с «сырыми» данными выходит за границы этого материала, но все же важно обозначить задачи, которые можно решать с их помощью.
Вот направления работы, которые рекомендует Яндекс для работы с логами:
- сложные воронки продаж;
- собственные модели атрибуции;
- объединение данных из разных источников;
- контроль над расхождениями в статистике.
Вы также сможете:
- проводить факторный анализ конверсий и прочих показателей;
- более глубоко исследовать метрики и зависимости;
- строить визуализации, недоступные в стандартных отчетах Яндекс.Метрики;
- использовать техники машинного обучения для построения моделей и проверки гипотез на «боевых» данных;
- автоматизировать рутинные типовые аналитические задач, что актуально для работы на потоке.
Если у вас есть что добавить в эти списки, обязательно напишите об этом в комментариях к статье.
Реализация скрипта
Скрипт реализован в текстово-диалоговом интерфейсе — в виде примитивного чат-бота, подробно механику разберем далее в статье. Такой формат позволяет достаточно просто взаимодействовать с API Яндекс.Метрики даже специалистам с минимальной технической подготовкой.
Общая схема работа API Метрики
Перед тем как мы начнем, очень важно понять общую схему работы API Метрики: создание запросов на сервере, проверка статуса и загрузка данных после того. Для лучшего понимания проиллюстрируем взаимодействие с серверами Метрики схематично на рисунке:
В общем виде схема работы с API Метрики выглядит следующим образом:
- Сначала надо получить авторизационный токен (как это сделать, разберем ниже), а также номер счетчика Метрики, для которого мы будем выгружать логи.
- Для корректного создания запроса необходимо указать его параметры: даты, за которые будем выгружать данные, список полей и тип источника запроса (визиты или просмотры). После установки параметров мы отправляем запрос на сервер Метрики методом POST.
- После отправки запроса, если все прошло успешно, ему присваивается уникальный идентификатор — requestId. После создания на сервере запрос получит статус создан («created») и встанет в очередь на исполнение. Время исполнения запроса зависит от размера запрашиваемых данных, а также от загруженности серверов Яндекса (в среднем выгрузка небольшого объема в несколько тысяч записей не должна занять более 15-30 минут) .
- Когда запрос обработается, его статус изменится на обработан (processed), а данные станут доступны для выгрузки и дальнейшей работы с ними.
Получаем OAuth токен Яндекса
Чтобы получить специальный авторизационный токен от Яндекса:
1. Войдите в аккаунт, который имеет доступ к нужным счетчикам Метрики.
2. Для работы через приложение надо создать приложение. Для получения OAuth-токена пройдите по ссылке.
3. При создании приложения укажите его название (любое).
В разделе «Платформы» выберите «Веб-сервисы», в качестве Callback URI #1 укажите следующее значение https://oauth.yandex.ru/verification_code как на скриншоте.
В разделе «Доступы» выберите Яндекс.Метрика и выберите пункт «Получение статистики, чтение параметров своих и доверенных счетчиков»:
После выбора параметров нажмите кнопку «Создать приложение».
4. После создания приложения вы увидите следующую страницу. Вам необходимо скопировать идентификатор ID (выделен красной рамкой).
5. Далее вам необходимо пройти по следующей ссылке, вставив в ссылку идентификатор:
6. Если вы все сделали правильно вы увидите следующую страницу, где вам необходимо нажать кнопку «Разрешить».
7. После предоставления доступа система сообщит ваш OAuth-токен, как показано на скриншоте ниже. Скопируйте его и сохраните в надежном месте, срок его действия — один год, и он будет использоваться при каждом взаимодействии c Метрикой по API.
8. Кроме токена авторизации вам также понадобится номер счетчика Яндекс.Метрики — counterId. Номер счетчика вы можете взять в интерфейсе Метрики в разделе счетчиков.
Получив токен и скопировав номер счетчика, вы можете воспользоваться скриптом и начать выгружать сырые данные для дальнейшего анализа.
Механика работы скрипта
Перед началом работы создайте специальную папку, в ней разместите два файла run.ipynb и ppc_sci.ym_raw_data.py (основной файл скрипта, актуализирован в мае 2019 года). Для запуска нужно использоваться пакет Anaconda, который уже содержит предустановленные библиотеки, необходимые для работы скрипта.
Запустив оболочку Jupyter и положив в рабочую папку файлы, вы должны увидеть примерно следующую картину.
После запуска блокнота run.ipynb вам необходимо указать переменные token и counterId. Для начала работы запустите первую ячейку.
Непосредственно работа скрипта начнется, когда вы запустите вторую ячейку с командой ym.start().
После старта работы скрипта вы увидите «ГЛАВНОЕ МЕНЮ» с основными вариантами выбора:
- получить список id запросов на сервере — [1];
- создание нового запроса — [2];
- удаление запроса(ов) с сервера — [3];
- записать выгруженные логи в Excel-файл — [4];
- выйти и завершить работу скрипта — [0].
Важно: «ГЛАВНОЕ МЕНЮ» будет возвращаться после каждого выбранного пункта меню, пока вы не завершите работу скрипта.
Для лучшего понимания логики работы скрипта необходимо обязательно подробно изучить раздел «Общая схема работа API Метрики», т. к. структура меню скрипта повторяет логику схемы работы API интерфейса Метрики.
Для начала проверим, существуют ли готовые запросы логов, доступные для выгрузки на сервере. Для этого выберем пункт [1] меню: нужно вбить в поле для ввода цифру «1» и нажать Enter. Если вы не создавали запросы ранее, то никаких запросов на сервере пока нет, о чем вам сообщит скрипт в сообщении. После этого скрипт сразу попросит ввести код следующей операции.
Если вы попробуете ввести несуществующий пункт меню, например цифру «6», то скрипт выдаст ошибку и попросит снова ввести данные.
Давайте создадим новый запрос логов, выбрав код операции [2]. Скрипт попросит указать источник запросов 1 (визиты) или 2 (показы).
Когда вы выберете источник запроса, скрипт попросит указать начальную дату запроса в формате ГГГГ-ММ-ДД. Важно точно соблюдать формат!
Вводим дату и нажимаем Enter.
После начальной даты скрипт запросит вторую, конечную, дату.
После ввода конечной даты скрипт выведет вам идентификатор запроса логов id, а также его статус.
Давайте теперь попробуем получить список запросов с сервера, введя код операции [1]. Как видно на рисунке ниже, список запросов логов выводится в виде списка с подробными характеристиками: id логов, номер счетчика, источник логов (визиты/показы), даты запроса и текущий статус запроса. Так как мы просим список запросов сразу же после создания первого запроса, статус создан (created) еще не успел обновиться, это значит, что запрос еще находится в очереди на обработку и не готов к выгрузке.
Вызвав запросы на сервере спустя какое-то время (в нашем случае несколько минут), вы должны увидеть, что статус изменился на обработан (processed).
Теперь создадим второй запрос, но в качестве источника выберем показы (hits). Результат полученного списка запросов логов показан ниже.
После того как запрос создан на сервере (имеется id) и статус изменен на обработан (processed), вы можете выгрузить данные для дальнейшей обработки и анализа. Давайте попробуем это сделать. В меню выберите пункт [4] («Записать результат в Excel-файл»).
Скрипт предложит вам выбрать id запроса, который вы планируете выгрузить. Список id запросов, хранящихся на сервере, будет выведен в интерфейсе. Скопируйте нужный идентификатор в поле ввода и нажмите Enter.
После ввода id запроса вы увидите сообщения как на скриншоте. Выделенные предупреждающие сообщения можно игнорировать, они не помешают работе скрипта.
Excel-файл будет записан в папку, где находятся рабочая Jupyter тетрадь и файл со скриптом.
В выгруженном файле будут все доступные поля (смотрите в справке описание полей для визитов и просмотров). Как именно обрабатывать и использовать данные, мы рассмотрим в следующих статьях. Вы можете это делать как в Excel, например, при помощи сводных таблиц, так и с помощью более продвинутых инструментов — языков R или Python.
После выгрузки запросов в Excel мы можем удалить запросы с сервера, т. к. они нам больше не понадобятся. Для этого выберите пункт [3]. Вы можете как удалять отдельные запросы, указывая нужный номер id, так и удалить сразу все запросы с сервера, набрав команду all.
После ввода all скрипт удалит все созданные на сервере запросы.
Для выхода и завершения работы скрипта вам достаточно выбрать пункт [0] или ввести слово exit. Фраза «Работа завершена» говорит о том, что скрипт завершил работу.
Заключение
Возможно, поначалу работа со скриптом покажется вам немного «громоздкой» и запутанной, но освоившись с интерфейсом, вы очень скоро будете создавать запросы не более чем за полминуты, а перспективы, которые откроет для вас работа с исходными данными Яндекс.Метрики, многократно окупит затраченное время. В следующих статьях мы разберем на практике решение задач, связанных с анализом и обработкой логов.
Если у вас есть желание разрабатывать подобные скрипты для автоматизации рабочих процессов, записывайтесь на базовый курс PPC-Scientist.
Ваши вопросы по работе скрипта, а также предложения и идеи новых скриптов оставляйте в комментариях к статье. Всем успехов в настройке.
Что такое ClientID в Яндекс Метрике?
В одной из ранних статей я разбирал что такое Client ID в Google Analytics, но не все знают, что и в Яндекс.Метрике тоже есть ClientID.
Давайте же разберемся и с Метрикой, а начнем с определения:
ClientID — это анонимный идентификатор, который Яндекс.Метрика автоматически присваивает каждому уникальному посетителю сайта.
Идентификатор создается случайным образом и определяет браузер, в котором посетитель просматривает ваш сайт. Следовательно, если посетитель просматривал сайт из двух разных браузеров, в Яндекс.Метрике будет зафиксировано два разных ClientID и два разных пользователя.
Зачем нужен ClientID?
Без идентификации пользователя и связывания его действий в онлайне с оффлайном, для дальнейшего анализа, сегментации и использования полученных сегментов в маркетинговой стратегии, при текущих конкурентных условиях, бизнесу долго не прожить. Это уже давно главный тренд в аналитике.
Параметры посетителей — это расширенная информация о ваших клиентах, например семейный статус или наличие машины, которая известна только вам и хранится в CRM. Передав в Метрику эти параметры, вы сможете совместить их с теми данными, что уже есть в отчетах для более детального анализа аудитории. А также, построив сегмент с применением параметров, вы можете запустить по нему ретаргетинговую кампанию.
Оффлайн-конверсии — это целевые действия пользователей, произошедшие вне вашего сайта. Примером оффлайн-конверсии может служить оплата клиентом ранее выставленного счета по заказу с сайта. Загрузив информацию о таких конверсиях в Метрику, вы сможете видеть более полную картину воронки продаж.
Как фиксировать ClientID?
ClientID создается при первой инициализации счетчика Яндекс.Метрики в новом браузере и сохраняется в куке под названием _ym_uid сроком на два года.
Пример значения куки:
Значение _ym_uid состоит из не более чем 20 знаков, причем первые 10 знаков — это дата и время первого посещения сайта в формате UNIX.
1528651862 — это 10.06.2018, 20:31:02
599277088 — а эта часть, скорее всего, просто рандомное число.
Получается практически полный аналог ClientID в Google Analytics, в котором время отделено от рандомного числа разделителем в виде точки.
Чтобы получить значение идентификатора посетителя, вам необходимо выполнить простой JS-код:
А получив идентификатор, вы можете передать его в свою CRM или базу данных вместе с заявкой или транзакцией с сайта.
Где в найти ClientID?
Специально настраивать передачу ClientID как в Google Analytics не нужно, разработчики Метрики позаботились о нас с вами. За что им огромное спасибо!
Использовать ClientID в отчетах вы можете в качестве группировки:
- Для этого отчете нажмите кнопку « Группировки» .
- Выберите группировку « Аудитория > ClientID» .
После чего вы увидите группировку показателей по конкретным пользователям:
Помимо группировки, ClientID может быть использован в качестве условия сегментации:
- В отчете нажмите значок
.
- Выберите условие « Характеристики > ClientID» .
А чтобы найти значение идентификатора в cookies:
- Нажимаем F12 в Chrome и в консоли разработчика открываем вкладку «Application».
- Фильтруем по «_ym» и видим все куки установленные Метрикой, в том числе и _ym_uid содержащую значение ClientID.
Помимо _ym_uid , на картинке вы можете заметить следующие cookies:
- _ym_isad — отвечающую за фиксацию факта включения у пользователя блокировщика рекламы.
- _ym_visorc — содержащую идентификатор Вебвизора.
Что дальше?
В следующих статьях я расскажу о том, как объединить несколько идентификаторов одного и того же клиента в один (UserID), а также о загрузке в Яндекс.Метрику данных по оффлайн-конверсиям.
Интеграция UIS с Яндекс.Метрика
Яндекс.Метрика и UIS передают друг другу несколько разных типов данных. В UIS направляется информация о достигнутых целях. В Яндекс.Метрику передаются данные по звонкам и другим видам обращений, а также события UIS.
Необходимо в боковом меню Личного кабинета UIS выбрать «Сайты», далее в списке нажать на нужный сайт и перейти во вкладку «Интеграция с сервисами». Здесь нужно нажать на кнопку «Подключить сервис». Чтобы настроить передачу данных с определенных сайтов, нажмите на кнопку «Выбрать счетчик» – в открывшемся окне вы увидите все счетчики Яндекс.Метрики. Необходимо отметить нужные сайты.
Чтобы настроить передачу звонков и их параметров (дата/время звонка, ID клиента) из UIS в Яндекс.Метрику, необходимо нажать на «Настроить передачу обращений». Чекбокс «Включить передачу звонков» активирует функцию передачи данных.
Кроме базовых, можно настроить передачу еще 9 разновидностей данных:
- статус звонков (принятый или пропущенный);
- статус звонков (первичный или вторичный);
- продолжительность звонка;
- время ожидания клиента на линии;
- АОН (исключая последние 2 цифры номера);
- теги;
- URL страницы, которая стала источником звонка;
- стоимость цели;
- страница отчета UIS.
Раз в сутки происходит синхронизация – подгружается информация за прошедший день. Если меняются параметры звонка, то на 2-й, 7-й, 14-й и 20-й день осуществляется перезапись данных.
Для передачи чатов и заявок в Яндекс.Метрике нужно заблаговременно настроить соответствующие цели.
В боковом меню в аккаунте Яндекс.Метрики необходимо выбрать «Настройки», затем перейти во вкладку «Цели». Перед тем, как нажать на кнопку «Добавить цель», нужно еще задать тип условия: JavaScript-событие, указать идентификатор (к примеру, chat) и как-нибудь назвать цель (Чаты UIS).
Тот же самый идентификатор должен быть введен в окне настроек передачи обращений UIS во вкладке «Чаты». Заявки и чаты синхронизируются раз в сутки – передается информация за последний день. Если считаете нужным, поставьте галочку рядом с «Не отправлять потерянные и отклоненные чаты».
Чтобы настроить передачу заявок, необходимо создать новую цель в Яндекс.Метрике и во вкладке «Заявки» в настройках UIS ввести соответствующее слово-идентификатор.
Также необходимо обеспечить доступ на запись для аккаунта в Яндекс.Метрике. Чаты и заявки передаются в соответствии с требованиями Яндекса.
UIS передает следующие виды данных:
Client ID Яндекс.Метрики – созданный Яндекс.Метрикой идентификатор клиента;
DateTime – дата и время конверсии в формате unix timestamp. Эти данные передаются в нулевом часовом поясе в связи с тем, что Яндекс.Метрика корректирует время и дату, учитывая часовой пояс, указанный в Личном кабинете.
Target – введенный в Личном кабинете идентификатор цели.
Price – стоимость (ценность) цели.
Также есть дополнительные системные параметры, которые передаются для каждой конверсии:
Currency – валюта в 3-буквенном формате ISO 4217 (RUB).
Узнать дополнительную информацию по отображению целей можно в справочном центре Яндекса. Параметры передачи чатов и заявок в Яндекс.Метрику сохранятся, если интеграция будет отключена или поменяется счетчик. Настройки сохраняются на уровне сайта, не привязываясь к счетчику.
Чтобы цели Яндекс.Метрики отображались в отчетах UIS, необходимо в Личном кабинете в общих настройках сайта, во вкладке «Интеграция с сервисами» нажать на кнопку «Настроить получение целей». В появившемся окне нужно выбрать цели, предназначенные для передачи. Раз в сутки UIS будет загружать информацию о достижении целей за последний день.
Если события отслеживаются на стороне UIS, то их также можно передавать в Яндекс.Метрику в качестве целей. Что реализовать это, необходимо в боковом меню Личного кабинете UIS перейти в раздел «Аналитика», далее в «События». В окне «Редактировать событие» нужно поставить галочку «Считать событие целью», а далее по прежней схеме настроить передачу события в Яндекс.Метрику, используя идентификатор.
При передаче звонков в Яндекс.Метрике будут доступны 3 отчета:
- качество обработки звонков;
- источники звонков;
- звонки, детально.
Все 3 отчета можно найти в группе «Звонки».
Если необходимо проанализировать звонки по тегам с учетом стоимости, нужно выбрать отчет «Источники звонков», объединить звонки по меткам и включить метрику «Суммарная цена звонка».
На скриншоте ниже вы видите отчет «Звонки, детально».
А так выглядит отчет «Количество звонков».
Во вкладке «Цели» образуется отдельная строка, обозначенная «Звонок».