Google Ads Negative Keywords Automatisering med AI
FlowHunt automatiserer håndtering av negative søkeord i Google Ads med AI, og hjelper bedrifter å kutte kostnader, optimalisere annonsebudsjett og forbedre kampanjeresultater uten anstrengelse.
Google Ads
Negative Keywords
AI
Automation
PPC
Digital Marketing
Scripts
Uønsket søkeordforbruk oppstår når annonsene dine vises i søkeresultater som ikke samsvarer med det du selger. Dette kan raskt tømme budsjettet ditt, ettersom hvert irrelevant klikk koster penger uten å føre til et salg. For eksempel, hvis et firma som selger eksklusive skinnsko retter seg mot brede søkeord som “kjøp sko”, kan de tiltrekke klikk fra personer som er interessert i joggesko eller sandaler, som ikke er det de tilbyr. Denne feiljusteringen i søkeordmålretting kan føre til bortkastede annonsekostnader og lavere ROI. Bedrifter må forstå dette konseptet for å unngå unødvendige økonomiske tap og fokusere budsjettet på de riktige søkeordene.
Rollen til negative søkeord
Negative søkeord er et essensielt verktøy i enhver Google Ads-kampanje. De lar annonsører ekskludere spesifikke søkebegreper fra å utløse annonsene sine, slik at bare relevante søk fører til annonsevisninger. For eksempel kan bruk av negative søkeord som “billig” eller “rabatt” hjelpe skinnskofirmaet å unngå klikk fra personer som ikke er interessert i premiumprodukter. Ved å nøye utarbeide en liste over negative søkeord kan bedrifter optimalisere annonseforbruket, redusere uønskede klikk og øke kampanjens totale effektivitet.
Klar til å vokse bedriften din?
Start din gratis prøveperiode i dag og se resultater i løpet av få dager.
Kunstig intelligens (AI) endrer måten annonsører håndterer Google Ads-kampanjer på. AI-verktøy som FlowHunt er laget for søkeordgruppering, og hjelper bedrifter med å identifisere og organisere relaterte søkeord mer effektivt. Denne automatiseringen forenkler prosessen med å finne både positive og negative søkeord, og reduserer det manuelle arbeidet som kreves for å håndtere kampanjer. AI-drevet søkeordhåndtering gir mulighet for sanntidsendringer basert på resultatdata, noe som sikrer at annonseforbruket kontinuerlig optimaliseres for best mulig ROI.
Strategier for å redusere uønsket søkeordforbruk
For å kutte ned på uønsket søkeordforbruk bør bedrifter ta i bruk flere strategier:
Oppdater søkeordlisten din jevnlig for å tilpasse deg endrede markedstrender og forbrukerinteresser.
Implementer en sterk negativ søkeordstrategi ved å stadig forske på og oppdatere listen over begreper du vil ekskludere.
Overvåk og juster kampanjer basert på resultatdata.
Analyser hvilke søkeord som fører til salg og hvilke som ikke gjør det for å forbedre målretting og maksimere annonseforbruket.
Bli med i vårt nyhetsbrev
Få de siste tipsene, trendene og tilbudene gratis.
Casestudie: PostAffiliatePros tilnærming
PostAffiliatePro hadde utfordringer med sine månedlige annonseutgifter og slet med å få den ROI-en de ønsket fra Google Ads-kampanjene sine. De bestemte seg for å bruke AI for å løse dette problemet. Ved å ta i bruk AI-drevne verktøy automatiserte de søkeordhåndteringen sin og identifiserte både positive og negative søkeord mer nøyaktig. Denne endringen gjorde det mulig for dem å optimalisere annonseforbruket, redusere kostnadene betydelig og forbedre kampanjeeffektiviteten. Deres erfaring fremhever fordelene med å bruke AI-teknologi for å håndtere søkeordforbruk effektivt. Analyser av hvert nytt søkeord kjøres innen en time fra første visning av søkeordet. Hastigheten hjelper til å fange negative søkeord før besøkende kan klikke på Google-annonsen.
Forbedret konverteringsrate (bare relevante søk gir flere salg)
Ytterligere ressurser
For de som ønsker å lære mer om effektiv søkeordhåndtering og AI-optimalisering, vurder å utforske disse ressursene:
Google Ads-skript for å evaluere hvert nytt søkeord
Her er vårt skript, som vi kjører hver time for å evaluere søkeordklynger.
Dette skriptet har som mål å automatisere flere oppgaver relatert til håndtering av Google Ads-kampanjer. Det samhandler med Google Sheets for konfigurasjon og innstillinger, og utfører operasjoner på Google Ads-kontoer, som å analysere søketermer, legge til eller ekskludere søkeord, samt integrere med FlowHunt API for avansert AI-søkeordgruppering.
Google-ark for å administrere skriptinnstillinger
Negative søkeord automatisk lagt til annonsegrupper
Hovedfunksjon
Kjernelogikken ligger i funksjonen main(). Denne funksjonen åpner Google-arket angitt av spreadsheetURL, henter nødvendige konfigurasjonsinnstillinger som apiKey, country, language og andre.
Systemet forsøker først å legge til nye positive søkeord i FlowHunt-klyngen. Hvis det lykkes, fortsetter det med å analysere ikke-tildelte søketermer.
Søkeordanalyse
Analyse av ikke-tildelte ord: Funksjonen itererer gjennom alle annonsegrupper i Ads-kontoen merket med en spesifikk etikett. Den henter søketermer fra Google Ads som ikke er målrettet og som har hatt minst ett visning.
Systemet bruker FlowHunt API for å finne lignende søkeord til det som analyseres, og filtrerer dem basert på en spesifisert minimumMatch-grense.
Søketermer som oppfyller kriteriene legges til som positive søkeord eller markeres som negative hvis minimumskriteriene ikke er oppfylt. Dette oppdaterer det aktuelle Google-arket og også Google Ads-kampanjene dine.
FlowHunt-integrasjon
API-integrasjon: Skriptet benytter funksjonen callFlowHuntApi() for å samhandle med FlowHunt API for ulike oppgaver, inkludert henting av arbeidsområde-ID og gruppering av søkeord.
Legg til søkeord i klynge: Denne funksjonen sender positive søkeord tilbake til FlowHunt for gruppering, slik at de informeres av live søkespørsmål fra Google Ads.
Både la til og negative søkeord logges i egne ark for løpende sporing og gjennomgang.
Bruk
For å ta i bruk dette skriptet må brukere:
Oppgi en gyldig Google Sheets-URL og sørge for at nødvendige ark (“Settings”, “AddedKW”, “NegativeKW”) er tilstede.
Konfigurere Google-arket med riktig FlowHunt API-nøkkel, landskoder og andre driftsinnstillinger.
Sørge for at skriptet kjøres i et Google Ads Script-miljø med riktig API-tilgang aktivert.
Legg til skript i Google Ads under menyen Verktøy -> Massehandlinger -> Skript.
Ikke glem å angi den faktiske lenken til Google-arket ditt. Resten er vår magi. Vi identifiserer søkeord som tilhører kampanjen og automatiserer håndteringen av søkeord (både negative og positive).
Google Ads-skript for automatisk håndtering av negative søkeord
//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;
}
Vanlige spørsmål
Negative søkeord forhindrer at annonsene dine vises for irrelevante søk, reduserer bortkastede kostnader og forbedrer kampanjens ROI ved å fokusere kun på de mest relevante søkeordene.
AI-verktøy som FlowHunt analyserer sanntids søkedata, identifiserer irrelevante søkeord og oppdaterer automatisk kampanjene dine med negative søkeord, noe som sparer tid og øker effektiviteten.
Forvent økt konverteringsrate, reduserte annonsekostnader på irrelevante klikk og mer effektive kampanjer ettersom AI kontinuerlig optimaliserer søkeordlister og målretting.
Du må koble din Google Ads-konto, konfigurere innstillinger i et Google-ark og distribuere det medfølgende skriptet for å aktivere automatisert søkeordhåndtering drevet av FlowHunts AI.
Viktor Zeman er medeier av QualityUnit. Selv etter 20 år som leder av selskapet, er han fortsatt først og fremst en programvareingeniør, med spesialisering innen AI, programmatisk SEO og backend-utvikling. Han har bidratt til en rekke prosjekter, inkludert LiveAgent, PostAffiliatePro, FlowHunt, UrlsLab og mange flere.
Viktor Zeman
CEO, AI-ingeniør
Automatiser dine Google Ads med AI
Klar til å maksimere din Google Ads ROI? Oppdag hvordan AI-drevet automatisering håndterer dine negative søkeord og optimaliserer annonsebudsjettet.
Slik lykkes du med SEO ved hjelp av AI: Strategier for optimaliserte resultater med AI
Oppdag hvordan AI forvandler SEO ved å automatisere søkeordanalyse, innholdsoptimalisering og brukerinvolvering. Utforsk nøkkelstrategier, verktøy og fremtidige...
Analyser automatisk din konkurrents hjemmeside-URL for å oppdage deres topp rangerte nøkkelord, samle nøkkelorddata fra Google, og motta handlingsrettede anbefa...
3 min lesing
Informasjonskapselsamtykke Vi bruker informasjonskapsler for å forbedre din surfeopplevelse og analysere vår trafikk. See our privacy policy.