Un script Google Ads peut analyser chaque nuit les termes de recherche, agréger les mots récurrents (logique n-gram), repérer ceux qui cumulent du coût sans conversion et envoyer une alerte avec les candidats à la négativation. Le principe : la machine lit et signale en continu, l’humain tranche, l’auto-négativation ne se délègue qu’après un historique de précision vérifié. Ce script est l’un des outils de la gestion des requêtes, des négatifs et de l’hygiène des mots-clés Google Ads : il tient le poste, campagne après campagne, pendant que vous faites autre chose.
La routine de lecture des termes de recherche posée juste avant tient le cap : hebdomadaire au début, mensuelle ensuite. Très bien, et entre deux sessions ?
Le hors-sujet, lui, ne respecte pas votre calendrier : la requête parasite qui émerge un mardi dépense jusqu’à votre prochaine lecture, sans témoin. Vous lisez le rapport une fois par mois. Le hors-sujet dépense toutes les nuits.
Ce décalage structurel ne se résout pas en lisant plus souvent, votre temps a un coût, et cette tâche est précisément celle qu’une machine fait mieux : répétitive, définie, nocturne. C’est le cas d’école du palier 2 de l’échelle d’automatisation Google Ads posée côté mesure, le script dans le compte, sans infrastructure.
Le budget perdu n’est pas théorique : sur un compte qui tourne plusieurs campagnes en parallèle, quelques mots parasites suffisent à siphonner un budget quotidien entier sans qu’aucun signal de qualité n’alerte, les résultats agrégés du compte encaissent la perte sans jamais la nommer.
Le script complète donc l’analyse Google Ads, il ne la remplace pas. Il surveille les nouvelles requêtes, les clics, le coût et les conversions entre deux lectures humaines. Son intérêt n’est pas de produire davantage de données : il ramène en tête de liste les motifs qui dégradent le ROI, campagne après campagne, pour que l’optimisation commence par les pertes les plus répétées.
Reste à savoir quoi lui faire lire. Et c’est là que la plupart des scripts ratent leur sujet. Il n’existe pas de modèle universel à installer les yeux fermés : l’écosystème reste communautaire, alimenté par des retours de praticiens plutôt que par une doctrine unique.
Le réflexe naïf consiste à faire évaluer les requêtes une à une, il échoue deux fois : l’infini (chaque jour apporte ses formulations inédites, dont l’unicité ne dit rien) et le masqué (les seuils de confidentialité cachent une part des lignes).
La logique qui marche agrège : découper les requêtes visibles en mots et expressions (les n-grams), puis cumuler le coût et les conversions par mot. Le déplacement change tout.
« Formation pose carrelage gratuit », « carrelage gratuit récupération », « comment carreler gratuitement » : trois lignes anecdotiques, noyées dans le rapport. Agrégées : le mot « gratuit » a coûté tant, sur tant de requêtes, pour zéro conversion, un signal, net, actionnable.
La profondeur à paramétrer (minNGramLength / maxNGramLength) change ce que le script diagnostique. Un premier audit du compte se limite en général aux deux premiers niveaux, l'analyse fine au troisième vient ensuite.
| Niveau | Signal typique | Quand l’activer |
|---|---|---|
| 1-gram (mot seul) | Mots universellement parasites : « gratuit », « emploi », « formation », « définition » | Presque toujours, c’est le premier filtre, souvent le plus rentable |
| 2-gram (paire) | Couples d’intention : « avis négatif », « prix comparatif », « tuto gratuit » | Dès que les 1-grams seuls ne suffisent plus à isoler le signal |
| 3-gram (triplet) | Formulations chirurgicales : rare, mais décisif sur les comptes à fort volume et vocabulaire riche | À activer uniquement si le compte génère un volume de requêtes élevé. Le contexte compte autant que le volume : un e-commerce à catalogue large justifie le niveau 3 bien plus tôt qu'un compte de génération de leads B2B avec peu de mots-clés. |
Ce diagnostic vaut quelle que soit la stratégie d'enchères en place. Un compte piloté en enchères automatiques (maximiser les conversions, CPA cible) laisse l'algorithme choisir le trafic à capter à partir des signaux qu'il reçoit, s'il apprend sur des conversions polluées par du hors-sujet, il optimise sur un mauvais objectif sans le signaler. Le script n-gram protège autant l'enchère manuelle que l'automatisée, pour une raison différente : dans le premier cas il vous évite de payer le mauvais mot-clé, dans le second il évite à l'algorithme d'apprendre du bruit.
Commencez par les 1-grams et 2-grams : ils couvrent la quasi-totalité du hors-sujet courant.
Le hors-sujet d’un compte est rarement fait de requêtes surprenantes ; il est fait de quelques mots récurrents, quel que soit le type de campagne concerné. L’intention parasite a un vocabulaire, et le n-gram le révèle, un mot qui pollue le ciblage d’une campagne fait souvent le même dégât sur ses voisines. C’est tout le travail de fond sur les mots-clés et les requêtes Google Ads qui se rejoue ici, mais à l’échelle du mot.
Le dispositif complet tient en quatre temps :
Dans la feuille de sortie, conservez pour chaque candidat le nombre d’impressions, les clics, le coût, les conversions, la campagne, le groupe d’annonces et l’URL de la page d’arrivée. Une nouvelle requête avec beaucoup d’impressions mais aucun clic ne pose pas le même problème qu’une nouvelle formulation qui accumule les clics sans résultat. La première interroge surtout le contenu des annonces ; la seconde exige d’ouvrir la requête, l’annonce diffusée et la page.
Ajoutez les objectifs publicitaires du compte et l’annonce associée : ces deux repères relient les impressions au comportement observé avant et après le clic.
Les seuils doivent aussi refléter vos objectifs. Pour un objectif de génération de prospects, le coût acceptable se lit par rapport au CPA et à la qualité commerciale. Pour un objectif de vente, ajoutez la valeur et le ROAS. Ne mélangez pas ces objectifs dans la même règle : deux campagnes Google Ads peuvent partager le même n-gram tout en poursuivant des résultats publicitaires différents.
Vient la question que tout possesseur de script finit par poser : pourquoi ne pas le laisser négativer tout seul ? Parce qu’un n-gram n’est pas une intention, c’est un indice.
« Gratuit » est limpide ; mais « avis » ? Parasite pour l’un (les curieux qui comparent), précieux pour l’autre (les comparateurs prêts à signer, c’est exactement ce que tranche la lecture par type d’intention de recherche). « Prix » ? « Formation » : parasite chez l’artisan, cœur de métier chez l’organisme.
Un script qui négative seul sur des seuils applique une règle aveugle à des cas qui demandent un métier, et son erreur est silencieuse dans le mauvais sens : la requête rentable amputée ne remonte plus dans vos rapports, elle disparaît. L’inverse exact du problème qu’on voulait régler.
D’où la doctrine : le script signale, l’humain tranche. Et la délégation de l’action se mérite : après un trimestre d’alertes, comptez vos faux positifs. Que la gestion soit interne ou confiée à une agence, la règle ne change pas : la qualité de la décision prime sur la vitesse d’exécution. Une agence qui pousse l’automatisation trop tôt sur un compte qu’elle vient de reprendre prend le même risque qu’un annonceur en interne : les résultats des premières semaines ne disent rien de la précision réelle du signal.
Chaque décision doit laisser une trace : n-gram examiné, campagne, groupe d’annonces, conclusion et modification effectuée. Ce journal distingue les modifications de seuil du script, les modifications de ciblage et l’ajout d’un mot clé négatif. Sans cette séparation, un ROAS qui remonte ne dit pas quelle action a produit l’effet, et les prochains tests repartent sans méthode.
Cette discipline paie sur la performance globale du compte : le trafic qui arrive par des n-grams non tranchés reste sous surveillance, pas sous verdict, et c’est cette nuance que l’analyse automatique ne sait pas tenir seule.
Les candidats que vous validez partent ensuite alimenter vos listes de négatifs partagées entre campagnes, pour qu’un mot bloqué une fois le reste partout. Les ambigus restent au filtre humain tant qu’ils n’ont pas donné un signal répété. C’est la gestion quotidienne de vos négatifs qui gagne en netteté, sans surcharger vos campagnes de règles ad hoc.
Le point de vigilance du dispositif entier : il lit le même rapport que vous, la part masquée lui échappe pareillement, et la prévention de cette zone aveugle reste l’affaire de l’architecture de négatifs. Le retour sur investissement du dispositif ne se juge donc pas sur un segment isolé, qu’il soit vidéo ou sur le Réseau de Recherche : la vue d’ensemble du compte reste le niveau de décision, même quand le référencement naturel fournit un point de comparaison utile en parallèle.
Installer le script prend moins d'une heure. Le résultat dépend d'un seul réglage initial : le seuil de coût.
Avant de le planifier sur tout le compte Google Ads, appliquez une méthode de test en trois passages. Le premier vérifie l’extraction sur une campagne connue. Le deuxième compare les totaux de clics, coût et conversions avec l’analyse manuelle de la même période. Le troisième contrôle la qualité des candidats remontés et documente les modifications nécessaires. Ces tests évitent de confondre un problème de données avec un vrai signal de ciblage.
Dans l'interface Google Ads : Outils → Scripts → Nouveau script. Collez le code, puis cherchez le paramètre COST_THRESHOLD (ou son équivalent selon le modèle retenu) : c'est le seul à calibrer avant le premier lancement. Des modèles publics existent, notamment ceux maintenus par des spécialistes scripts reconnus. Ils évoluent avec le temps : vérifiez le dépôt du modèle retenu avant installation, puis au moins lors des grosses évolutions de compte.
La sortie s'écrit dans une feuille Google Sheets dont vous renseignez l'URL dans la variable SPREADSHEET_URL. Planifiez ensuite l'exécution en hebdomadaire dans l'onglet Scripts. Première alerte dans sept jours. Notez cette date de premier lancement et l’URL de sortie dans le journal : elles servent de repères pour le bilan trimestriel de précision et pour les futures modifications du modèle.
Si une agence administre plusieurs comptes, chaque client garde sa propre URL, ses objectifs et son historique de tests. Une agence qui réutilise la même feuille ou les mêmes seuils partout mélange les données, les nouvelles alertes et les modifications ; elle ne peut plus attribuer une amélioration du ROI au bon compte. Versionnez donc le réglage avant chaque nouvelle mise en production.
Oui, si vous activez le paramètre checkNegatives. Sans lui, le script remonte des mots déjà présents dans vos listes de négatifs, du bruit pur, qui érode la confiance dans les alertes et ralentit la validation manuelle.
Activez-le dès l'installation : il filtre les n-grams déjà couverts par vos listes partagées avant même de les inclure dans la sortie. Vérifiez aussi ce paramètre après toute modification de vos listes de négatifs partagées : une réorganisation de comptes ou de listes change parfois la référence que le script consulte. L’ajout d’un compte géré par une agence externe est le cas le plus fréquent de ce type de réorganisation.
Les scripts Google Ads peuvent être coupés sur les gros volumes. Sur un compte avec beaucoup de campagnes actives, le script peut s'interrompre avant d'avoir tout lu.
Le contournement standard : filtrez l'exécution par campagne ou groupe de campagnes via un paramètre de libellé ou de nom, puis tournez sur plusieurs exécutions hebdomadaires décalées. La suppression de campagnes ou de comptes de test avant l'exécution allège aussi la charge : moins de données à parcourir, moins de risque de coupure en cours de route. Les comptes qui disposent déjà d'une chaîne d'export de données vers un CRM ou un entrepôt externe peuvent contourner cette limite autrement : exporter les données de recherche via l'API Google Ads plutôt que par le script natif, puis faire tourner la logique n-gram côté entrepôt.
Cette voie par API Google Ads devient pertinente quand plusieurs comptes partagent la même méthode d’analyse. L’API centralise les nouvelles données, les objectifs et les règles de qualité ; le script natif reste plus simple pour un seul compte. Dans les deux cas, conservez la même définition du seuil afin que le changement d’outil ne fausse pas la comparaison du ROI ou du ROAS.
Non, et c'est une confusion fréquente. Le script s'appuie sur le rapport des termes de recherche, exploitable surtout pour les campagnes qui répondent à une requête tapée par un utilisateur : le réseau de recherche et ses partenaires. Performance Max donne une lecture plus partielle, moins adaptée à une logique n-gram fiable.
Le réseau Display fonctionne sur du ciblage (audiences, centres d'intérêt, placements), pas sur une requête saisie : il n'y a pas de mot à agréger, donc rien à faire lire au script sur ce canal. Une campagne Display qui gaspille du budget sur de mauvais placements se traite avec l'exclusion de placements et d'audiences, pas avec un script n-gram, deux problèmes qui se ressemblent en apparence (du budget parti sans conversion) mais qui n'ont ni le même diagnostic ni le même outil. Même logique pour les campagnes vidéo sur YouTube : le ciblage s'y fait par audience ou par placement de vidéos, pas par requête tapée, donc la même exclusion manuelle s'applique plutôt que le script.
Pour Performance Max, la limite est plus insidieuse : Google agrège la performance tous canaux confondus et peut fournir des informations de termes de recherche moins directement exploitables que sur le Réseau de Recherche classique. Le script n-gram y perd une partie de sa matière première, le signal existe, mais il est plus pauvre et plus mélangé que sur une campagne du Réseau de Recherche.
Ne détournez donc pas ce script pour analyser le comportement après une annonce vidéo. Une vidéo YouTube se contrôle avec ses placements, ses audiences, ses impressions et ses interactions ; le contenu d’une vidéo ne produit pas une liste de mots tapés comparable à celle du Réseau de Recherche. Les campagnes vidéo demandent une autre méthode et d’autres tests, même si leur objectif final rejoint celui du compte.
Les deux, à des moments différents. Une exécution globale sur l'ensemble du compte donne la vue d'ensemble hebdomadaire, c'est le réglage par défaut, celui qui alimente l'alerte de routine.
Mais un mot parasite propre à une seule campagne (un secteur, une gamme de produits, une zone géographique) se dilue dans l'agrégat global si le reste du compte est propre : le coût cumulé peut ne pas franchir le seuil d'alerte à l'échelle du compte, alors qu'il pèse lourd rapporté au budget de cette campagne seule. Filtrer l'exécution par campagne (paramètre de nom ou de label, le même mécanisme que pour contourner le timeout) restaure la précision perdue par l'agrégation trop large.
Un compte de génération de prospects, avec peu de campagnes mais un budget concentré, gagne souvent à filtrer par campagne dès le départ : le volume global ne masque presque rien, alors autant garder la granularité fine.
En pratique : lancez le script sur l'ensemble du compte par défaut. Si une campagne a un profil de requêtes très différent des autres, un budget dédié à un service annexe, une gamme premium, une audience de niche, dupliquez l'exécution en filtrant sur elle seule, avec un seuil de coût ajusté à son budget propre plutôt qu'à celui du compte entier.
Oui, et c'est l'angle que la plupart des comptes ignorent. Le même script qui liste les mots qui dépensent sans convertir révèle aussi les n-grams qui apparaissent fréquemment dans les requêtes qui ont converti. Ces mots récurrents dans les requêtes rentables sont des candidats directs à l'enchère : soit ils correspondent déjà à un mot-clé existant, soit ils signalent une opportunité non couverte. Un bon réflexe d'audit consiste à croiser cette liste avec votre ROAS par groupe d'annonces : un n-gram rentable qui n'a pas encore de mot-clé dédié part d'une preuve de conversion déjà tracée plutôt que d'une hypothèse. Ce sujet dépasse la détection du hors-sujet : il appartient à la méthode de recherche de mots-clés. Mais l'outil est le même, et le lire en double sens est un réflexe à installer.
L’optimisation du temps passé sur cette tâche tient en une règle simple : ouvrir le Google Sheet, pas l’e-mail. L'e-mail n'est qu'un déclencheur ; le tableau contient les colonnes utiles : le n-gram, le coût cumulé, le nombre de conversions, le nombre de requêtes distinctes qui le contiennent.
Trois vérifications avant toute décision, dans cet ordre, chaque étape conditionnant la suivante :
À éviter dans ces dix minutes : négativer en lot sans relire chaque ligne, même sur un signal qui semble clair. La liste hebdomadaire compte rarement plus d'une poignée de candidats, le temps de lecture se compte en minutes, pas en heures. Ouvrez la campagne Google Ads concernée, puis le groupe d’annonces : le contenu des annonces et l’URL de la page d’arrivée expliquent parfois pourquoi une requête ambiguë a généré le clic. La bonne correction peut être une annonce plus précise, une nouvelle page ou une modification du ciblage, pas nécessairement un négatif.
Si votre génération de prospects passe par un formulaire connecté à un CRM, la boucle se referme encore mieux : un n-gram qui génère des prospects de mauvaise qualité dans le CRM, même sans coût d'acquisition anormal, mérite le même traitement qu'un n-gram qui dépense sans convertir, le signal apparaît juste un cran plus loin dans le parcours. Gardez une trace de la décision prise sur chaque n-gram ambigu à cet endroit plutôt que dans un fichier séparé : la traçabilité facilite le bilan trimestriel de précision.
La question mérite d'être posée avant d'installer quoi que ce soit, plutôt qu'après. Cette page traite la question du diagnostic ; les pages sœurs sur la lecture manuelle et sur la négativation cross-campagnes couvrent l'exécution une fois la décision prise. La réponse dépend d'un seul ratio : le budget quotidien du compte face au temps de lecture hebdomadaire de la sortie.
Sur un compte qui dépense un budget modeste et déjà bien nettoyé, l'installation du script est une optimisation marginale : le hors-sujet y coûte peu, et le temps passé à lire une alerte hebdomadaire dépasse parfois le bénéfice attendu. Le calcul s'inverse dès que le compte multiplie les campagnes, les groupes d'annonces, les stratégies d'enchères en ROAS cible, ou les contributeurs qui ajoutent des mots-clés au fil de l'eau, c'est là que le hors-sujet s'accumule sans qu'aucune gestion manuelle ne le rattrape.
Le ROI se calcule sobrement : coût des requêtes écartées après validation, moins le temps d’installation et de revue. Comparez des périodes de durée similaire et notez chaque ajout de négatif. Si le ROAS progresse après plusieurs modifications simultanées, le journal vous empêche d’attribuer tout le gain au script. Les stratégies d’enchères peuvent aussi changer la diffusion ; gardez-les stables pendant les tests qui servent à mesurer le dispositif.
Plusieurs signaux indiquent qu'un compte a intérêt à installer le script maintenant, plutôt que d'attendre :
À l'inverse, un compte récent, à faible budget, avec un seul contributeur qui suit son rapport de termes de recherche chaque semaine n'a probablement rien à gagner à ajouter cette couche d'automatisation tout de suite. Le script protège un temps de gestion qui, en dessous d'un certain volume, n'était pas menacé. Les comptes qui exportent déjà leurs données via l'API vers un CRM segmenté par typologie de client ont souvent une longueur d'avance sur ce calcul : le seuil de rentabilité du script se lit directement dans les segments existants, sans audit supplémentaire.
Cette semaine : le script d’alerte n-gram, en hebdomadaire. Des modèles publics existent, l’adaptation tient dans les seuils, calibrés sur votre coût moyen par conversion.
Ce trimestre : le journal des alertes, combien de candidats, combien de vrais. Et la règle gravée d’avance, avant que la tentation n’arrive : l’action automatique ne se débloque que sur précision démontrée, catégorie par catégorie.
Découper cette validation par segments de secteur ou de gamme, plutôt que de traiter tout le compte comme un bloc homogène, accélère l’étape la plus lente : celle où l’on décide si un n-gram mérite la suppression définitive ou une seconde chance.
Une dernière optimisation, souvent oubliée : documentez chaque modification de seuil ou de paramètre du script dans le même journal que vos alertes. Un compte qui change de script sans garder trace de ses réglages précédents recommence son observation à zéro. Ces modifications valent aussi pour l’ajout d’un nouveau compte au même modèle de script : ne partez pas des réglages d’un autre compte sans les revoir, la réalité du secteur et du compte change le coût moyen d’acquisition.
Le script signale. Vous décidez. Le contenu de ce guide couvre le diagnostic et l’installation ; les pages sœurs du cocon couvrent la suppression proprement dite des mots-clés cannibalisés et le suivi des conversions en amont, pour qui veut aller plus loin que la seule détection.
On met une alerte propre, puis vous gardez la décision.
Réserver un appel