Google Ads Query

Exécute une requête GAQL en lecture seule sur un compte Google Ads et renvoie les lignes

À quoi sert le node Google Ads Query ?

Le node Google Ads Query exécute une requête GAQL (Google Ads Query Language) que vous écrivez sur un compte Google Ads et renvoie les lignes. C’est l’équivalent Google Ads du node BigQuery Reader : vous choisissez la ressource, les champs, les filtres et l’ordre.

Usages courants :

  • Suivi du rythme de dépense : dépense par jour face au budget de chaque campagne
  • Dépense vs budget quotidien, pour repérer les campagnes sur le point de dépasser
  • Campagnes limitées par le budget (part d’impressions perdue)
  • Tout rapport que le node Google Ads Campaign Reports ne couvre pas
Info

GAQL est en lecture seule : le node ne fait que lire des données. Il ne modifie jamais une campagne, un budget ou une enchère.

Configuration rapide

Connecter Google Ads

Allez dans Builder → Intégrations → Google Ads et connectez le compte qui a accès au client à interroger.

Ajouter le node

Intégrations → Google → Google Ads Query.

Choisir le compte client

Sélectionnez le Compte client dans la liste. Si l’accès passe par un compte administrateur (MCC), renseignez aussi ID client de connexion avec l’ID de ce compte.

Écrire la requête

Cliquez sur Écrire la requête. Dans l’éditeur, écrivez une requête SELECT … FROM …, puis cliquez sur Valider : Google vérifie la syntaxe et les champs sans exécuter la requête (aucune donnée n’est lue). Après une modification, Enregistrer reste désactivé tant que la requête n’est pas valide.

La tester

Dans le panneau Tester avec de vraies données, renseignez une valeur d’exemple pour chaque {{variable}} puis cliquez sur Lancer le test : la requête est réellement exécutée, et vous voyez ses 100 premières lignes, le nombre total de lignes renvoyées et leur taille estimée.

Paramètres de configuration

Champs obligatoires

integration_id string required

Compte Google Ads connecté à Draft & Goal. L’intégration Google Ads par défaut de votre organisation est présélectionnée.

customer_id string required

Compte Google Ads à interroger, choisi dans la liste. Cochez Utiliser une variable pour l’ID client pour saisir une variable comme {{customerId}}. Les tirets sont acceptés (123-456-7890).

query string required

Une seule requête GAQL SELECT … FROM … en lecture seule. Utilisez des {{variables}} pour les valeurs issues des nodes précédents, par exemple segments.date BETWEEN '{{start_date}}' AND '{{end_date}}'.

Champs optionnels

login_customer_id string

ID du compte administrateur (MCC). Nécessaire uniquement quand le compte Google connecté accède au client via un compte administrateur.

mode string default: SearchStream

SearchStream renvoie toutes les lignes en un seul appel. Search pagine les résultats. Les deux renvoient les mêmes lignes.

output_format string default: json_rows

Lignes JSON : une liste d’objets, prête pour un Loop ou un LLM. Tableau : { "columns": [...], "rows": [[...]] }, prêt pour Google Sheets Writer.

Warning

Limite de volume : une requête qui renvoie plus de 20 000 lignes ou environ 10 Mo ne peut pas être enregistrée une fois qu’un test l’a montré, et échoue à l’exécution avec un message explicite. Réduisez la période, ajoutez des filtres WHERE, sélectionnez moins de champs ou ajoutez un LIMIT.

Que produit le node en sortie ?

En Lignes JSON (par défaut), un objet par ligne. Les noms de champs sont aplatis et passés en camelCase ; les préfixes metrics. et segments. sont retirés ; les champs en micros sont convertis dans la devise du compte.

[
  {
    "date": "2026-10-26",
    "campaignId": "1111111111",
    "campaignName": "Brand FR",
    "campaignBudgetAmount": 50.0,
    "cost": 48.21,
    "searchBudgetLostImpressionShare": 0.12
  }
]
campaignId string

Issu de campaign.id. Les IDs restent des chaînes.

cost number

Issu de metrics.cost_micros, divisé par 1 000 000 (devise du compte).

date string

Issu de segments.date.

En Tableau, les mêmes données sous forme de colonnes et de lignes :

{
  "columns": ["date", "campaignId", "campaignName", "cost"],
  "rows": [["2026-10-26", "1111111111", "Brand FR", 48.21]]
}

Exemples d’utilisation

