Visualización de estadísticas de Yandex Direct con sus propias manos. De API a Data Studio

Como profesional de la publicidad, necesito cuidar constantemente a los clientes. Data Studio me ayuda con esto.

Sin embargo, los profesionales de la publicidad rara vez asignan presupuestos de análisis, por lo que debe hacerlo usted mismo.



Lo que debe hacer para visualizar Yandex Direct en Data Studio:



  1. Obtenga un token de su cuenta (para esto en la ayuda de Yandex.Direct)
  2. En Python, escriba una solicitud al servidor Yandex Direct
  3. Sumar estadísticas en Pandas Data Frame
  4. Enviar datos a Google Big Query
  5. Cree una visualización en Data Studio basada en datos en Google Big Query






Escriba una solicitud al servidor Yandex Direct y agregue los datos al marco de datos de Pandas





Solía ​​hurgar con las solicitudes y luego editar los datos para poder enviarlos. Puede intentarlo si necesita un ajuste fino (escribí sobre esto anteriormente aquí habr.com/ru/post/445734 )



Para el resto, hay una manera mucho más fácil: mi paquete de python yadirstat. (una revisión en habr.com/ru/post/512902 ). Cuando lo usa, ingresa un token, inicio de sesión, fechas y obtiene un marco de datos listo para usar, en el que no necesita cambiar nada.



El código se ve así:



from yadirstat import yadirstat
x=yadirstat.yadirstat.campaign('FFFFFfffffFFFFggggGGGgg', 'client123123','2020-05-10','2020-07-15')
print(x)




Enviar datos a Google Big Query



Esta es la forma más obvia de recopilar datos para su posterior visualización en DataStudio, ya que funcionan perfectamente en pares.



Para enviar utilizo el paquete “pandas_gbq”

El código se ve así:

import pandas_gbq
pandas_gbq.to_gbq(x, 'YD_Days.test', project_id='red-abstraction-99999999',if_exists='replace', progress_bar=None)




¿Por qué se sobrescriben los datos? Debido a que las estadísticas de la directiva se pueden ajustar con el tiempo, y si simplemente agregamos nuevos términos, tendremos discrepancias en las estadísticas.



Ahora verifiquemos si la información fue a Big Query. Si todo salió bien, habrá tal conjunto de campos de su tipo.







Cree una visualización en Data Studio basada en datos en Google Big Query





Para hacer esto, puede crear inmediatamente una consulta en Big Query para obtener todos los datos:

haga clic en “Enviar una consulta a la tabla”, agregue “*” después de SELECCIONAR y elimine el límite. La consulta tiene este aspecto: "SELECT * FROM` red-abstraction-239999.YD_Days.test`"



En Data Studio Conectando a Google Big Query









Al cambiar la fuente, veremos los siguientes campos





Se requiere cambiar los siguientes campos para una correcta agregación:



  • AvgCpc
  • Tasa de conversión
  • CostPerConversion
  • Ctr




¿Por qué se hace esto? Consideremos usar CPC como ejemplo

si tenemos dos líneas con los siguientes datos:

  • 100 clics - Costo por clic 100 rublos - Costo 10000
  • 2 clics - Costo de un clic - 10 rublos - Costo de 20 rublos


El promedio habitual diría que el CPC está en dos líneas 55

Por lo tanto, para obtener un CPC correcto, divida todos los costos por todos los clics. En este caso, el CPC será 98.2, solo



oculte estos campos y agregue sus análogos:



  • CPC = SUM (costo) / SUM (clics)
  • CTR = SUM (clics) / SUM (impresiones) * 100
  • % de conversiones = SUM (conversiones) / SUM (clics) * 100
  • Costo de conversión = SUM (costo) / SUM (conversiones)




No utilizo la columna "AvgPageviews" en absoluto. La



tasa de rebote es una columna muy compleja debido al hecho de que Yandex utiliza diferentes estadísticas basadas en algunos datos adicionales.

En resumen, utilizo la fórmula, es la que me da las desviaciones mínimas de lo que muestra Yandex:

% tasa de rebote = SUM (Bounce_clicks) / (SUM (Clicks) / 100).

donde Bounce_clicks es el número de clics rebotados en cada una de las líneas.

Pero esta pregunta está más allá del alcance de este artículo :)




En esta etapa, obtenemos el siguiente conjunto de campos:







Visualizamos



Realizo dos páginas para cada cliente: información general e información sobre claves.



Comencemos con la primera página - información general

Aquí publico:



  • Programar con gastos por día
  • Tabla con estadísticas por fecha
  • Tabla con estadísticas por campañas
  • Panel con estadísticas de ayer (clics, costo, costo por clic)




Primero, coloque un intervalo de fechas en la esquina para que los usuarios puedan elegir las fechas por sí mismos:



Ahora, agregue un programa con costos:



establezca la siguiente configuración:



Obtenga un gráfico de este tipo





Para una tabla con fechas, establezca la siguiente configuración:



Para una tabla con campañas, cambie el parámetro "Fecha" por el nombre de las campañas



Para dashboards utilizo un resumen





Como resultado , obtengo la siguiente página con estadísticas:





Obtenemos estadísticas por palabras clave:





Todo es igual, solo que ahora la solicitud se verá así:



import pandas_gbq

from yadirstat import yadirstat

x = yadirstat.yadirstat.criteria('AgAAAAI',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)



All Articles