Как выгрузить данные из яндекс метрики в excel
В своей практике работы аналитиком мне часто приходится сталкиваться с ситуациями, когда коллеги ежедневно тратят много времени на нудную выгрузку данных для очередной отчетности. Если для Google Analytics и других продуктов Google написано множество плагинов, сервисов и надстроек для Excel, то для Яндекс Метрики и других аналитических систем удалось найти только пару-тройку библиотек 2013 года.
При работе с рекламными системами типа Adfox ситуация не менее «тяжелая». Многочисленные выгрузки вручную могут со временем вогнать в депрессию кого угодно, совершенно не оставив времени на полезную часть этого действия: анализ и выводы на основе этих данных. Иногда выходом является обращение за помощью к разработчикам, которые могут помочь с настройкой выгрузки необходимых данных. Однако на практике требования к отчетам часто меняются, а постоянно дергать разработчиков не получится.
В этой и следующих статьях я покажу как с помощью Amazon Web Services просто настраивать автоматическую выгрузку данных. На AWS можно в течение 12 месяцев пользоваться бесплатным аккаунтом, в лимиты которого входит описанный в статье алгоритм. Можно выбрать и любой другой сервис аренды вычислительных мощностей, однако совсем бесплатных я не встречал. К тому же на инстансах AWS уже есть питон с нужными библиотеками.
В качестве примера данных счетчика буду использовать свой сайт. Итогом этой статьи будет небольшой скрипт, который для набора счетчиков выгружает посещения по дням за указанные даты. На основе него уже можно быстро перейти к нужным вам выгрузкам. К недостатку этого метода можно отнести необходимость в первый раз потратить около часа на настройку аккаунта и привыканию к интерфейсу. Но при последующих заходах эту процедуру проходить не надо. Вы просто запустите готовый инстанс и через пару минут получите необходимые данные.
Заходим в EC2 и в левой панели выбираем Instances. Нажимаем Launch Instance:
Нам предложат на выбор самые разные операционные системы. В данном примере выбор операционной системы не так важен. Я привык к Ubuntu (четвертая строчка на скриншоте). Можно выбрать первую строчку Amazon Linux. Отличие от примера будет в том, что по умолчанию на Amazon Linux логин пользователя при заходе на машину ec2-user. Для Ubuntu логин ubuntu:
На последнем седьмом шаге проверяем группу безопасности в поле Security Groups (доступ по SSH должен быть разрешен для 22 порта как минимум для вашего IP-адреса) и нажимаем Launch. Переходим обратно к списку инстансов и ждем, пока для нашего запущенного инстанса поле Instance State не станет running (это займет пару минут). Выбираем строчку с нашим инстансом и ищем Public DNS. Копируем Public DNS и заходим на машину. Для Windows проще использовать Putty, для MAC — Terminal. В документации по заведению аккаунта описан это процесс для Windows и MAC. На всякий случай еще раз напомню для Putty. Логин ubuntu, порт 22:
Не забываем в Connection --> SSH --> Auth указать путь к приватному ключу (с расширением *.ppk):
Заходим на машину, на предупреждение Windows «The server's host key is not cached in the registry» нажимаем «Да». Если все прошло успешно, то получаем следующее:
Проверяем все ли в порядке с питоном (по умолчанию на AWS он уже установлен): набираем в консоли «python» и жмем Enter. После входа в консоль питона набираем 1+1 и снова жмем Enter. Для выхода из консоли питона нажмите Ctrl+D:
Последним шагом для выгрузки данных из Яндекс Метрики станет авторизационный токен:
2. Называем свое приложение и в поле Права для Яндекс Метрики выбираем «Получение статистики, чтение параметров своих и доверенных счетчиков»:
В результате получим авторизационный токен 11daf5. 516d, который будем использовать в каждом запросе к Яндекс Метрике:
Импортируем библиотеки 'requests' и 'json' для работы с запросами к API и форматом JSON. В переменной atoken в кавычках указываем полученный ранее авторизационный токен. Копируем этот код в файл 'test.py' и сохраняем:
json.loads преобразует полученный от Яндекс Метрики ответ формата JSON в массив, из которого можно легко выбирать нужные нам элементы (в данном случае количество посещений за вчера). Строчка print json.dumps(. ) покажем нам ответ API в более человеческом виде.
Запускаем скрипт: в Putty или терминале набираем 'python test.py'. Успех:
Чтобы выцепить число 489 из этого массива (т. е. в питоне это «словарь») пройдемся по его иерархической структуре сверху вниз:
1. Первым уровнем иерархии идет элемент 'data', он будет первым в обращении: ['data']
2. Потом идет квадратная скобка, значит начинается список. В нашем случае это список из одного элемента, значит ставим [0]
3. Далее идут два элемента 'dimensions' и 'metrics'. Выбираем ['metrics']
3. Наконец, в поле 'metrics' опять лист из одного элемента
Таким образом адресом количества посещений 489.0 за вчера будет ['data'][0]['metrics'][0]. Добавляем в наш скрипт строчку:
print parsed['data'][0]['metrics'][0]
В результате повторного запуска в конце будет выведено количество посещений за вчера.
Ок, 'hello world' это весело. Выгрузим теперь что-нибудь более практичное. Например, посещения по дням за прошлую неделю для списка сайтов и запишем это в файл. Для начала запишем в файл по дням посещения одного сайта за прошлую неделю:
Теперь ответ будет выглядеть следующим образом:
Теперь нам надо в цикле пройтись по всем датам и достать количество посещений за каждый день. Из структуры видно, что пройтись надо по листу в parser['data']. Посмотрим что представляет из себя каждый элемент этого листа. Для этого добавим в конец скрипта цикл:
Кто мало знаком с питоном обратите внимание на отступ перед 'print day' (табуляция или несколько пробелов). По этому отступу определяется начало и конец цикла. Запускаем:
Теперь более понятно как вытащить дату и количество визитов. Вместо 'print day' ставим:
Добавим возможность выгрузки данных по нескольким проектам и запишем все в файл, заменяя в визитах точку на запятые. Чтобы при экспорте в Excel не пришлось этого делать. В примере в листе listOfSites можно подставлять любое количество счетчиков проектов, здесь стоит два одинаковых просто для примера. Файл 'weekly_data.txt' будет перезаписываться при каждом запуске скрипта:
Итого после запуска мы должны получить файл 'weekly_data.txt' с посещениями по дням перечисленных в listOfSites сайтов (в нашем примере цифры просто повторяются два раза), которые легко скопировать в эксель. Или любой другой инструмент, в котором вы составляете отчетность:
После завершения работы заходим в консоль управления AWS и на нашем инстансе с помощью правой кнопки мыши выбираем Instance state — Stop. В следующий раз не надо будет проходить долгую процедуру настройки. Просто выбираем Instance state — Start и через пару минут сразу начинаем работу с кодом:
Используя этот нехитрый подход и документацию Яндекс Метрики можно настроить практически любую выгрузку. Надеюсь эта инструкция сэкономит вам много времени и сил при выгрузке данных.
В этой статье мы рассмотрим детально процесс выгрузки данных из отчетов Яндекс.Метрика в отдельный документ с разбивкой данных по дням, неделям и месяцам.
Например, стандартная функция экспорта в Метрике, позволяет выгружать:
1. Данные из графика. Выгружаются в документ параметры и показатели на основе которых формируется график отчета за выбранные период.
2. Данные из таблицы. В документ переносится данные из таблицы отчета по выделенным полям с сохранением показателей и метрик.
Давайте разберем на примере все возможности выгрузки данных в .XLSX и .CSV.
Решения
Предположим, нам нужно выгрузить данные по трафику из поисковых систем Яндекс и Google с разбивкой по месяцам за весь последний год.
Как это реализовать?
Стандартными отчетами в интерфейсе Метрики получить такие данные не получиться.
В табличном отчете вы получите только общие данные за выбранный период, а на графике данные можно увидеть только в сплывающем окошке, при наведении курсора, что не совсем удобно, так как запомнить, а тем более сохранить и перенести значения в отдельный документ не получится.
Именно для таких случаев нужна выгрузка значений из графика и таблицы.
1. Переходим в нужный отчёт и указываем временной интервал;
2. Далее выбираем вывод данных по месяцам;
3. Указываем галочками в таблице ниже требуемые параметры, а напротив ненужных полей — снимаем галочки. В нашем примере отмечаем только поисковые системы Яндекс и Google;
4. Переходим в правый верхний угол отчёта и выбираем выгрузку Данные графика. Файл сформируется за несколько секунд и будет сохранен на ваш компьютер.
Получаем данные в файле с разбивкой по месяцам. Вот такие значения можно получить в сохраненном нами файле:
Как видите, в столбце Период указаны месяца, а в двух других столбцах количество переходов из каждой поисковой системы.
Однако, Яндекс.Метрика позволяет выгружать данные не только из графика, но и из таблицы.
Выполняем все ранее описанные действия, то теперь выбираем Данные таблицы. Выгрузка такого отчета займет чуть больше времени и будет иметь немного иной вид, дублируя таблицу из отчета с данными группировок.
Важно! Отчёт можно с лёгкостью изменить, поменяв в нем группировки, добавив дополнительные метрики, настроить детализацию по дням или неделям и выгрузить показатели за любой другой период по другим параметрам.
Поздравляю! Теперь с этими данными удобно работать: строить на их основе графики и диаграммы, составлять сводные таблицы и отчёты, добавлять в презентацию и пересылать клиентам!
Остались вопросы?
Мы решили довольно простую задачу, но если у вас остались вопросы, то оставляйте ваши комментарии в форме ниже под этой записью и не забывайте подписываться на новые инструменты и статьи блога!
Подпишитесь на дайджест — каждую неделю я выбираю события, которые имели значение для рынка интернет-маркетинга, чтобы вы не пропустили важного среди всего этого инфошума.
Как вы знаете продукты от компании Google прекрасно синхронизируются и взаимодействуют друг с другом. Не составляет труда передать данные в Google Data Studio из Google Analytics или Google Ads.
Но как быть, если нам нужно построить визуальный отчет на данных накопленных в Яндекс.Директе или Яндекс.Метрике?
Вопрос мы разобьем на две части — в этом материале разберем возможность передачи накопленной статистики из Яндекс.Метрики в GDS. А следующая статья расскажет о принципах передачи рекламных данных из Директа.
Зачем вообще передавать данные Метрики в сторонние системы
С помощью сторонних инструментов, таких как Google Spreadsheets или Data Studio, вы можете использовать необработанные данные из Метрики для создания пользовательских отчетов, которые еще не доступны в веб-интерфейсе Яндекс.Метрики. Вы также можете по-новому визуализировать свои данные, чтобы получить другую перспективу и обнаружить тенденции и модели, которые вы ранее не замечали.
Наконец, вы можете экспортировать данные из нескольких источников, таких как Facebook, AdWords или Instagram, и комбинировать их с вашими данными Яндекс.Метрики, чтобы создать полную картину вашей эффективности интернет-маркетинга.
Как настроить передачу данных
Передача данных из Яндекс.Метрики в Google Studio и Google Sheets не потребует от вас знания API Метрики или навыков программирования. Все что нужно, так это несколько щелчков мыши.
В интерфейсе Google Data Studio имеется специальный коннектор, разработанный финской компанией Supermetrics, который автоматически забирает данные из Метрики.
Ниже пошаговый план подключения:
1. Установите соединитель Яндекс.Метрики для Google Data Studio. Выберите Источники данных в меню справа и нажмите на кнопку +.
2. Из предложенного списка коннекторов выберите Yandex Metrica в разделе Коннекторы партнеров или воспользуйтесь поиском. Далее нажмите кнопку Выбрать.
3. Предоставьте Supermetrics необходимые разрешения для доступа к вашим учетным записям Metrica и выберите из списка требуемый для сбора данных счетчик и нажмите Подключиться.
4. Вы увидите список из более чем 300 метрик и параметров для анализа. Здесь можно задать тип и дополнить описанием каждое поле. Если все данные подтянулись корректно, то нажимаем кнопку Создать отчет.
5. Готово! Начните создавать свой первый отчет Data Studio.
Замечу, что отображение данных происходит с некоторой задержкой. Иногда данные могут подтягиваться из Метрики в отчет до одной минуты, иногда и более. Потребуется время!
Важное примечание: в настоящее время соединители Data Studio могут обрабатывать только запросы, выполнение которых занимает менее 6 минут. Если у вас возникают проблемы с производительностью, рекомендую использовать дополнение для Google Таблицы. Настройте автоматическое обновление в Sheets, затем используйте коннектор Data Studio для Google Sheets, чтобы получить доступ к нему в DS.
Возможные ограничения
Добавлю, что коннекторы для партнеров имеют определенные ограничения. Если вы задумали использовать расширенные возможности по сбору данных, то потребуется заплатить от $19 в месяц. Бесплатно можно построить отчеты только по данным за последние 10 дней, что не всегда ценно для бизнеса, согласитесь.
Остались вопросы?
Друзья, пишите комментарии к материалу ниже, а также не забывайте подписывать на статьи блога и поддерживать проект ссылкой или финансово. До новых встреч!
Подпишитесь на дайджест — каждую неделю я выбираю события, которые имели значение для рынка интернет-маркетинга, чтобы вы не пропустили важного среди всего этого инфошума.
Статистику по кампаниям можно посмотреть в отчетах. Данные отображаются в таблице и на диаграммах.
Доступны отчеты по:
Примечание. Данные по конверсиям появляются в статистике в течение суток после совершения целевых действий, по остальным показателям — в течение нескольких минут.
Как работать с отчетами
Настройте отображение данных в отчетах:
Выберите период, за который будет построен отчет. По умолчанию отчет показывается за все время работы кампании. Данные отчета можно группировать по часам, дням и неделям.
По умолчанию данные отображаются в виде линий. Они наглядно представляют динамику показателей. Вы можете использовать наиболее подходящий вид диаграммы для выбранного отчета:
Вы можете настроить показ данных на графике. Выберите то, что необходимо отобразить, в выпадающем списке в правом верхнем углу страницы: показы, клики, конверсии и т. д. В строках таблицы внизу можно выбрать, какие данные необходимо показать на графике, а какие — скрыть.
Отображение данных в таблице
Вы можете сгруппировать данные по различным характеристикам: размещениям, типам устройств, характеристикам аудитории и т. п. Для этого нажмите + Добавить группировку .
Вы можете выбрать цель Метрики, привязанную к кампании, и данные отчета обновятся с учетом достижения этой цели.
Сегментация данных в отчете
Сегментация позволит вам просматривать данные отчета в разрезе определенных параметров. В блоке События, в которых нажмите + , выберите параметр и его значение. Укажите, включить или исключить данные по данному параметру из отчета.
Например, чтобы в отчете по географии посмотреть данные только по переходам со смартфонов, задайте настройки следующим образом:
Выгрузка отчета
Чтобы выгрузить данные отчета в формате XLSX или CSV, нажмите .
Как собрать аудиторию рекламы по данным отчета
Соберите аудиторию вашей рекламной кампании и используйте ее при настройке рекламы в Яндекс Директе. Например, вы можете:
продолжить коммуникацию с пользователями, которые досмотрели ваше видеообъявление до конца, — показать им продолжение видеоистории;
найти пользователей, похожих на тех, кто уже видел вашу рекламу и выполнил целевое действие на сайте.
Выберите отчет и настройте сегментацию. Например, чтобы отобрать только тех, кто целиком просмотрел ваши видеообъявления, в отчете по видеорекламе перейдите События в которых → Поведение → Тип события и включите в отчет данные по событию Просмотр видео до конца .
Внимание. Невозможно собрать сегмент по данным одной конкретной площадки. Сегмент должен включать данные минимум по двум площадкам.
Созданный сегмент получит статус «Обрабатывается». Обработка может занять до двух часов. Если охват будет не менее 1000 анонимных идентификаторов, сегмент получит статус «Готов». Теперь его можно использовать для настройки рекламы и создания look-alike сегмента.
Подробнее о том, как работать с сегментами, смотрите в Справке Аудиторий.
"Клиент хочет видеть результативность Яндекс.Директа по часам!
И как можно быстрее!".
Если сталкивались с такой задачей, вы уже знаете, что всё не так просто.
Директ не отдаёт расходы по часам - ни в интерфейсе, ни по API.
Но решение есть - если вы привязали Метрику к Директу, можно затянуть данные по часам из Яндекс.Метрики. Да, в Метрике нет показов, так что CTR по часам вы не получите. Но расходы и клики по часам - не проблема.
Если вы не хотите связываться с API, есть надёжный рецепт: постройте график расхода Директа с разбивкой по часам в Яндекс.Метрике и выгрузите данные графика в таблицу. Это работает в рамках полутора месяцев, но всё же работает. Если выбрать период в 2 месяца, к сожалению разбивка по часам пропадает.
Мы же сегодня будем получать всё это из API Яндекс.Метрики прямо в Excel.
Там не будет ограничений по времени и это гораздо удобнее. Поехали!
Тестируем коннектор для Excel к Яндекс.Метрике
Начнём с тестового запроса к Метрике. В качестве показателей возьмём клики (ym:ad:clicks) и расход (ym:ad:RUBConvertedAdCost). В качестве параметров начнём с даты (ym:ad:date).
Период я выставил с 2018 по 2020 год, указав даты в формате YYYY-MM-DD.
Также для запроса нам понадобится ID Метрики и привязанный к ней ID Директа. Ну и конечно токен для безопасного доступа - он тут вместо пароля.
Заполняем нужные поля:
yandexMetrika - название функции, которая обращается к API Яндекс.Метрики.
В виде кода всё это выглядит так:
А итоговая табличка получается такой:
Получаем нужные данные из API Яндекс.Метрики
Теперь, когда мы проверили коннектор, можно вместо даты добавить кампанию и часы.
Вместо ym:ad:date добавляю часы (ym:ad:hour) и название кампании (ym:ad:lastsignDirectOrderName). Формула меняется:
Табличка получается уже более полная:
Теперь я могу посчитать процент расхода за каждый час. Можно считать по конкретной кампании, но я посчитаю суммарно. Если ночью у меня сливался большой процент бюджета, нужно сделать выводы:
Получаем данные по целевым визитам за каждый час
Если смотреть только по расходам, выводы будут неполными. Поэтому я добавлю данные по целевым визитам.
Теперь в формуле будут визиты (ym:s:visits) и целевые визиты по выбранной цели (ym:s:goal41262622visits). Поскольку везде используется приставка ym:s (данные по сеансам), то и час указываю также - ym:s:hour. Идентификатор Яндекс.Директа в конце мне больше не нужен - здесь я получаю данные самой Метрики.
Видим как закрываются цели в рамках каждого часа:
Для объединения таблиц по расходам и визитам привожу таблички к одному виду и использую функцию Append. Затем группирую всё по параметру "Час". Добавим CPL каждого часа и получим результирующую табличку:
Теперь у нас есть CPL и можно делать более осмысленные выводы. Для удобства выгружаю таблицу на лист Excel и если нужно - добавляю форматирование. Выглядит неплохо, можно отправлять клиенту:
Кажется, мы справились с задачей в срок;)
Как повторить наш результат?
Тут есть 2 варианта - платный и бесплатный.
Если у вас получилось затянуть данные Яндекс.Директа по часам, обязательно напишите об этом в комментариях!
Читайте также: