Google Ads Negatieve Zoekwoorden Automatisering met AI
FlowHunt automatiseert het beheer van negatieve zoekwoorden in Google Ads met AI, waardoor bedrijven kosten besparen, advertentie-uitgaven optimaliseren en moeiteloos betere campagneresultaten behalen.
Google Ads
Negative Keywords
AI
Automation
PPC
Digital Marketing
Scripts
Ongewenste zoekwoorduitgaven ontstaan wanneer je advertenties verschijnen bij zoekopdrachten die niet aansluiten bij wat je aanbiedt. Dit kan je budget snel uitputten, omdat elke irrelevante klik geld kost zonder tot een verkoop te leiden. Stel bijvoorbeeld dat een bedrijf dat luxe leren schoenen verkoopt brede zoekwoorden als “schoenen kopen” target; het kan dan klikken krijgen van mensen die op zoek zijn naar sneakers of sandalen, terwijl zij deze niet aanbieden. Dit verkeerde zoekwoordtargeting leidt tot verspilde advertentie-uitgaven en een lagere ROI. Bedrijven moeten dit concept begrijpen om onnodige financiële verliezen te voorkomen en hun budget te richten op de juiste zoekwoorden.
De Rol van Negatieve Zoekwoorden
Negatieve zoekwoorden zijn een essentieel hulpmiddel in elke Google Ads-campagne. Ze stellen adverteerders in staat om specifieke zoektermen uit te sluiten, zodat alleen relevante zoekopdrachten tot advertentieweergaven leiden. Bijvoorbeeld, door negatieve zoekwoorden zoals “goedkoop” of “korting” te gebruiken, kan het schoenenbedrijf klikken voorkomen van mensen die niet geïnteresseerd zijn in premium producten. Door zorgvuldig een lijst met negatieve zoekwoorden samen te stellen, kunnen bedrijven hun advertentiebudget optimaliseren, ongewenste klikken verminderen en de effectiviteit van hun campagne verhogen.
Klaar om uw bedrijf te laten groeien?
Start vandaag uw gratis proefperiode en zie binnen enkele dagen resultaten.
Kunstmatige intelligentie (AI) verandert de manier waarop adverteerders hun Google Ads-campagnes beheren. AI-tools zoals FlowHunt zijn ontworpen voor zoekwoordgroepering en helpen bedrijven om gerelateerde zoekwoorden effectiever te identificeren en organiseren. Deze automatisering vereenvoudigt het proces van het vinden van zowel positieve als negatieve zoekwoorden en vermindert het handmatige werk dat komt kijken bij campagnebeheer. AI-gestuurd zoekwoordenbeheer maakt realtime aanpassingen mogelijk op basis van prestatiegegevens, waardoor advertentie-uitgaven continu worden geoptimaliseerd voor het beste rendement op investering.
Strategieën om Ongewenste Zoekwoorduitgaven te Verminderen
Om ongewenste zoekwoorduitgaven te beperken, kunnen bedrijven verschillende strategieën toepassen:
Werk je zoekwoordenlijst regelmatig bij om in te spelen op veranderende markttrends en consumentinteresses.
Implementeer een sterke negatieve zoekwoordenstrategie door constant onderzoek te doen en de lijst met uit te sluiten termen te actualiseren.
Monitor en optimaliseer campagnes op basis van prestatiegegevens.
Analyseer welke zoekwoorden tot verkoop leiden en welke niet om je targeting te verfijnen en je advertentiebudget maximaal te benutten.
Schrijf u in voor onze nieuwsbrief
Ontvang gratis de nieuwste tips, trends en aanbiedingen.
Praktijkvoorbeeld: De Aanpak van PostAffiliatePro
PostAffiliatePro kampte met problemen in hun maandelijkse advertentie-uitgaven en slaagde er niet in het gewenste rendement uit hun Google Ads-campagnes te halen. Ze besloten AI in te zetten om dit probleem aan te pakken. Door AI-gestuurde tools te integreren, automatiseerden ze hun zoekwoordenbeheer en identificeerden ze zowel positieve als negatieve zoekwoorden nauwkeuriger. Deze verandering stelde hen in staat hun advertentie-uitgaven te optimaliseren, de kosten aanzienlijk te verlagen en de efficiëntie van hun campagnes te verbeteren. Hun ervaring benadrukt de voordelen van AI-technologie voor effectief zoekwoordbeheer. Analyses van elk nieuw zoekwoord worden binnen een uur na de eerste vertoning uitgevoerd. De snelheid helpt om negatieve zoekwoorden te onderscheppen voordat bezoekers op de Google-advertentie klikken.
Verbeterde conversieratio (alleen relevante zoekopdrachten zorgen voor meer verkopen)
Aanvullende Bronnen
Voor wie meer wil leren over effectief zoekwoordenbeheer en AI-optimalisatie, bekijk deze bronnen:
Google Ads Script om Elk Nieuw Zoekwoord te Evalueren
Hier is ons script, dat we elk uur uitvoeren om zoekwoordclusters te evalueren.
Dit script is bedoeld om verschillende taken met betrekking tot het beheer van Google Ads-campagnes te automatiseren. Het werkt samen met Google Sheets voor configuratie en instellingen en voert bewerkingen uit op Google Ads-accounts, zoals het analyseren van zoektermen, het toevoegen of uitsluiten van zoekwoorden en het koppelen met de FlowHunt API voor geavanceerde AI-zoekwoordclustering.
Google Sheet om scriptinstellingen te beheren
Negatieve zoekwoorden automatisch toegepast op advertentiegroepen
Hoofdfunctie
De belangrijkste logica bevindt zich in de main() functie. Deze functie opent het Google Sheets-document zoals gespecificeerd in spreadsheetURL en haalt de benodigde configuratie-instellingen op, zoals apiKey, country, language en andere.
Het systeem probeert eerst eventuele nieuwe positieve zoekwoorden toe te voegen aan het FlowHunt-cluster. Als dit lukt, worden niet-toegewezen zoektermen geanalyseerd.
Zoekwoordanalyse
Analyseren van Niet-toegewezen Woorden: De functie doorloopt alle advertentiegroepen in het Ads-account die zijn gemarkeerd met een specifiek label. Het haalt zoektermen op uit Google Ads die momenteel niet getarget zijn en minimaal één vertoning hebben gehad.
Het systeem gebruikt de FlowHunt API om vergelijkbare zoekwoorden te vinden bij het momenteel geanalyseerde zoekwoord, waarbij deze worden gefilterd op een gespecificeerde minimumMatch-criterium.
Zoektermen die aan de criteria voldoen, worden toegevoegd als positieve zoekwoorden of als negatieven gemarkeerd als de minimale criteria niet zijn gehaald, met een update in de relevante Google Sheet en een aanpassing in je Google Ads-campagnes.
FlowHunt-integratie
API-interactie: Het script maakt gebruik van de functie callFlowHuntApi() om met de FlowHunt API te communiceren voor verschillende taken, waaronder het ophalen van workspace-ID’s en het clusteren van zoekwoorden.
Zoekwoorden toevoegen aan cluster: Deze functie stuurt positieve zoekwoorden terug naar FlowHunt voor clustering, waarbij ze gebruik maken van live zoekopdrachtgegevens uit Google Ads.
Toegevoegde en negatieve zoekwoorden worden geregistreerd in aparte sheets voor voortdurende monitoring en evaluatie.
Gebruik
Om dit script te implementeren, moeten gebruikers:
Een geldige Google Sheets-URL opgeven en ervoor zorgen dat de benodigde sheets (“Settings”, “AddedKW”, “NegativeKW”) aanwezig zijn.
De Google Sheet configureren met de juiste FlowHunt API-sleutel, landcodes en andere operationele instellingen.
Controleren dat het script wordt uitgevoerd in een Google Ads Script-omgeving met de juiste API-toegang.
Voeg het script toe aan je Google Ads via het menu Hulpprogramma’s -> Bulkacties -> Scripts.
Vergeet niet de echte link naar je Google Sheet-document in te stellen. De rest is onze magie. Wij identificeren zoekwoorden die bij de campagne horen en automatiseren het beheer van zoekwoorden (zowel negatief als positief).
Google Ads Script om Negatieve Zoekwoorden Automatisch te Beheren
//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;
}
Veelgestelde vragen
Negatieve zoekwoorden voorkomen dat je advertenties verschijnen bij irrelevante zoekopdrachten, waardoor je verspilde uitgaven vermindert en de ROI van je campagne verbetert door je alleen te richten op de meest relevante zoekopdrachten.
AI-tools zoals FlowHunt analyseren realtime zoekgegevens, identificeren irrelevante zoekwoorden en werken je campagnes automatisch bij met negatieve zoekwoorden. Dit bespaart tijd en verhoogt de efficiëntie.
Je kunt hogere conversieratio's, minder advertentie-uitgaven aan irrelevante klikken en efficiëntere campagnes verwachten, omdat AI je zoekwoordenlijsten en targeting continu optimaliseert.
Je moet je Google Ads-account koppelen, instellingen configureren in een Google Sheet en het bijgeleverde script implementeren om geautomatiseerd zoekwoordenbeheer mogelijk te maken met de AI van FlowHunt.
Viktor Zeman is mede-eigenaar van QualityUnit. Zelfs na 20 jaar leiding te hebben gegeven aan het bedrijf, blijft hij in de eerste plaats een software engineer, gespecialiseerd in AI, programmatische SEO en backend-ontwikkeling. Hij heeft bijgedragen aan tal van projecten, waaronder LiveAgent, PostAffiliatePro, FlowHunt, UrlsLab en vele anderen.
Viktor Zeman
CEO, AI Engineer
Automatiseer je Google Ads met AI
Klaar om het maximale uit je Google Ads te halen? Ontdek hoe AI-gestuurde automatisering je negatieve zoekwoorden beheert en advertentie-uitgaven optimaliseert.
Flow van de Week #2: De AI-schrijver die één sleutelwoord omzet in een volledig blogbericht
Flow van de Week #2 is de Advanced Blog Generator — een gratis AI-schrijver die één sleutelwoord neemt en binnen 40 seconden een volledig onderzocht, SEO-gestru...
Leer hoe je AI-agenten met FlowHunt gebruikt om kernpunten en samenvattingen uit YouTube-video's te halen. Ontdek stapsgewijze instructies om contentextractie t...
Vereenvoudig Contentcreatie met Je Eigen AI Content Ideeën Generator
Versla de writer's block en krijg op maat gemaakte contentideeën. Leer hoe je je eigen AI Content Ideeën Generator bouwt met FlowHunt en genereer unieke, trendi...
3 min lezen
AI
Content Creation
+4
Cookie Toestemming We gebruiken cookies om uw browse-ervaring te verbeteren en ons verkeer te analyseren. See our privacy policy.