{"id":13475,"url":"\/distributions\/13475\/click?bit=1&hash=d02bc673eeef140c065ecff57c60581e1072387cdb99484f3b963fcb612a6c69","title":"\u041a\u0430\u043a \u0438 \u0437\u0430\u0447\u0435\u043c \u043f\u0440\u043e\u0434\u0430\u0432\u0430\u0442\u044c \u043e\u0431\u043b\u0438\u0433\u0430\u0446\u0438\u0438 \u0432 \u043a\u0440\u0438\u0437\u0438\u0441 ","buttonText":"","imageUuid":"","isPaidAndBannersEnabled":false}
Маркетинг
ppc.world

Как настроить BI-аналитику для Директа с помощью Python за 0 рублей — инструкция и видеогайд

Как с минимальными знаниями Python и без затрат построить аналитику для Яндекс.Директа? Понадобятся токен Директа, BigQuery, Data Studio и немного свободного времени. Пошаговой инструкцией и видеогайдом делится руководитель отдела рекламы в Bquadro Александр Любивый в материале для ppc.world.

Предлагаю построить таблицу с аналитикой, которая будет выглядеть так:

То есть у нас будут столбцы:

  • Разрез статистики (кампании или кампании + таргетинги/пол и возраст/ОС).
  • Клики.
  • Стоимость.
  • Конверсии.

Я выбрал такие разрезы, потому что мы в агентстве анализируем данные по ним на постоянной основе и по итогам вносим корректировки в рекламу.

Статистику мы будем получать за последние 90 дней. Она будет считаться только по кампаниям с типом «Текстово-графические объявления» (например, не будет медийной рекламы).

Рассмотрим, как получить статистику с разрезом по кампаниям. В конце разберемся, что добавить в код, чтобы получать также данные по таргетингам, ОС, полу и возрасту.

Для тех, кто предпочитает не читать, а смотреть, мы с ppc.world подготовили видеогайд — он в конце статьи.

Готовимся к настройке аналитики

Для получения статистики с помощью API Директа нам потребуется:

  1. Получить токен для доступа к Яндекс.Директу.
  2. Узнать ID целей в Яндекс.Метрике.
  3. Определиться с моделью атрибуции.

Получаем токен

Вы можете сделать это сами, но нужно будет создавать свое приложение и модерировать его, я же вам предлагаю воспользоваться нашим приложением — так вы получите токен за пару секунд.

Переходим по этой ссылке и даем разрешение (это не опасно, мы не сможем ничего сделать с вашим токеном — он используется только в связке с логином).

Токен будет в адресной строке — запишите его.

Узнаем номер цели в Яндекс.Метрике

В Яндекс.Метрике перейдите в раздел «Цели» и скопируйте номер одной или нескольких целей.

Определяемся с моделью атрибуции

Вы можете использовать любую модель атрибуции, которая доступна на данный момент.

Актуальный список моделей атрибуции вы найдете на этой странице справки 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)

На этом всё. Теперь вы просто сможете запускать свой код, и вся статистика сама обновится.

Видеогайд

То же самое, только в видео. Заваривайте чай и включайте.

0
1 комментарий
Yakov

Смысл всех этих сложностей? в регистрации аккаунта в Google Cloud, разобраться с SQL запросами, запросами к API чтобы просто взять и перенести интерфейс яндекс метрики в Google Data Studio, да еще и с помощью Python, Можно с таким же успехом использовать готовые коннекторы в Data Studio? или ту же инфу посмотреть в Яндекс Метрике.

Простите и почему BI аналитика? здесь ничего про бизнес нет, только интернет аналитика, в которой вы можете посмотреть только конверсию сайта в заявки.

Ответить
Развернуть ветку
Читать все 1 комментарий
null