Recette 1 : rythme de dépense

Dépense par jour face au budget de chaque campagne active, sur les 30 derniers jours.

SELECT
  segments.date,
  campaign.id,
  campaign.name,
  campaign_budget.id,
  campaign_budget.amount_micros,
  campaign_budget.period,
  campaign_budget.explicitly_shared,
  metrics.cost_micros,
  metrics.search_budget_lost_impression_share,
  metrics.search_budget_lost_top_impression_share
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
  AND campaign.status = 'ENABLED'
ORDER BY segments.date DESC
Google Ads Query → LLM (synthèse du rythme) → Email Sender

Recette 2 : dépense vs budget quotidien (aujourd’hui)

SELECT
  campaign.name,
  campaign_budget.amount_micros,
  metrics.cost_micros
FROM campaign
WHERE segments.date DURING TODAY
  AND campaign.status = 'ENABLED'
  AND campaign_budget.period = 'DAILY'
ORDER BY metrics.cost_micros DESC

Comparez cost à campaignBudgetAmount en aval (Code Block ou LLM) pour repérer les campagnes proches de leur budget quotidien.

Recette 3 : campagnes limitées par le budget

SELECT
  campaign.id,
  campaign.name,
  campaign_budget.amount_micros,
  metrics.cost_micros,
  metrics.search_budget_lost_impression_share
FROM campaign
WHERE segments.date DURING LAST_7_DAYS
  AND campaign.status = 'ENABLED'
  AND metrics.search_budget_lost_impression_share > 0.1
ORDER BY metrics.search_budget_lost_impression_share DESC
Google Ads Query (Tableau) → Google Sheets Writer

Dates issues d’un node précédent

SELECT campaign.name, metrics.clicks, metrics.cost_micros
FROM campaign
WHERE segments.date BETWEEN '{{start_date}}' AND '{{end_date}}'

À l’exécution, {{start_date}} et {{end_date}} prennent les valeurs des sorties des nodes précédents. Valider remplace les variables vides par des valeurs d’exemple (une date entre guillemets, 1 ailleurs). Une variable qui représente un enum, un champ ou une clause demande une valeur dans le panneau Tester avec de vraies données, utilisée par la validation comme par le test.

Mettez les variables de texte entre guillemets, par exemple campaign.name = '{{name}}' : leurs valeurs sont échappées, donc les apostrophes, guillemets et accents (Soldes d'été, ¿Año nuevo?) fonctionnent dans toutes les langues. Hors guillemets, les valeurs sont insérées telles quelles, pour les nombres, les enums et les périodes.

Bonnes pratiques

  • Filtrez toujours sur segments.date quand vous sélectionnez des métriques : sans filtre de date, Google renvoie les totaux depuis la création du compte.
  • Validez après chaque modification, puis lancez un test : le test affiche le nombre de lignes et la taille, vous savez si la requête reste sous la limite.
  • Ne sélectionnez que les champs utiles aux nodes suivants. Moins de champs, ce sont des lignes plus légères et des exécutions plus rapides.
  • Utilisez la sortie Tableau pour Google Sheets Writer, Lignes JSON pour les nodes Loop et LLM.

Problèmes courants

Enregistrer est désactivé dans l'éditeur

Cause : la requête modifiée n’a pas été validée, est invalide, ou son test a renvoyé trop de données.

Solution : cliquez sur Valider et lisez le message à côté du bouton. Si le test signale trop de lignes, réduisez la période, ajoutez des filtres ou un LIMIT.

Invalid GAQL query: Unrecognized field

Cause : un nom de champ n’existe pas ou ne peut pas être sélectionné avec cette ressource.

Solution : vérifiez le champ dans le query builder Google Ads pour la ressource de votre clause FROM.

Le compte Google connecté n'a pas accès à ce client

Cause : l’accès au client passe par un compte administrateur (MCC).

Solution : renseignez ID client de connexion avec l’ID du compte administrateur.

Renseignez une valeur d'exemple pour : start_date

Cause : le test exécute la vraie requête, et une {{variable}} n’a pas de valeur dans l’éditeur.

Solution : renseignez la variable dans le panneau Tester avec de vraies données, puis relancez le test.

Quota de l'API Google Ads épuisé

Cause : trop d’appels à l’API Google Ads en peu de temps pour ce developer token.

Solution : réessayez plus tard, ou lancez moins de requêtes en parallèle (par exemple dans un Loop).

Nodes associés