[Python, Яндекс API, Визуализация данных, Контекстная реклама] Визуализация статистики Яндекс Директ своими руками. От API до Data Studio
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Мне, как специалисту по рекламе, требуется постоянно присматривать за клиентами. В этом мне помогает Data Studio.
Однако специалистам по рекламе редко выделяют бюджеты на аналитику, поэтому приходится делать все своими руками.
Что нужно сделать чтобы визуализировать Яндекс Директ в Data Studio:
- Получить токен от своего аккаунта (за этим в справку Директа)
- На Python Написать запрос к серверу Яндекс Директ
- Сложить статистику в Pandas Data Frame
- Отправить данные в Google Big Query
- Построить визуализацию в Data Studio на основе данных в Google Big Query
Написать запрос к серверу Яндекс Директ и сложить данные в Pandas Data Frame
Раньше я ковырялся с запросами и потом редактировал данные, чтобы их можно было отправить. Можете попробовать, если вам нужны тонкие настройки (Писал про это ранее тут habr.com/ru/post/445734)
Для остальных есть способ намного проще — мой python-пакет yadirstat. (обзор на него habr.com/ru/post/512902). При его использовании вы вводите, токен, логин, даты и получаете готовый Data Frame, в котором ничего не нужно менять.
Примерно так выглядит код:
from yadirstat import yadirstat
x=yadirstat.yadirstat.campaign('FFFFFfffffFFFFggggGGGgg', 'client123123','2020-05-10','2020-07-15')
print(x)
Отправить данные в Google Big Query
Это самый очевидный способ собирать данные для последующей визуализации в DataStudio, так как они прекрасно работают в паре
Для отправки я использую пакет “pandas_gbq”
Код выглядит примерно так:
import pandas_gbq
pandas_gbq.to_gbq(x, 'YD_Days.test', project_id='red-abstraction-99999999',if_exists='replace', progress_bar=None)
Почему данные именно перезаписываются? Потому, что статистика в директе может со временем корректироваться и, если мы новые сроки будет просто добавлять, у нас будут расхождения в статистике.
Теперь проверим отправилась ли информация в Big Query. Если все прошло успешно, будет такой набор полей их типов
Построить визуализацию в Data Studio на основе данных в Google Big Query
Для этого можно сразу в Big Query создать запрос на получение всех данных:
нажимаете “Отправить запрос к таблице”, добавляете после SELECT “*” и убираете лимит. Примерно так выглядит запрос: “SELECT * FROM `red-abstraction-239999.YD_Days.test`”
В Data Studio Подключаемся к Google Big Query
В изменении источника увидим следующие поля
Требуется изменить следующие поля для корректной агрегации:
- AvgCpc
- ConversionRate
- CostPerConversion
- Ctr
Зачем это делается? Рассмотрим на примере CPC
Если у нас будет две строки со следующими данными:
- 100 кликов — Стоимость клика 100 руб — Стоимость 10000
- 2 клика — Стоимость клика — 10 руб — Стоимость 20 руб
Обычное среднее скажет, что CPC — по двум строкам 55
Поэтому, чтобы получить корректный CPC, следует поделить все расходы на все клики. В этом случае CPC получится 98,2
Просто скрываем эти поля и добавляем их аналоги:
- CPC=SUM(Cost)/SUM(Clicks)
- CTR = SUM(Clicks)/SUM(Impressions)*100
- % конверсий = SUM(Conversions)/SUM(Clicks)*100
- Стоимость конверсии=SUM(Cost)/SUM(Conversions)
Столбец “AvgPageviews” я вообще не использую
Процент отказов — очень сложный столбец из-за того, что Яндекс использует разную статистику исходя из каких-то дополнительных данных.
Если коротко, я использую формулу, именно она дает мне минимальные отклонения от того, что показывает Яндекс:
% отказов = SUM(Bounce_clicks)/(SUM(Clicks)/100).
где Bounce_clicks — количество отказных кликов в каждой из строк
Но этот вопрос выходит за рамки этой статьи :)
На данном этапе получаем следующий набор полей:
Визуализируем
Я делаю две страницы для каждого клиента: общая информация и информация по ключам.
Начнем с первой страницы — общей информации
Тут я размещаю:
- График с расходами по дням
- Таблицу со статистикой в разрезе дат
- Таблицу со статистикой в разрезе кампаний
- Дашборд со статистикой за вчера (клики, стоимость, цена клика)
Для начала в углу разместите диапазон дат, чтобы пользователи могли выбрать под себя даты:
Теперь добавим график с расходами:
Задаем следующие настройки:
Получаем такой график
Для таблицы с датами задаем такие настройки:
Для таблицы с кампаниями меняем параметр “Date” на название кампаний
Для дашбордов я использую сводку
На выходе у меня получается такая страница со статистикой:
Получаем статистику по ключевым словам:
Все то же самое, только теперь запрос будет выглядеть так:
import pandas_gbq
from yadirstat import yadirstat
x = yadirstat.yadirstat.criteria('AgAAAAАААаввадцоутпдцупдI',client-12247235,'2020-05-10','2020-07-15')
print(x)
pandas_gbq.to_gbq(x, 'YD_criteria.test', project_id='red-abstraction-21239254613',if_exists='replace', progress_bar=None)
===========
Источник:
habr.com
===========
Похожие новости:
- [API, Flask, Python] Что такое REST API
- [Информационная безопасность, Реверс-инжиниринг] Руткиты на основе BIOS. Часть 2 (перевод)
- [Python, API, Математика] Калькулятор Wolframalpha в диалоге Telegram
- [Python, Программирование, Разработка под Windows] Создание голосового ассистента на Python, часть 1
- [Программирование, Работа с 3D-графикой, Геоинформационные сервисы, Визуализация данных, Научно-популярное] Blender для (геофизического) моделирования и визуализации
- [Python, Проектирование и рефакторинг] CLI приложение + Dependency Injector — руководство по применению dependency injection + Вопросы / ответы
- [Python, Data Mining, Natural Language Processing] Обзор методов создания эмбедингов предложений, Часть2
- [Python, Data Mining, Natural Language Processing] Обзор методов создания эмбедингов предложений, Часть 1
- [Python] Выявляем признаки аудиомонтажа методами AI
- [Ненормальное программирование, Python, Управление разработкой] «Я что-то накодил и все упало»: провалы в Python-разработке на Russian Python Week 2020
Теги для поиска: #_python, #_jandeks_api (Яндекс API), #_vizualizatsija_dannyh (Визуализация данных), #_kontekstnaja_reklama (Контекстная реклама), #_jandeks_direkt (яндекс директ), #_vizualizatsija_dannyh (визуализация данных), #_data_studio, #_bigquery, #_python, #_python, #_jandeks_api (
Яндекс API
), #_vizualizatsija_dannyh (
Визуализация данных
), #_kontekstnaja_reklama (
Контекстная реклама
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 25-Ноя 10:58
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Мне, как специалисту по рекламе, требуется постоянно присматривать за клиентами. В этом мне помогает Data Studio. Однако специалистам по рекламе редко выделяют бюджеты на аналитику, поэтому приходится делать все своими руками. Что нужно сделать чтобы визуализировать Яндекс Директ в Data Studio:
Написать запрос к серверу Яндекс Директ и сложить данные в Pandas Data Frame Раньше я ковырялся с запросами и потом редактировал данные, чтобы их можно было отправить. Можете попробовать, если вам нужны тонкие настройки (Писал про это ранее тут habr.com/ru/post/445734) Для остальных есть способ намного проще — мой python-пакет yadirstat. (обзор на него habr.com/ru/post/512902). При его использовании вы вводите, токен, логин, даты и получаете готовый Data Frame, в котором ничего не нужно менять. Примерно так выглядит код: from yadirstat import yadirstat
x=yadirstat.yadirstat.campaign('FFFFFfffffFFFFggggGGGgg', 'client123123','2020-05-10','2020-07-15') print(x) Отправить данные в Google Big Query Это самый очевидный способ собирать данные для последующей визуализации в DataStudio, так как они прекрасно работают в паре Для отправки я использую пакет “pandas_gbq” Код выглядит примерно так: import pandas_gbq
pandas_gbq.to_gbq(x, 'YD_Days.test', project_id='red-abstraction-99999999',if_exists='replace', progress_bar=None) Почему данные именно перезаписываются? Потому, что статистика в директе может со временем корректироваться и, если мы новые сроки будет просто добавлять, у нас будут расхождения в статистике. Теперь проверим отправилась ли информация в Big Query. Если все прошло успешно, будет такой набор полей их типов Построить визуализацию в Data Studio на основе данных в Google Big Query Для этого можно сразу в Big Query создать запрос на получение всех данных: нажимаете “Отправить запрос к таблице”, добавляете после SELECT “*” и убираете лимит. Примерно так выглядит запрос: “SELECT * FROM `red-abstraction-239999.YD_Days.test`” В Data Studio Подключаемся к Google Big Query В изменении источника увидим следующие поля Требуется изменить следующие поля для корректной агрегации:
Зачем это делается? Рассмотрим на примере CPC Если у нас будет две строки со следующими данными:
Обычное среднее скажет, что CPC — по двум строкам 55 Поэтому, чтобы получить корректный CPC, следует поделить все расходы на все клики. В этом случае CPC получится 98,2 Просто скрываем эти поля и добавляем их аналоги:
Столбец “AvgPageviews” я вообще не использую Процент отказов — очень сложный столбец из-за того, что Яндекс использует разную статистику исходя из каких-то дополнительных данных. Если коротко, я использую формулу, именно она дает мне минимальные отклонения от того, что показывает Яндекс: % отказов = SUM(Bounce_clicks)/(SUM(Clicks)/100). где Bounce_clicks — количество отказных кликов в каждой из строк Но этот вопрос выходит за рамки этой статьи :) На данном этапе получаем следующий набор полей: Визуализируем Я делаю две страницы для каждого клиента: общая информация и информация по ключам. Начнем с первой страницы — общей информации Тут я размещаю:
Для начала в углу разместите диапазон дат, чтобы пользователи могли выбрать под себя даты: Теперь добавим график с расходами: Задаем следующие настройки: Получаем такой график Для таблицы с датами задаем такие настройки: Для таблицы с кампаниями меняем параметр “Date” на название кампаний Для дашбордов я использую сводку На выходе у меня получается такая страница со статистикой: Получаем статистику по ключевым словам: Все то же самое, только теперь запрос будет выглядеть так: import pandas_gbq
from yadirstat import yadirstat x = yadirstat.yadirstat.criteria('AgAAAAАААаввадцоутпдцупдI',client-12247235,'2020-05-10','2020-07-15') print(x) pandas_gbq.to_gbq(x, 'YD_criteria.test', project_id='red-abstraction-21239254613',if_exists='replace', progress_bar=None) =========== Источник: habr.com =========== Похожие новости:
Яндекс API ), #_vizualizatsija_dannyh ( Визуализация данных ), #_kontekstnaja_reklama ( Контекстная реклама ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 25-Ноя 10:58
Часовой пояс: UTC + 5