HimeraSearchDB
Carding_EbayThief
triada
CrackerTuch
d-shop
HimeraSearchDB

НОВОСТИ Визуализация статистики Яндекс Директ своими руками. От API до Data Studio

NewsBot
Оффлайн

NewsBot

.
.
Регистрация
21.07.20
Сообщения
40.408
Реакции
1
Репутация
0
Мне, как специалисту по рекламе, требуется постоянно присматривать за клиентами. В этом мне помогает Data Studio.
Однако специалистам по рекламе редко выделяют бюджеты на аналитику, поэтому приходится делать все своими руками.

Что нужно сделать чтобы визуализировать Яндекс Директ в Data Studio:

  1. Получить токен от своего аккаунта (за этим в справку Директа)
  2. На Python Написать запрос к серверу Яндекс Директ
  3. Сложить статистику в Pandas Data Frame
  4. Отправить данные в Google Big Query
  5. Построить визуализацию в Data Studio на основе данных в Google Big Query



Написать запрос к серверу Яндекс Директ и сложить данные в Pandas Data Frame



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

Для остальных есть способ намного проще — мой python-пакет yadirstat. (обзор на него ). При его использовании вы вводите, токен, логин, даты и получаете готовый 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. Если все прошло успешно, будет такой набор полей их типов

sjytapiuc9k_wnxfmjejmigcfai.png


Построить визуализацию в Data Studio на основе данных в Google Big Query



Для этого можно сразу в Big Query создать запрос на получение всех данных:
нажимаете “Отправить запрос к таблице”, добавляете после SELECT “*” и убираете лимит. Примерно так выглядит запрос: “SELECT * FROM `red-abstraction-239999.YD_Days.test`”

В Data Studio Подключаемся к Google Big Query



klxw3n1mjkjtzlc5-hcswsr6pcg.png


В изменении источника увидим следующие поля
0p4ynsmgywohnstb7mgmmlh4d0o.png


Требуется изменить следующие поля для корректной агрегации:

  • 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 — количество отказных кликов в каждой из строк
Но этот вопрос выходит за рамки этой статьи :)


На данном этапе получаем следующий набор полей:

ogmmov8qtzmspp3hnoxezvsi9yk.png


Визуализируем


Я делаю две страницы для каждого клиента: общая информация и информация по ключам.

Начнем с первой страницы — общей информации
Тут я размещаю:

  • График с расходами по дням
  • Таблицу со статистикой в разрезе дат
  • Таблицу со статистикой в разрезе кампаний
  • Дашборд со статистикой за вчера (клики, стоимость, цена клика)


Для начала в углу разместите диапазон дат, чтобы пользователи могли выбрать под себя даты:
mv7-jwjwoun15f6ef9xdhmo-gha.png

Теперь добавим график с расходами:
lk-dpz2zmco1jjaq51q-qpx-cr0.png

Задаем следующие настройки:
fgbewerf9moz5sxhex2mdjsgtjm.png

Получаем такой график
65eb8xyqsplxxcdf3nl2o6yjr_8.png


Для таблицы с датами задаем такие настройки:
nxlxb7vnb_n61xmi11ljabyx1a4.png

Для таблицы с кампаниями меняем параметр “Date” на название кампаний

Для дашбордов я использую сводку
xbl4opd52k0d3iz4jgyza1tsnla.png


На выходе у меня получается такая страница со статистикой:
a_mjuo5kgwyw454dqp1i2w6-oia.png


Получаем статистику по ключевым словам:



Все то же самое, только теперь запрос будет выглядеть так:


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)
 
Сверху Снизу