Automatisation des mots-clés négatifs Google Ads avec l'IA
FlowHunt automatise la gestion des mots-clés négatifs Google Ads grâce à l’IA, aidant les entreprises à réduire les coûts, optimiser les dépenses publicitaires et améliorer les résultats des campagnes sans effort.
Google Ads
Negative Keywords
AI
Automation
PPC
Digital Marketing
Scripts
Comprendre les dépenses liées aux mots-clés non désirés
Les dépenses liées aux mots-clés non désirés surviennent lorsque vos annonces apparaissent dans des résultats de recherche qui ne correspondent pas à ce que vous vendez. Cela peut rapidement épuiser votre budget, car chaque clic non pertinent coûte de l’argent sans générer de vente. Par exemple, si une entreprise vendant des chaussures en cuir haut de gamme cible des mots-clés larges comme « acheter des chaussures », elle risque d’attirer des clics de personnes intéressées par des baskets ou des sandales, ce qui n’est pas son offre. Ce décalage dans le ciblage des mots-clés peut entraîner des dépenses publicitaires gaspillées et un ROI plus faible. Les entreprises doivent comprendre ce concept pour éviter des pertes financières inutiles et concentrer leur budget sur les bons mots-clés.
Le rôle des mots-clés négatifs
Les mots-clés négatifs sont un outil essentiel dans toute campagne Google Ads. Ils permettent aux annonceurs d’exclure certains termes de recherche qui déclencheraient leurs annonces, garantissant ainsi que seuls les résultats pertinents affichent les annonces. Par exemple, utiliser des mots-clés négatifs comme « pas cher » ou « discount » peut aider l’entreprise de chaussures en cuir à éviter les clics de personnes non intéressées par des produits haut de gamme. En élaborant soigneusement une liste de mots-clés négatifs, les entreprises peuvent optimiser leurs dépenses publicitaires, réduire les clics indésirables et améliorer l’efficacité globale de leur campagne.
Prêt à développer votre entreprise?
Commencez votre essai gratuit aujourd'hui et voyez les résultats en quelques jours.
L’intelligence artificielle (IA) transforme la façon dont les annonceurs gèrent les campagnes Google Ads. Des outils IA comme FlowHunt sont conçus pour le regroupement de mots-clés, aidant les entreprises à identifier et organiser plus efficacement les mots-clés connexes. Cette automatisation simplifie la recherche de mots-clés positifs et négatifs, réduisant la charge de travail manuelle liée à la gestion des campagnes. La gestion des mots-clés pilotée par l’IA permet d’effectuer des ajustements en temps réel selon les données de performance, garantissant une optimisation continue des dépenses publicitaires pour un ROI maximal.
Stratégies pour réduire les dépenses liées aux mots-clés non désirés
Pour réduire les dépenses inutiles sur les mots-clés, les entreprises devraient adopter plusieurs stratégies :
Mettez régulièrement à jour votre liste de mots-clés pour coller aux tendances du marché et aux intérêts des consommateurs.
Mettez en place une vraie stratégie de mots-clés négatifs en recherchant et actualisant continuellement la liste des termes à exclure.
Surveillez et ajustez vos campagnes en fonction des données de performance.
Analysez quels mots-clés génèrent des ventes ou non afin d’affiner le ciblage et maximiser vos dépenses publicitaires.
Rejoignez notre newsletter
Recevez gratuitement les derniers conseils, tendances et offres.
Étude de cas : l’approche de PostAffiliatePro
PostAffiliatePro rencontrait des difficultés avec ses dépenses publicitaires mensuelles et peinait à obtenir le ROI souhaité de ses campagnes Google Ads. Ils ont décidé d’utiliser l’IA pour résoudre ce problème. En intégrant des outils pilotés par l’IA, ils ont automatisé le processus de gestion des mots-clés, identifiant plus précisément les mots-clés positifs et négatifs. Ce changement leur a permis d’optimiser les dépenses publicitaires, de réduire considérablement les coûts et d’améliorer l’efficacité des campagnes. Leur expérience met en avant les avantages de la technologie IA pour une gestion efficace des dépenses sur les mots-clés. L’analyse de chaque nouveau mot-clé s’effectue dans l’heure suivant la première impression du mot-clé. Cette rapidité permet d’identifier les mots-clés négatifs avant que les visiteurs ne cliquent sur l’annonce Google.
Taux de conversion amélioré (seules les recherches pertinentes génèrent des ventes)
Ressources complémentaires
Pour approfondir la gestion efficace des mots-clés et l’optimisation par l’IA, explorez ces ressources :
Script Google Ads pour évaluer chaque nouveau mot-clé
Voici notre script, que nous exécutons chaque heure afin d’évaluer les clusters de mots-clés.
Ce script vise à automatiser plusieurs tâches liées à la gestion des campagnes Google Ads. Il interagit avec Google Sheets pour la configuration et les paramètres, et effectue des opérations sur les comptes Google Ads, telles que l’analyse des termes de recherche, l’ajout ou l’exclusion de mots-clés, et l’interface avec l’API FlowHunt pour un regroupement avancé des mots-clés par IA.
Google Sheet pour gérer les paramètres du script
Mots-clés négatifs appliqués automatiquement aux groupes d’annonces
Fonction principale
La logique de contrôle principale est hébergée dans la fonction main(). Cette fonction ouvre le document Google Sheets spécifié par spreadsheetURL, récupère les paramètres de configuration nécessaires comme apiKey, country, language, etc.
Le système tente d’abord d’ajouter les nouveaux mots-clés positifs au cluster FlowHunt. Si c’est un succès, il passe à l’analyse des termes de recherche non assignés.
Analyse des mots-clés
Analyse des mots non assignés : La fonction parcourt tous les groupes d’annonces du compte Ads marqués avec un libellé spécifique. Elle récupère les termes de recherche de Google Ads qui ne sont pas encore ciblés et qui ont eu au moins une impression.
Le système utilise l’API FlowHunt pour trouver des mots-clés similaires à celui analysé, filtrés selon un critère minimumMatch défini.
Les termes de recherche correspondant aux critères sont ajoutés comme mots-clés positifs ou marqués comme négatifs si les critères minimaux ne sont pas atteints, ce qui met à jour la feuille Google Sheet correspondante et vos campagnes Google Ads.
Intégration FlowHunt
Interaction API : Le script s’appuie sur la fonction callFlowHuntApi() pour interagir avec l’API FlowHunt pour diverses tâches, notamment récupérer les IDs d’espace de travail et regrouper les mots-clés.
Ajout de mots-clés au cluster : Cette fonction renvoie les mots-clés positifs à FlowHunt pour le clustering, garantissant qu’ils sont informés par les données de requêtes de recherche en direct de Google Ads.
Les mots-clés ajoutés et négatifs sont consignés dans des feuilles distinctes pour le suivi et la revue.
Utilisation
Pour déployer ce script, les utilisateurs doivent :
Fournir une URL Google Sheets valide et s’assurer que les feuilles nécessaires (“Settings”, “AddedKW”, “NegativeKW”) sont présentes.
Configurer le Google Sheets avec la clé API FlowHunt, les codes pays et autres paramètres opérationnels.
S’assurer que le script est exécuté dans l’environnement Google Ads Script avec l’accès API approprié.
Ajoutez le script à vos Google Ads dans le menu Outils -> Actions groupées -> Scripts.
N’oubliez pas de renseigner le vrai lien vers votre document Google Sheet. Le reste, c’est notre magie. Nous identifions les mots-clés qui appartiennent à la campagne et automatisons la gestion des mots-clés (négatifs ou positifs).
Script Google Ads pour gérer automatiquement les mots-clés négatifs
//Global variables
varspreadsheetURL;
varspreadsheet;
varsheetSettings;
varsheetAddedKW;
varsheetNegativeKW;
varapiKey;
varlabelName;
varcountry;
varlanguage;
varlocation;
varurlsCount;
varminimumMatch;
varworkspaceId;
functionmain() {
// Provide the Google Sheets URL here
spreadsheetURL="https://docs.google.com/spreadsheets/d/....... FULL URL TO GOOGLE SHEET";
spreadsheet=SpreadsheetApp.openByUrl(spreadsheetURL);
sheetSettings=spreadsheet.getSheetByName("Settings");
sheetAddedKW=spreadsheet.getSheetByName("AddedKW");
sheetNegativeKW=spreadsheet.getSheetByName("NegativeKW");
apiKey=getSettingValue("FlowHuntAPIkey")
labelName=getSettingValue("LabelName")
country=getSettingValue("CountryCode")
language=getSettingValue("LanguageCode")
location=getSettingValue("Location")
urlsCount=getSettingValue("TopUrlsCount")
minimumMatch=getSettingValue("MinimumMatch")
workspaceId=getWorkspaceId()
if (workspaceId.length<10) {
Logger.log("Failed to load workspace id from FlowHunt, check API key");
return;
}
Logger.log("FlowHunt WorkspaceId: "+workspaceId);
if (addPositiveKWsToCluster() ==0) {
// Analyze new keywords just if all positive keywords added already
analyzeNotAssignedWords();
}
}
functionanalyzeNotAssignedWords() {
Logger.log("*** START Checking not assigned keywords");
// Iterate through all ad groups in the account
varadGroupsIterator=AdsApp.adGroups().get();
while (adGroupsIterator.hasNext()) {
varadGroup=adGroupsIterator.next();
vargroupName=adGroup.getId() +" - "+adGroup.getName();
if (hasLabel(adGroup, labelName)) {
// Get the search terms for the current ad group ordered by clicks in the last X days
varsearchTermsQuery="SELECT Query FROM SEARCH_QUERY_PERFORMANCE_REPORT "+"WHERE AdGroupId = "+adGroup.getId() +" AND QueryTargetingStatus = \"NONE\" "+"DURING TODAY";
varsearchTermsIterator=AdsApp.report(searchTermsQuery).rows();
varadGroupKeywords= [];
while (searchTermsIterator.hasNext()) {
varsearchTerm=searchTermsIterator.next();
varsearchTermText=searchTerm["Query"].trim();
varsimilarQueries=getSimilarQueries(groupName, searchTermText)
varfilteredSimilarQueries=getFilteredSimilarQueries(similarQueries);
if (filteredSimilarQueries.length>0) {
varkeywordOperation=adGroup.newKeywordBuilder().withText("["+searchTermText+"]").build();
if (keywordOperation.isSuccessful()) {
adGroupKeywords.push(searchTermText);
varrowData= [groupName, searchTermText, new Date(), "ADDING AS POSITIVE, REVIEW!", JSON.stringify(filteredSimilarQueries)];
sheetAddedKW.appendRow(rowData);
} else {
Logger.log("Failed to add keyword as positive:"+searchTermText)
}
} else {
// add to negative
adGroup.createNegativeKeyword("["+searchTermText+"]");
Logger.log("Excluded search term in ad group '"+groupName+"': "+searchTermText);
varrowData= [groupName, "["+searchTermText+"]", new Date(), JSON.stringify(similarQueries)];
sheetNegativeKW.appendRow(rowData);
}
}
if (adGroupKeywords.length>0) {
//Add all keywords in the list to FlowHunt Cluster
addKeywordsToFlowHunt(groupName, adGroupKeywords);
}
}
}
Logger.log("*** FINISHED Checking not assigned keywords");
}
functiongetSimilarQueries(groupName, query) {
result=callFlowHuntApi("/serp/serp/cluster/query_intersections?workspace_id="+workspaceId, "POST", {
"query":query,
"country":country,
"language":language,
"location":location,
"group_name":groupName,
"live_mode":true,
"max_position":urlsCount });
Logger.log(result)
if (result.status=="SUCCESS") {
returnJSON.parse(result.result);
}
return []
}
functiongetFilteredSimilarQueries(similarQueries) {
filtered= [];
for (vari=1; i<similarQueries.length; i++){
if (similarQueries[i].count>=minimumMatch) {
filtered.push(similarQueries[i]);
}
}
returnfiltered;
}
functionaddPositiveKWsToCluster() {
Logger.log("*** START Checking new campaign keywords");
// Iterate through all ad groups in the account
varadGroupsIterator=AdsApp.adGroups().get();
varprocessedKWs=sheetAddedKW.getDataRange().getValues();
varprocessedKWsMap= {};
varrowsAdded=0;
for (vari=1; i<processedKWs.length; i++) { // Start at 1 to skip header row if exists
vargroupName=processedKWs[i][0];
varkeyword=processedKWs[i][1];
processedKWsMap[groupName+'|'+keyword] =true;
}
while (adGroupsIterator.hasNext()) {
varadGroup=adGroupsIterator.next();
vargroupName=adGroup.getId() +" - "+adGroup.getName();
if (hasLabel(adGroup, labelName)) {
varkeywordsIterator=adGroup.keywords().get();
varadGroupKeywords= [];
while (keywordsIterator.hasNext()) {
varkeyword=keywordsIterator.next();
if (keyword.isEnabled()) {
varkey=groupName+'|'+keyword.getText();
if (!processedKWsMap[key]) {
adGroupKeywords.push(keyword.getText());
varrowData= [groupName, keyword.getText(), new Date(), "Already present in campaign"];
sheetAddedKW.appendRow(rowData);
processedKWsMap[key] =true;
}
}
}
if (adGroupKeywords.length>0) {
//Add all keywords in the list to FlowHunt Cluster
addKeywordsToFlowHunt(groupName, adGroupKeywords);
} else {
Logger.log("No new keywords in Group: "+groupName);
}
rowsAdded=rowsAdded+adGroupKeywords.length }
}
Logger.log("*** FINISHED Checking new campaign keywords");
returnrowsAdded;
}
functionaddKeywordsToFlowHunt(GroupName, adGroupKeywords) {
requests= []
adGroupKeywords.forEach(function(keyword) {
requests.push(
{
"query":keyword,
"country":country,
"language":language,
"location":location,
"group_name":GroupName,
"count_urls":30 }
);
});
callFlowHuntApi("/serp/serp/cluster/add_queries?workspace_id="+workspaceId, "POST", {"requests":requests});
}
functiongetSettingValue(settingName) {
vardata=sheetSettings.getDataRange().getValues();
for (vari=0; i<data.length; i++) {
if (data[i][0] ===settingName) {
returndata[i][1];
}
}
returnnull;
}
functiongetWorkspaceId() {
result=callFlowHuntApi("/auth/me", "GET")
if (result!==null) {
returnresult.api_key_workspace_id;
}
}
functioncallFlowHuntApi(endpoint, method, requestBody) {
varurl="https://api.flowhunt.io/v2"+endpoint;
varheaders= {
"Api-Key":apiKey,
"Content-Type":"application/json" };
varoptions= {
"method":method, // or "post", "put", etc.
"headers":headers,
"payload":JSON.stringify(requestBody)
};
try {
varresponse=UrlFetchApp.fetch(url, options);
varresponseData=JSON.parse(response.getContentText());
Logger.log(responseData);
returnresponseData;
} catch (e) {
Logger.log("An error occurred: "+e.message);
}
returnnull;
}
functionhasLabel(adGroup, labelName) {
varlabels=adGroup.labels().get();
while (labels.hasNext()) {
varlabel=labels.next();
if (label.getName() ===labelName) {
Logger.log("Processing Adgroup "+adGroup.getName());
returntrue;
}
}
returnfalse;
}
Questions fréquemment posées
Les mots-clés négatifs empêchent vos annonces d'apparaître sur des recherches non pertinentes, réduisant ainsi les dépenses inutiles et améliorant le ROI des campagnes en se concentrant uniquement sur les requêtes les plus pertinentes.
Des outils IA comme FlowHunt analysent les données de recherche en temps réel, identifient les mots-clés non pertinents et mettent automatiquement à jour vos campagnes avec des mots-clés négatifs, vous faisant gagner du temps et améliorant l'efficacité.
Attendez-vous à une augmentation du taux de conversion, une réduction des dépenses sur des clics non pertinents et des campagnes plus efficaces, car l'IA optimise en continu vos listes de mots-clés et votre ciblage.
Vous devrez connecter votre compte Google Ads, configurer les paramètres dans une feuille Google Sheet et déployer le script fourni pour activer la gestion automatisée des mots-clés grâce à l'IA de FlowHunt.
Viktor Zeman est co-propriétaire de QualityUnit. Même après 20 ans à la tête de l'entreprise, il reste avant tout un ingénieur logiciel, spécialisé en IA, SEO programmatique et développement back-end. Il a contribué à de nombreux projets, dont LiveAgent, PostAffiliatePro, FlowHunt, UrlsLab et bien d'autres.
Viktor Zeman
CEO, Ingénieur IA
Automatisez vos Google Ads avec l'IA
Prêt à maximiser le ROI de vos campagnes Google Ads ? Découvrez comment l'automatisation pilotée par l'IA gère vos mots-clés négatifs et optimise vos dépenses publicitaires.
Flow of the Week #2 : L'IA Rédactrice Qui Transforme Un Mot-Clé en Article de Blog Complet
Flow of the Week #2 est le Générateur de Blog Avancé — un rédacteur IA gratuit qui prend un mot-clé et retourne un article entièrement documenté, structuré pour...
IA agentique : Le guide définitif sur l'intelligence agentique et son impact concret
IA agentique et agents IA démystifiés. Découvrez ce qu'ils sont, comment ils fonctionnent, des exemples concrets et comment les entreprises les utilisent aujour...
Simplifiez la création de contenu avec votre propre générateur d'idées de contenu IA
Dites adieu au syndrome de la page blanche et obtenez des idées de contenu personnalisées. Découvrez comment créer votre propre générateur d'idées de contenu IA...
3 min de lecture
AI
Content Creation
+4
Consentement aux Cookies Nous utilisons des cookies pour améliorer votre expérience de navigation et analyser notre trafic. See our privacy policy.