WARDOGZ.
10 août 20264 min de lecture

Automatiser les rapports Google Ads avec l'API et Python

Découvre comment automatiser tes rapports Google Ads avec l'API et Python en 5 étapes.

Automatiser les rapports Google Ads avec l'API et Python

Pour automatiser les rapports Google Ads avec l'API en Python, configure d'abord l'accès API, puis utilise des bibliothèques comme Google Ads API Client Library pour Python. Crée un script pour extraire les données, formate-les selon tes besoins, et programme une exécution régulière avec un cron job.

Configurer l'accès à l'API Google Ads

Avant de plonger dans le code, il te faut configurer l'accès à l'API Google Ads. C'est le socle de toute automatisation. Voici comment procéder :

  1. Créer un projet Google Cloud : Connecte-toi à Google Cloud Console et crée un nouveau projet. N'oublie pas d'activer la facturation, sans quoi tu ne pourras pas utiliser l'API.
  2. Activer l'API Google Ads : Dans la bibliothèque d'APIs, recherche "Google Ads API" et active-la pour ton projet.
  3. Configurer l'écran de consentement OAuth : Va dans la section "OAuth consent screen" et configure les détails requis. Assure-toi que tout est bien renseigné, sinon tu auras des erreurs lors de la génération des tokens.
  4. Créer des identifiants API : Crée des identifiants "OAuth 2.0 Client IDs". Note bien le client ID et le client secret, tu en auras besoin pour l'authentification.
Assure-toi que ton compte Google Ads est lié au projet Google Cloud. Un oubli ici, et tu perdras beaucoup de temps à déboguer des erreurs d'authentification.

Installer et configurer Google Ads API Client Library

Passons maintenant à l'installation et la configuration de la bibliothèque client, un outil indispensable pour interagir avec l'API Google Ads en Python.

  1. Installer la bibliothèque : Ouvre ton terminal et exécute :
pip install google-ads
  1. Configurer la bibliothèque : Crée un fichier nommé google-ads.yaml à la racine de ton projet avec le contenu suivant :

developer_token: [TON_DEVELOPER_TOKEN]
client_id: [TON_CLIENT_ID]
client_secret: [TON_CLIENT_SECRET]
refresh_token: [TON_REFRESH_TOKEN]
login_customer_id: [TON_LOGIN_CUSTOMER_ID]

Remplace chaque placeholder par les valeurs obtenues lors de la configuration de l'accès API. Attention aux espaces et à l'indentation, un mauvais formatage peut entraîner des erreurs de lecture.

Écrire le script Python pour extraire les données

Écrire un script pour extraire les données est le cœur du processus. Voici une procédure étape par étape pour y parvenir :

  1. Initialiser le client API : Dans ton script Python, commence par initialiser le client API :

from google.ads.google_ads.client import GoogleAdsClient

client = GoogleAdsClient.load_from_storage('google-ads.yaml')
  1. Composer la requête : Utilise le langage de requête Google Ads pour spécifier les données que tu veux extraire. Voici un exemple de requête pour les performances de campagnes :

query = """
    SELECT
      campaign.id,
      campaign.name,
      metrics.impressions,
      metrics.clicks,
      metrics.cost_micros
    FROM
      campaign
    WHERE
      segments.date DURING LAST_7_DAYS
"""
  1. Exécuter la requête : Exécute la requête et traite les résultats :

ga_service = client.get_service("GoogleAdsService")
response = ga_service.search(customer_id='123-456-7890', query=query)

for row in response:
    print(f"Campaign ID: {row.campaign.id.value}")
    print(f"Name: {row.campaign.name.value}")
    print(f"Impressions: {row.metrics.impressions.value}")
    print(f"Clicks: {row.metrics.clicks.value}")
    print(f"Cost (micros): {row.metrics.cost_micros.value}")
Attention : les coûts sont retournés en micros, il faut les diviser par 1 000 000 pour obtenir des valeurs en unités monétaires.

Formater et enregistrer les données

Une fois les données extraites, il est souvent nécessaire de les formater avant de les sauvegarder ou de les envoyer à d'autres systèmes.

  1. Formater les données : Utilise des bibliothèques comme pandas pour transformer les données en DataFrame, ce qui facilite le traitement :

import pandas as pd

data = {
    "Campaign ID": [],
    "Name": [],
    "Impressions": [],
    "Clicks": [],
    "Cost": []
}

for row in response:
    data["Campaign ID"].append(row.campaign.id.value)
    data["Name"].append(row.campaign.name.value)
    data["Impressions"].append(row.metrics.impressions.value)
    data["Clicks"].append(row.metrics.clicks.value)
    data["Cost"].append(row.metrics.cost_micros.value / 1_000_000)

df = pd.DataFrame(data)
  1. Enregistrer les données : Enregistre les données formatées dans un fichier CSV pour les analyser plus tard :

df.to_csv('google_ads_report.csv', index=False)

Veille à valider que les données enregistrées sont complètes et exactes. Un simple regard sur la taille du fichier ou une vérification manuelle peut t'épargner des surprises lors de l'analyse.

Automatiser l'exécution du script avec un Cron Job

L'automatisation ne serait pas complète sans programmer l'exécution régulière du script. Un cron job sur un serveur Linux est idéal pour cela.

  1. Accéder au crontab : Ouvre le fichier crontab de l'utilisateur :
crontab -e
  1. Ajouter le cron job : Programme l'exécution quotidienne de ton script :
0 6 * * * /usr/bin/python3 /path/to/your/script.py

Ce cron job exécute le script tous les jours à 6h du matin. Ajuste l'horaire selon tes besoins. Assure-toi que le chemin vers Python et ton script est correct.

À retenir

  • Configure correctement l'API Google Ads avant toute manipulation.
  • Utilise la bibliothèque Google Ads API Client pour Python pour simplifier l'interaction avec l'API.
  • Teste les requêtes et vérifie les données extraites pour éviter les erreurs coûteuses.
  • Automatise l'exécution avec un cron job pour garantir la régularité des rapports.

Si tu fais face à des problèmes complexes d'automatisation ou de gestion de données, n'hésite pas à Parler à Wardogz pour un accompagnement sur-mesure.

FAQ

Questions fréquentes

Quels sont les prérequis pour utiliser l'API Google Ads en Python ?+

Tu dois avoir un compte Google Ads, activer l'API dans Google Cloud Console et installer la bibliothèque Google Ads API pour Python.

Comment sécuriser l'accès à l'API Google Ads ?+

Utilise OAuth 2.0 pour authentifier tes requêtes et assure-toi de protéger tes clés d'API.

Peut-on automatiser l'envoi des rapports par email ?+

Oui, après extraction des données, tu peux utiliser des bibliothèques Python comme smtplib pour envoyer les rapports par email.

Envie d'un système comme celui-ci ?

On conçoit et développe l'automatisation qui correspond à votre agence.

Discuter de votre projet