Visualisation des statistiques Yandex Direct de vos propres mains. De l'API à Data Studio

En tant que professionnel de la publicité, je dois constamment m'occuper des clients. Data Studio m'aide avec cela.

Cependant, les professionnels de la publicité allouent rarement des budgets d'analyse, vous devez donc le faire vous-même.



Ce que vous devez faire pour visualiser Yandex Direct dans Data Studio:



  1. Obtenez un jeton de votre compte (pour cela dans l'aide Yandex.Direct)
  2. En Python, écrivez une requête sur le serveur Yandex Direct
  3. Somme des statistiques dans la trame de données Pandas
  4. Envoyer des données à Google Big Query
  5. Créer une visualisation dans Data Studio à partir des données de Google Big Query






Écrivez une demande sur le serveur Yandex Direct et ajoutez les données à la trame de données Pandas





J'avais l'habitude de fouiller avec les demandes, puis d'éditer les données pour qu'elles puissent être envoyées. Vous pouvez essayer si vous avez besoin d'un réglage fin (j'ai écrit à ce sujet plus tôt ici habr.com/ru/post/445734 )



Pour le reste, il existe un moyen beaucoup plus simple - mon paquet python yadirstat. (revue habr.com/ru/post/512902 ). Lorsque vous l'utilisez, vous entrez un jeton, une connexion, des dates et vous obtenez un Data Frame prêt à l'emploi, dans lequel vous n'avez rien à changer.



Le code ressemble à ceci:



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




Envoyer des données à Google Big Query



C'est le moyen le plus évident de collecter des données pour une visualisation ultérieure dans DataStudio, car ils fonctionnent parfaitement par paires.



Pour l'envoi, j'utilise le package «pandas_gbq»

Le code ressemble à ceci:

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




Pourquoi les données sont-elles écrasées? Parce que les statistiques de la directive peuvent être ajustées au fil du temps et que si nous ajoutons simplement de nouveaux termes, nous aurons des divergences dans les statistiques.



Voyons maintenant si les informations sont allées à Big Query. Si tout s'est bien passé, il y aura un tel ensemble de champs de leurs types







Créer une visualisation dans Data Studio à partir des données de Google Big Query





Pour ce faire, vous pouvez immédiatement créer une requête dans Big Query pour récupérer toutes les données:

cliquez sur «Envoyer une requête à la table», ajoutez «*» après SELECT et supprimez la limite. La requête ressemble à ceci: "SELECT * FROM` red-abstraction-239999.YD_Days.test`"



Dans Data Studio Connexion à Google Big Query









En changeant la source, nous verrons les champs suivants





Il est nécessaire de modifier les champs suivants pour une agrégation correcte:



  • AvgCpc
  • Taux de conversion
  • CostPerConversion
  • Ctr




Pourquoi est-ce fait? Considérons l'utilisation du CPC comme exemple

Si nous avons deux lignes avec les données suivantes:

  • 100 clics - Coût par clic 100 roubles - Coût 10000
  • 2 clics - Coût d'un clic - 10 roubles - Coût de 20 roubles


La moyenne habituelle indique que le CPC est sur deux lignes 55

Par conséquent, pour obtenir un CPC correct, divisez tous les coûts par tous les clics. Dans ce cas, le CPC sera 98,2, il suffit de



masquer ces champs et d'ajouter leurs analogues:



  • CPC = SUM (Coût) / SUM (Clics)
  • CTR = SOMME (Clics) / SOMME (Impressions) * 100
  • % conversions = SUM (Conversions) / SUM (Clics) x 100
  • Coût de conversion = SUM (coût) / SUM (conversions)




Je n'utilise pas du tout la colonne "AvgPageviews". Le



taux de rebond est une colonne très complexe en raison du fait que Yandex utilise des statistiques différentes basées sur des données supplémentaires.

Bref, j'utilise la formule, c'est elle qui me donne les écarts minimums par rapport à ce que montre Yandex:

% taux de rebond = SOMME (Bounce_clicks) / (SUM (Clicks) / 100).

où Bounce_clicks est le nombre de clics rebondis dans chacune des lignes

Mais cette question dépasse le cadre de cet article :)




À ce stade, nous obtenons l'ensemble de champs suivant:







Nous visualisons



Je fais deux pages pour chaque client: informations générales et informations sur les clés.



Commençons par la première page - informations générales

Ici, je poste:



  • Horaire avec dépenses par jour
  • Tableau avec statistiques par date
  • Tableau avec statistiques par campagne
  • Tableau de bord avec statistiques d'hier (clics, coût, coût par clic)




Tout d'abord, placez une plage de dates dans le coin afin que les utilisateurs puissent choisir des dates pour eux-mêmes:



Maintenant, ajoutez un calendrier avec des coûts: définissez les paramètres



suivants:



obtenez un tel graphique





Pour un tableau avec des dates, définissez les paramètres suivants:



pour un tableau avec des campagnes, remplacez le paramètre "Date" par le nom des campagnes



Pour tableaux de bord J'utilise un résumé





, j'obtiens la page suivante avec les statistiques





Nous obtenons des statistiques pour les mots-clés:





Tout est pareil, ce n'est que maintenant que la demande ressemblera à ceci:



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