Dans Google Ads, un script peut surveiller la dépense de vos campagnes Performance Max, proposer un nouveau budget ou le modifier lui-même. Il ne peut pas fixer la part donnée à YouTube ou à la recherche : Google la décide. Commencez par une simple alerte, et n’autorisez les modifications qu’après des tests.
Les campagnes Performance Max diffusent vos textes, images et produits sur la recherche, YouTube, Gmail et des sites partenaires, là où Google le décide. Répartir l’argent entre ces campagnes, ou entre elles et vos annonces de recherche classiques, dépend de vos marges et de vos objectifs. Pour ajuster une valeur de conversion selon le client, la zone ou l’appareil, on utilise les règles de valeur client ; le budget, lui, fixe combien vous y consacrez. Le script applique vos hypothèses telles quelles, justes ou fausses.
Une limite passe souvent inaperçue : vous ne répartissez pas le budget d’une campagne Performance Max entre ses canaux. Google répartit lui-même la diffusion entre la recherche et ses partenaires, le Display, YouTube, Discover, Gmail et Maps, selon les objectifs et les cibles de la campagne. Les annonces tirées de votre catalogue produits ne forment pas non plus un poste de budget que le code peut plafonner. Le script agit sur le montant de la campagne, pas sur une part par canal.
Le script peut aller plus ou moins loin, du plus prudent au plus risqué.
Sur un budget sensible ou des données instables, je commence par l’alerte seule. Sur un cas répétable, encadré par des limites et qu’on sait annuler, une modification automatique peut se défendre.
Un script vous évite d’héberger un programme sur un serveur, pas de le surveiller. Il lui faut un responsable, une autorisation d’accès et un journal des actions. Il lui faut aussi une alerte en cas de panne et une façon de reprendre après une erreur. Surtout, il agit toujours au nom de la personne qui l’a autorisé.
Chaque alerte contient le contexte qui permet de la comprendre ; sinon, vous recevez un e-mail sans savoir quoi en faire.
Une alerte utile donne la valeur observée, la valeur attendue et l’écart. Elle indique aussi de quand datent les données et ce qui a changé en même temps. Google conseille de juger Performance Max sur une période plus longue qu’une journée. Parmi les causes de variation, il cite la mesure des conversions, les réglages modifiés et le fonctionnement même des enchères. Le rapport par canal ajoute des diagnostics sur la diffusion et le catalogue.
Vérifiez d’abord ce que fait le script si une donnée arrive en retard, si une campagne renvoie une erreur ou s’il tourne deux fois.
Le budget quotidien est le montant moyen que vous prévoyez de dépenser par jour. Pour la plupart des campagnes, Google peut dépenser jusqu’au double un jour donné. Sur le mois, il plafonne normalement la dépense à 30,4 fois ce budget, s’il reste inchangé.
Le jour où vous modifiez le budget, la limite du jour repose sur le montant le plus élevé saisi ce jour-là. Baisser juste après une hausse ne remet donc pas le compteur à zéro. Pour le reste du mois, Google recalcule la limite avec la dépense déjà réalisée, le dernier budget et les jours restants.
Le budget total suit une autre logique. Pour Performance Max, il se choisit seulement à la création d’une campagne datée, sur 3 à 90 jours. Il plafonne la dépense de toute la période, sans limite par jour. Le type de budget, quotidien ou total, ne se change plus après la création.
Pour déplacer de l’argent entre campagnes, calculez tous les montants avant de modifier quoi que ce soit. Leur somme doit respecter le budget global validé. Chaque campagne reçoit un minimum, un maximum et une variation maximale. Le tout part ensuite en un seul lot, qui passe en entier ou pas du tout.
Je n’autorise l’écriture que si la mesure fonctionne, que les conversions de la période sont arrivées et que rien d’important n’a changé récemment. La campagne doit aussi pouvoir diffuser, sans alerte de paiement ou de règles publicitaires. Chaque lot porte un numéro et ne produit pas deux fois le même effet s’il est relancé. Il note l’avant et l’après, prévient en cas d’échec et dispose d’un bouton d’arrêt. Pour garder le contrôle de l’automatisation, vérifiez ces protections dans les tests.
Partez du coût d’une mauvaise décision. Si un écart peut attendre votre vérification, une alerte suffit. Si vous avez trop de campagnes pour refaire le calcul, demandez une proposition chiffrée. Si la réaction doit être rapide mais la situation ambiguë, ajoutez une validation humaine. La modification sans validation se justifie seulement si les conditions d’action et d’arrêt sont testées, avec des montants plafonnés. Restaurer un budget ne récupère pas l’argent déjà dépensé.
Avant la moindre ligne de code, écrivez le cahier des charges. Il sert aussi de consigne si vous faites écrire le script par une IA.
Lancez ensuite le script en mode simulation : il calcule et note ce qu’il aurait fait, sans rien modifier. L’écriture vient après des tests qu’on peut refaire, pas après une durée d’observation choisie au hasard. Si personne ne sait expliquer le calcul et revenir à l’état précédent, restez au stade de la proposition.
Avant toute écriture, testez le calcul sur des données figées, avec les cas qui le mettent en défaut.
Partez de la perte que vous pouvez accepter, de la vitesse de dépense, du retard des statistiques et de votre temps de réaction. Une alerte toutes les heures ne protège rien si personne ne la lit avant le lendemain.
| Question | Calcul à faire | Effet sur la fréquence |
|---|---|---|
| Quelle dépense à risque pouvez-vous accepter avant d’agir ? | Dépense à risque acceptable divisée par la dépense horaire la plus forte attendue | Lancer le script plus souvent que ce délai, temps de réaction compris |
| À quoi ressemble une journée normale à cette heure ? | Dépense cumulée des mêmes jours de semaine, hors incidents et promotions | Comparer à cette courbe, pas au budget d’une journée inachevée |
| Les données seront-elles fraîches et lues ? | Retard des statistiques, présence humaine, lassitude face aux alertes | Espacer les lancements si rien de nouveau ne peut arriver entre deux |
L’écart se calcule ainsi : écart = dépense cumulée observée / dépense cumulée attendue - 1. Le modèle officiel de détection d’anomalies de Google compare lui aussi l’heure en cours aux mêmes jours de semaine passés. Il prévient que les statistiques peuvent avoir jusqu’à environ trois heures de retard. La courbe attendue tient donc compte de ce retard, de la saison et des changements de budget. Google limite par ailleurs à 30 minutes l’exécution d’un script sur un compte ; s’il est coupé, les changements déjà faits restent appliqués.
Cette partie s’adresse à la personne qui écrira le script : transmettez-la telle quelle.
AdsApp.performanceMaxCampaigns() donne l’état, les dates, la stratégie d’enchères, les statistiques et le budget des campagnes. Pour une lecture plus fine, AdsApp.search() lance une requête dans le langage de Google Ads (GAQL). Les diagnostics du catalogue et les résultats par produit relèvent d’autres ressources : ne les déduisez pas de la dépense de la campagne.
Sur un budget quotidien, setAmount() change le montant dans la devise du compte. getType() distingue DAILY de TOTAL, et getAmount() renvoie zéro pour un budget total. Une campagne Performance Max ne peut pas partager son budget. Réallouer entre deux campagnes revient donc à modifier deux budgets distincts.
Sur un budget total, l’objet propose getTotalAmount() et setTotalAmount(). L’API Google Ads accepte ce budget pour Performance Max. La référence des scripts limite pourtant encore setTotalAmount() aux campagnes vidéo. Testez en Aperçu dans le compte visé et traitez toute erreur comme bloquante.
AdsApp.mutateAll envoie un lot de modifications, avec l’option partialFailure à true par défaut. Certaines opérations peuvent alors réussir pendant que d’autres échouent. Pour un lot tout ou rien, passez-la à false ; le script doit ensuite contrôler chaque résultat et relire les budgets écrits. Pendant l’Aperçu, AdsApp.getExecutionInfo().isPreview() permet de bloquer les e-mails et les écritures dans une feuille.
Les appels search, mutate et mutateAll donnent accès à la plupart des opérations de l’API, sans clé de développeur. Les scripts gèrent aussi les groupes de composants, certains éléments d’annonce et plusieurs ciblages ; ils peuvent même créer une campagne. Chaque ressource garde ses contraintes.
Ces appels agissent sur le montant global d’une campagne Performance Max, pas sur une répartition comme « 40 % sur YouTube, 60 % sur le Réseau de Recherche ». Ils ne mesurent pas non plus ce que la campagne rapporte en plus, ce qui demande un test, et ne suppriment pas le retard des statistiques.
| Outil | Ce qu’il fait bien | Sa limite |
|---|---|---|
| Rapports de Google Ads | Budget, prévisions et rapport par canal, sans code | Aucun calcul sur mesure, ni modification coordonnée entre plusieurs campagnes |
| Règle automatique | Combiner des conditions, envoyer un e-mail, changer un budget encadré | Se lance jusqu’à deux heures après l’horaire prévu, sans priorité entre règles |
| Script Google Ads | Courbe horaire, calculs multi-campagnes, lot tout ou rien | Limite de 30 minutes, tests et entretien |
| API Google Ads | Automatiser à grande échelle, avec stockage et supervision dans votre propre système | Projet Google Cloud, autorisations, hébergement, mises à jour et sécurité à gérer |
Une règle automatique peut combiner plusieurs conditions et actions, et Google recommande des bornes minimales et maximales. Deux règles visant les mêmes éléments n’ont en revanche aucun ordre de priorité. Pour Performance Max, on crée une règle depuis l’onglet Groupes de composants ou depuis Actions groupées. Elle agit sur son groupe, mais ne répartit pas le budget entre canaux.
Pour une simple alerte par e-mail sur un seuil, la règle suffit. Passez au script pour une courbe horaire propre au compte, un calcul de marge ou un transfert de budget tout ou rien. L’API se justifie pour relier plusieurs systèmes, faire valider hors de Google Ads ou tout surveiller d’un seul endroit. Elle n’est pas plus sûre qu’un script bien conçu, et changer d’outil ne corrige pas un indicateur mal défini.
Un outil d’IA peut produire une première version du script. Il ne remplace pas la relecture d’une personne qui comprend le JavaScript, les autorisations et l’effet de chaque écriture. Donnez-lui le cahier des charges et les protections décrits plus haut : limites, lot tout ou rien, journal et bouton d’arrêt. Exigez une alerte ou une proposition avant toute modification. Chaque message doit citer la campagne, les valeurs observée et attendue, l’écart, le motif et le numéro du lot.
Faites ensuite passer au code les tests listés plus haut. Laissez-le en mode simulation jusqu’à ce que ses propositions soient expliquées et comparées aux décisions humaines. Un code produit par une IA peut être correct sur la forme et dangereux pour votre budget. Avant de le planifier, nommez la personne qui en répond et celle qui valide une écriture.
Je vous accompagne dans la mise en place, le suivi et l’optimisation de vos campagnes Google Ads.
Réserver un appel