Google Ads - Negatiivisten avainsanojen automaatio tekoälyn avulla
FlowHunt automatisoi Google Ads -negatiivisten avainsanojen hallinnan tekoälyllä, auttaen yrityksiä vähentämään kustannuksia, optimoimaan mainoskulut ja parantamaan kampanjatuloksia vaivattomasti.
Turhat avainsanakulut syntyvät, kun mainoksesi näkyvät hauissa, jotka eivät vastaa tuotteitasi tai palveluitasi. Tämä voi nopeasti kuluttaa budjettiasi, sillä jokainen epäolennainen klikkaus maksaa rahaa ilman myyntiä. Esimerkiksi, jos korkealaatuisia nahkakenkiä myyvä yritys käyttää laajoja avainsanoja kuten ”osta kengät”, se saattaa saada klikkauksia ihmisiltä, jotka etsivät lenkkareita tai sandaaleja – eli tuotteita, joita he eivät tarjoa. Tällainen avainsanavalintojen epäsuhta johtaa hukkaostoksiin ja huonompaan tuottoon. Yritysten on tärkeää ymmärtää tämä ilmiö, jotta ne voivat välttää tarpeettomat taloudelliset tappiot ja keskittää budjettinsa oikeisiin avainsanoihin.
Negatiivisten avainsanojen rooli
Negatiiviset avainsanat ovat olennainen työkalu jokaisessa Google Ads -kampanjassa. Niiden avulla mainostajat voivat sulkea pois tietyt hakutermit, jotta mainokset näkyvät vain olennaisissa hauissa. Esimerkiksi negatiiviset avainsanat kuten ”halpa” tai ”alennus” auttavat nahkakenkäyritystä välttämään klikkaukset, jotka eivät liity premium-tuotteisiin. Huolellisesti laaditulla negatiivisten avainsanojen listalla yritys voi optimoida mainoskulunsa, vähentää turhia klikkauksia ja parantaa kampanjan tehoa.
Tekoälyn hyödyntäminen avainsanahallinnassa
Tekoäly (AI) muuttaa tapaa, jolla mainostajat hallitsevat Google Ads -kampanjoita. Tekoälytyökalut kuten FlowHunt on suunniteltu avainsanaryhmittelyyn, auttaen yrityksiä tunnistamaan ja järjestämään avainsanoja tehokkaammin. Tämä automaatio helpottaa sekä positiivisten että negatiivisten avainsanojen löytämistä, vähentäen manuaalista työtä kampanjoiden hallinnassa. Tekoälypohjainen avainsanahallinta mahdollistaa reaaliaikaiset muutokset tulostietojen perusteella, varmistaen että mainoskulut ovat jatkuvasti optimoituja parhaan tuoton saavuttamiseksi.
Turhien avainsanakulujen vähentämiseksi yritysten kannattaa käyttää useita strategioita:
Päivitä avainsanalista säännöllisesti vastaamaan muuttuvia markkinatrendejä ja kuluttajien kiinnostuksen kohteita.
Toteuta vahva negatiivisten avainsanojen strategia tutkimalla ja päivittämällä jatkuvasti poissuljettavien termien listaa.
Seuraa ja säädä kampanjoita tulostietojen perusteella.
Analysoi, mitkä avainsanat tuovat myyntiä ja mitkä eivät, jotta kohdennus ja mainoskulut voidaan hioa maksimoidulle tasolle.
Case: PostAffiliatePro’n ratkaisu
PostAffiliatePro kohtasi kuukausittaisten mainoskulujensa kanssa haasteita eikä saanut toivomaansa tuottoa Google Ads -kampanjoista. He päättivät hyödyntää tekoälyä ongelman ratkaisemiseksi. Ottamalla käyttöön tekoälypohjaiset työkalut, he automatisoivat avainsanahallintaprosessinsa ja tunnistivat positiiviset ja negatiiviset avainsanat aiempaa tarkemmin. Tämä mahdollisti mainoskulujen optimoinnin, leikkasi kustannuksia merkittävästi ja paransi kampanjoiden tehokkuutta. Heidän kokemuksensa korostaa tekoälyn hyötyjä avainsanakulujen hallinnassa. Jokainen uusi avainsana analysoidaan tunnin sisällä ensimmäisestä näytöstä. Nopeus auttaa poimimaan negatiiviset avainsanat ennen kuin kävijä ehtii klikata Google-mainosta.
Parantunut konversioaste (vain olennaiset haut tuovat lisää myyntiä)
Lisäresurssit
Jos haluat oppia lisää tehokkaasta avainsanahallinnasta ja tekoälyoptimoinnista, tutustu näihin resursseihin:
Google Ads -skripti jokaisen uuden avainsanan arviointiin
Tässä on skriptimme, jota ajamme joka tunti arvioidaksemme avainsanaryhmiä.
Tämä skripti pyrkii automatisoimaan useita Google Ads -kampanjoiden hallintaan liittyviä tehtäviä. Se käyttää Google Sheetiä asetusten ja konfiguraatioiden hallintaan sekä suorittaa toimintoja Google Ads -tileillä, kuten hakutermien analysointia, avainsanojen lisäämistä tai poissulkemista ja kommunikointia FlowHuntin API:n kanssa edistyneessä tekoälypohjaisessa avainsanaryhmittelyssä.
Google Sheet skriptin asetusten hallintaan
Negatiiviset avainsanat lisätään automaattisesti mainosryhmiin
Päätoiminto
Ydinohjauslogiikka löytyy main()-funktiosta. Tämä funktio avaa Google Sheets -dokumentin, jonka osoite on määritelty spreadsheetURL-muuttujassa, ja hakee tarvittavat asetukset, kuten apiKey, country, language ym.
Aluksi järjestelmä yrittää lisätä kaikki uudet positiiviset avainsanat FlowHunt-ryhmään. Jos onnistuu, siirrytään analysoimaan määrittelemättömiä hakutermejä.
Avainsana-analyysi
Analysoidaan määrittelemättömät sanat: Funktio käy läpi kaikki mainosryhmät, joilla on tietty tunniste. Se hakee Google Adsista hakutermit, joita ei vielä kohdenneta ja joilla on ollut vähintään yksi näyttökerta.
Järjestelmä käyttää FlowHunt APIa löytääkseen samankaltaisia avainsanoja analysoitavaan hakutermiin, suodattaen ne määritetyn minimumMatch-kriteerin perusteella.
Hakutermit, jotka täyttävät kriteerit, lisätään positiivisiksi avainsanoiksi tai merkitään negatiivisiksi, jos vähimmäiskriteerit eivät täyty. Tieto päivitetään Google Sheetiin ja Google Ads -kampanjoihin.
FlowHunt-integraatio
API-yhteys: Skripti käyttää callFlowHuntApi()-funktiota FlowHunt API:n kanssa kommunikointiin, mm. työtilan ID:n hakuun ja avainsanaryhmittelyyn.
Avainsanojen lisääminen ryhmään: Tämä funktio lähettää positiiviset avainsanat FlowHuntille ryhmittelyyn, hyödyntäen reaaliaikaisia hakutietoja Google Adsista.
Lisätyt ja negatiiviset avainsanat kirjataan omiin sheetteihin jatkuvaa seurantaa varten.
Käyttö
Skriptin käyttöönotto vaatii käyttäjältä:
Anna voimassa oleva Google Sheets -linkki ja varmista, että tarvittavat sheetit (“Settings”, “AddedKW”, “NegativeKW”) ovat olemassa.
Määritä Google Sheetiin oikea FlowHunt API -avain, maakoodit ja muut asetukset.
Varmista, että skriptiä ajetaan Google Ads Script -ympäristössä, jossa on tarvittavat API-oikeudet.
Lisää skripti Google Adsiin valikosta Työkalut -> Massatoiminnot -> Skriptit.
Muista asettaa oikea linkki Google Sheet -dokumenttiisi. Loput on meidän taikaa. Tunnistamme kampanjaan kuuluvat avainsanat ja automatisoimme avainsanojen hallinnan (sekä negatiiviset että positiiviset).
Google Ads -skripti negatiivisten avainsanojen automaattiseen hallintaan
//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;
}
Usein kysytyt kysymykset
Miksi negatiiviset avainsanat ovat tärkeitä Google Adsissa?
Negatiiviset avainsanat estävät mainoksiasi näkymästä epäolennaisissa hauissa, vähentäen hukkaostoksia ja parantaen kampanjan tuottoa kohdistamalla mainokset vain olennaisiin hakuihin.
Miten tekoäly automatisoi negatiivisten avainsanojen hallinnan?
Tekoälytyökalut kuten FlowHunt analysoivat reaaliaikaisia hakutietoja, tunnistavat epäolennaiset avainsanat ja päivittävät kampanjasi automaattisesti negatiivisilla avainsanoilla, säästäen aikaa ja tehostaen toimintaa.
Mitä tuloksia voin odottaa automatisoimalla negatiiviset avainsanat tekoälyllä?
Voit odottaa korkeampia konversioasteita, pienempiä mainoskuluja epäolennaisista klikeistä ja tehokkaampia kampanjoita, kun tekoäly jatkuvasti optimoi avainsanalistat ja kohdistuksen.
Miten otan FlowHuntin automaation käyttöön Google Adsissa?
Sinun tulee yhdistää Google Ads -tilisi, määrittää asetukset Google Sheetiin ja ottaa käyttöön toimitettu skripti, jotta FlowHuntin tekoälyyn perustuva avainsanahallinta aktivoituu.
Viktor Zeman on QualityUnitin osakas. Jopa 20 vuoden yrityksen johtamisen jälkeen hän on ensisijaisesti ohjelmistoinsinööri, joka on erikoistunut tekoälyyn, ohjelmalliseen hakukoneoptimointiin ja taustajärjestelmien kehittämiseen. Hän on osallistunut lukuisiin projekteihin, kuten LiveAgent, PostAffiliatePro, FlowHunt, UrlsLab ja moniin muihin.
Viktor Zeman
Toimitusjohtaja, tekoälyinsinööri
Automatisoi Google Ads -mainontasi tekoälyllä
Valmis maksimoimaan Google Ads -mainostesi tuoton? Tutustu, miten tekoälypohjainen automaatio hallitsee negatiiviset avainsanat ja optimoi mainoskulut.
Vallankumouksellinen PPC-hallinnan automaatio: Lisää konversioita ja tehosta kampanjoitasi
Opi, kuinka PPC-hallinnan automaatio ja edistyneet avainsanaoptimoinnin strategiat voivat kaksinkertaistaa konversioasteesi, vähentää mainoskuluja ja virtaviiva...
PPC AI Agent negatiivisten hakusanojen automaatiolla
Automatisoi negatiiviset hakusanat Google Adsissa FlowHuntin PPC AI Agentin avulla. Sulje pois epäolennaiset haut, vähennä hukkaan mennyttä budjettia ja paranna...
Ota käyttöön Google Keywords for Site -komponentti—automaattinen avainsanatutkimus mille tahansa verkkosivustolle tai sivulle. Nouda vaivattomasti olennaiset av...
3 min lukuaika
SEO
Automation
+3
Evästeiden Suostumus Käytämme evästeitä parantaaksemme selauskokemustasi ja analysoidaksemme liikennettämme. See our privacy policy.