Как настроить BI-аналитику для Директа с помощью Python за 0 рублей — инструкция и видеогайд
Как с минимальными знаниями Python и без затрат построить аналитику для Яндекс.Директа? Понадобятся токен Директа, BigQuery, Data Studio и немного свободного времени. Пошаговой инструкцией и видеогайдом делится руководитель отдела рекламы в Bquadro Александр Любивый.
Предлагаю построить таблицу с аналитикой, которая будет выглядеть так:
То есть у нас будут столбцы:
-
Разрез статистики (кампании или кампании + таргетинги/пол и возраст/ОС).
-
Клики.
-
Стоимость.
-
Конверсии.
Я выбрал такие разрезы, потому что мы в агентстве анализируем данные по ним на постоянной основе и по итогам вносим корректировки в рекламу.
Статистику мы будем получать за последние 90 дней. Она будет считаться только по кампаниям с типом «Текстово-графические объявления» (например, не будет медийной рекламы).
Рассмотрим, как получить статистику с разрезом по кампаниям. В конце разберемся, что добавить в код, чтобы получать также данные по таргетингам, ОС, полу и возрасту.
Для тех, кто предпочитает не читать, а смотреть, мы с ppc.world подготовили видеогайд — он в конце статьи.
Готовимся к настройке аналитики
Для получения статистики с помощью API Директа нам потребуется:
-
Получить токен для доступа к Яндекс.Директу.
-
Узнать ID целей в Яндекс.Метрике.
-
Определиться с моделью атрибуции.
Получаем токен
Вы можете сделать это сами, но нужно будет создавать свое приложение и модерировать его, я же вам предлагаю воспользоваться нашим приложением — так вы получите токен за пару секунд.
Переходим по этой ссылке и даем разрешение (это не опасно, мы не сможем ничего сделать с вашим токеном — он используется только в связке с логином).
Токен будет в адресной строке — запишите его.
Узнаем номер цели в Яндекс.Метрике
В Яндекс.Метрике перейдите в раздел «Цели» и скопируйте номер одной или нескольких целей.
Определяемся с моделью атрибуции
Вы можете использовать любую модель атрибуции, которая доступна на данный момент.
Актуальный список моделей атрибуции вы найдете на этой странице справки API Директа в строке ConversionRate_<id_цели>_<модель>.
На данный момент доступны:
-
FC — первый переход;
-
LC — последний переход;
-
LSC — последний значимый переход;
-
LYDC — последний переход из Яндекс.Директа.
Скачиваем шаблон и настраиваем под себя
Переходим в среду разработки (можно использовать любую).
Открываем файл с шаблоном, который я подготовил для вас.
Не трогаем начало файла:
Проверьте, чтобы все пакеты импортировались.
Заполните переменные своими данными — впишите токен, логин, цели:
Как записывать цели?
Если целей несколько (например, отправка формы и звонок в коллтрекинге), расписываем цели как в примере:
goals = ["999999999","888888888"]
Если цель одна, пишем так:
goals = ["9999999999"]
Получаем статистику по кампаниям
Мы запишем статистику сразу в переменную.
Эта строка выглядит так:
fail = yadirconv.yadirconv.camp(token, login, goals,’LYDC’)
Как ее расшифровывать?
Мы создаем переменную fail, в которой будет записана статистика по кампаниям. Получаем мы ее с помощью пакета yadirconv.
В эту функцию мы передаем токен, логин, цели и нашу модель атрибуции (в данном примере — LYDC).
Чтобы вывести наши данные на экран, пишем команду: print(fail).
Вот мы и получили статистику:
Следующим шагом нам нужно объединить 2 столбца с конверсиями в один.
Для этого делаем новый столбец, который будет суммировать данные этих двух столбцов.
fail[’Goals’]=fail[’Conversions_159442768_LYDC’]+fail[’Conversions_160095082_LYDC’]
После чего мы удалим эти два столбца этой строчкой:
fail=fail.drop(columns=[’Conversions_159442768_LYDC’, ’Conversions_160095082_LYDC’])
Обратите внимание, что у вас будут свои номера целей.
Выводим.
Вот мы и получили статистику по кампаниям.
Отправляем статистику в Google BigQuery
Предварительно вам нужно зарегистрироваться в Google BigQuery и подписаться на бесплатный тариф (его вам хватит с головой).
Отправляем статистику с помощью строки:
pandas_gbq.to_gbq(fail, ’checker_yd.ppc_camp’, project_id=’red-abstraction-999999’,if_exists=’replace’, progress_bar=None)
Вы с помощью пакета pandas_gbq передаете данные из своей переменной fail в свою папку (она у вас уже должна быть, а файл создастся сам). В моем случае папка называется ’checker_yd, а файл ppc_camp’, но его можно назвать как угодно. Используйте тот project_id, который у вас есть в аккаунте.
Наша статистика в BigQuery выглядит примерно так:
Нажмите на запрос к таблице (меню Query — пункт In new tab).
Вам выведут примерно такой запрос:
SELECT FROM `red-abstraction-99999.checker_yd.ppc_camp` LIMIT 1000
Вам нужно после SELECT добавить звездочку (*) и удалить LIMIT 1000.
Получится примерно так:
Копируем этот запрос и переходим к следующему шагу.
Визуализируем данные в DataStudio
Добавляем в DataStudio новый источник — BigQuery.
Делаем пользовательский запрос и подключаемся:
После этого источник данных будет нам доступен.
Добавляем новое поле.
В названии указываем CPL.
Теперь у нас есть полноценные данные, которые мы можем визуализировать.
Добавляем таблицу (меню «Вставить», пункт «Таблица»).
Заполняем параметр и показатели:
Получится примерно такая таблица:
Вот и всё.
Далее я предлагаю сделать вам такую таблицу для промежутка в 30 дней и 90 дней, чтобы видеть динамику CPL по кампаниям.
Также рекомендую сделать для этих данных отдельные плашки. У нас они выглядят так:
Они добавляются через меню «Вставить», пункт «Сводка».
Предлагаю вам попробовать разные виды вывода статистики.
Строим аналитику для таргетингов, ОС, пола и возраста
Итак, аналитику для кампаний построили. Давайте аналогично поступим с другими разрезами.
Вам нужно пройти те же самые этапы за исключением одной строчки кода.
Для получения статистики по кампаниям мы использовали этот код:
fail = yadirconv.yadirconv.camp(token, login, goals,’LYDC’)
А для получения статистики по таргетингам нужен такой:
f=yadirconv.yadirconv.criterion(token, login, goals,’LYDC’)
Для получения статистики по ОС:
f=yadirconv.yadirconv.os(token, login, goals,’LYDC’)
Для получения статистики по полу и возрасту:
f=yadirconv.yadirconv.gender_age(token, login, goals,’LYDC’)
Также не забываем, что нам нужно складывать всю статистику в разные файлы. Не нужно записывать в один и тот же файл статистику при отправке в BigQuery.
Вот эта строка с названием файла должна меняться:
pandas_gbq.to_gbq(fail, ’checker_yd.ppc_camp’, project_id=’red-abstraction-999999’,if_exists=’replace’, progress_bar=None)
На этом всё. Теперь вы просто сможете запускать свой код, и вся статистика сама обновится.
Видеогайд
То же самое, только в видео. Заваривайте чай и включайте:
На этой странице есть элементы, которые могут не отображаться на AMP-страницах.
Комментарии 3
Авторизуйтесь, чтобы оставить комментарий.
Рустам 74
Mikhail Romantsov
digital-агентство Bquadro