Automatiser ses rapports Google Ads avec l’API : guide pratique

Exporter manuellement des rapports Google Ads chaque semaine, les retravailler dans Excel, les envoyer aux clients — c’est une perte de temps considérable. Avec Google Ads API, vous pouvez automatiser l’intégralité du pipeline de reporting : extraction, transformation et diffusion. Ce guide vous montre comment.

Pourquoi automatiser ses rapports via l’API ?

  • Agrégation multi-comptes : comparer des dizaines de comptes en une seule vue
  • Métriques personnalisées : calculer des KPIs métier (coût par lead qualifié, ROAS par segment)
  • Fréquence flexible : rapports horaires, journaliers, hebdomadaires
  • Intégration BI : alimenter directement BigQuery, Looker Studio, Power BI

GAQL : le langage de requête Google Ads

SELECT 
    campaign.name, metrics.impressions, metrics.clicks, metrics.cost_micros
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
    AND campaign.status = 'ENABLED'
ORDER BY metrics.cost_micros DESC

Pipeline de reporting automatisé : architecture recommandée

1. Extraction (Google Ads API → Python)

from google.ads.googleads.client import GoogleAdsClient

def get_campaign_report(client, customer_id):
    ga_service = client.get_service("GoogleAdsService")
    query = """
        SELECT campaign.name, metrics.impressions, metrics.clicks,
               metrics.cost_micros, metrics.conversions, segments.date
        FROM campaign
        WHERE segments.date DURING LAST_30_DAYS
    """
    stream = ga_service.search_stream(customer_id=customer_id, query=query)
    results = []
    for batch in stream:
        for row in batch.results:
            results.append({
                'campaign': row.campaign.name,
                'impressions': row.metrics.impressions,
                'clicks': row.metrics.clicks,
                'cost': row.metrics.cost_micros / 1_000_000,
                'conversions': row.metrics.conversions,
                'date': row.segments.date
            })
    return results

2. Stockage (BigQuery)

from google.cloud import bigquery

def export_to_bigquery(data, table_id):
    client = bigquery.Client()
    table = client.get_table(table_id)
    errors = client.insert_rows_json(table, data)
    if not errors:
        print(f"{len(data)} lignes insérées dans {table_id}")

3. Transformation (pandas)

def calculate_kpis(df):
    df['ctr'] = df['clicks'] / df['impressions'] * 100
    df['cpc'] = df['cost'] / df['clicks']
    df['cpa'] = df['cost'] / df['conversions'].replace(0, float('nan'))
    df['roas'] = df['revenue'] / df['cost']
    return df

4. Visualisation (Looker Studio / Power BI)

Connectez BigQuery directement à Looker Studio pour des dashboards actualisés automatiquement.

Rapports multi-comptes via MCC

def get_all_accounts_performance(client, manager_customer_id):
    customer_service = client.get_service("CustomerService")
    accessible_customers = customer_service.list_accessible_customers()
    all_results = []
    for customer_resource in accessible_customers.resource_names:
        customer_id = customer_resource.split('/')[-1]
        try:
            results = get_campaign_report(client, customer_id)
            for r in results:
                r['account_id'] = customer_id
            all_results.extend(results)
        except Exception as e:
            print(f"Erreur compte {customer_id}: {e}")
    return all_results

Planifier avec Cloud Scheduler

# Cloud Scheduler — tous les jours à 6h (heure de Bruxelles)
# gcloud scheduler jobs create http daily-ads-report \
#   --schedule="0 6 * * *" \
#   --uri="https://europe-west1-[PROJECT].cloudfunctions.net/google-ads-reporter" \
#   --time-zone="Europe/Brussels"

FAQ — Automatisation des rapports Google Ads

Quelle fréquence maximale pour les rapports automatisés ?

Les données Google Ads ont un délai de traitement de 3 heures minimum. Un rapport toutes les 6 heures est généralement suffisant.

Looker Studio vs Power BI ?

Looker Studio est recommandé pour sa connexion native à Google Ads et BigQuery. Power BI est préférable dans l’écosystème Microsoft.


Pour maîtriser l’ensemble de l’écosystème, consultez notre guide complet Google Ads API v24. Avant de construire vos rapports, maîtrisez les quotas et limites de l’API. Si vous débutez, suivez notre tutoriel Google Ads API avec Python. Et si vous hésitez entre Scripts et API, lisez notre comparatif Google Ads Scripts vs API.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *