Automatizácia negatívnych kľúčových slov v Google Ads pomocou AI
FlowHunt automatizuje správu negatívnych kľúčových slov v Google Ads pomocou AI, čím firmám pomáha znížiť náklady, optimalizovať rozpočet na reklamu a zlepšiť výsledky kampaní bez námahy.

Pochopenie nechcených výdavkov na kľúčové slová
Nechcené výdavky na kľúčové slová vznikajú vtedy, keď sa vaše reklamy zobrazujú vo výsledkoch vyhľadávania, ktoré nezodpovedajú tomu, čo predávate. Takéto kliknutia rýchlo vyčerpajú rozpočet, pretože každé nerelevantné kliknutie stojí peniaze bez toho, aby prinieslo predaj. Napríklad, ak spoločnosť predávajúca luxusné kožené topánky cieli na všeobecné kľúčové slová ako „kúpiť topánky“, môže prilákať ľudí, ktorí hľadajú tenisky alebo sandále, čo nie je jej ponuka. Takéto zlé zacielenie vedie k zbytočným výdavkom na reklamu a nižšiemu ROI. Firmy musia tento princíp pochopiť, aby sa vyhli zbytočným finančným stratám a sústredili rozpočet na tie správne kľúčové slová.
Úloha negatívnych kľúčových slov
Negatívne kľúčové slová sú nevyhnutnou súčasťou každej kampane Google Ads. Umožňujú inzerentom vylúčiť určité vyhľadávacie výrazy zo spúšťania ich reklám, čím zabezpečujú, že sa reklamy zobrazia iba pri relevantných dotazoch. Napríklad použitie negatívnych kľúčových slov ako „lacné“ alebo „zľava“ môže pomôcť spoločnosti s koženou obuvou vyhnúť sa kliknutiam od ľudí, ktorí nehľadajú prémiové produkty. Starostlivým vytvorením zoznamu negatívnych slov môžu firmy optimalizovať výdavky na reklamu, znížiť počet nechcených kliknutí a zvýšiť celkovú efektivitu kampane.
Využitie AI na správu kľúčových slov
Umelá inteligencia (AI) mení spôsob, akým inzerenti spravujú kampane Google Ads. AI nástroje ako FlowHunt sú navrhnuté na zoskupovanie kľúčových slov, čím firmám pomáhajú efektívnejšie identifikovať a organizovať súvisiace kľúčové slová. Táto automatizácia zjednodušuje proces hľadania pozitívnych aj negatívnych kľúčových slov a znižuje manuálnu prácu pri správe kampaní. AI riadená správa kľúčových slov umožňuje zmeny v reálnom čase na základe výkonnostných dát, čo zaručuje, že výdavky na reklamu sú neustále optimalizované pre najlepší ROI.
Stratégie na zníženie nechcených výdavkov na kľúčové slová
Aby firmy znížili nechcené výdavky na kľúčové slová, mali by prijať viacero stratégií:
- Pravidelne aktualizujte svoj zoznam kľúčových slov podľa meniacich sa trendov na trhu a záujmov zákazníkov.
- Implementujte silnú stratégiu negatívnych kľúčových slov priebežným vyhľadávaním a aktualizovaním zoznamu vylučovaných výrazov.
- Sledujte a dolaďujte kampane na základe výkonnostných dát.
- Analyzujte, ktoré kľúčové slová prinášajú predaje a ktoré nie, aby ste spresnili cielenie a maximalizovali výdavky na reklamu.
Prípadová štúdia: Prístup PostAffiliatePro
PostAffiliatePro čelil problémom s mesačnými výdavkami na reklamu a snažil sa dosiahnuť požadované ROI z kampaní Google Ads. Rozhodli sa tento problém riešiť pomocou AI. Zavedením nástrojov poháňaných AI automatizovali proces správy kľúčových slov, presnejšie identifikovali pozitívne aj negatívne slová. Táto zmena im umožnila optimalizovať výdavky na reklamu, výrazne znížiť náklady a zvýšiť efektivitu kampaní. Ich skúsenosť poukazuje na výhody využitia technológií AI pri efektívnej správe výdavkov na kľúčové slová. Analýza každého nového kľúčového slova prebieha do hodiny od jeho prvej impresie. Táto rýchlosť umožňuje zachytiť negatívne slová skôr, než na ne návštevník klikne v Google Ad.
Ďalšie zdroje
Ak sa chcete dozvedieť viac o efektívnej správe kľúčových slov a optimalizácii pomocou AI, skúste tieto zdroje:
Skript Google Ads na vyhodnotenie každého nového kľúčového slova
Tu je náš skript, ktorý spúšťame každú hodinu na vyhodnotenie zhlukov kľúčových slov.
Tento skript automatizuje viacero úloh súvisiacich so správou kampaní Google Ads. Spolupracuje s Google Sheets na konfiguráciu a nastavenia a vykonáva operácie na účtoch Google Ads, ako je analýza vyhľadávacích dopytov, pridávanie alebo vylučovanie kľúčových slov, ako aj prepojenie s FlowHunt API pre pokročilé AI zhlukovanie kľúčových slov.
Hlavná funkcia
- Hlavná riadiaca logika sa nachádza vo funkcii
main()
. Táto funkcia otvorí dokument Google Sheets zadaný vspreadsheetURL
, načíta potrebné nastavenia akoapiKey
,country
,language
a ďalšie. - Na začiatku sa systém pokúsi pridať všetky nové pozitívne kľúčové slová do FlowHunt clusteru. Ak je to úspešné, pokračuje v analýze nepriradených vyhľadávacích výrazov.
Analýza kľúčových slov
- Analýza nepriradených slov: Funkcia prechádza všetky reklamné skupiny účtu označené konkrétnym štítkom. Získa vyhľadávacie výrazy z Google Ads, ktoré nie sú aktuálne cielené a mali aspoň jednu impresiu.
- Systém využíva FlowHunt API na hľadanie podobných kľúčových slov k aktuálne analyzovanému, pričom ich filtruje na základe kritéria
minimumMatch
. - Výrazy, ktoré spĺňajú kritériá, sú pridané ako pozitívne kľúčové slová, alebo sú označené ako negatívne, ak minimálne kritériá nie sú splnené, pričom informácie sa aktualizujú v Google Sheete aj vo vašich Google Ads kampaniach.
Prepojenie s FlowHunt
- API integrácia: Skript využíva funkciu
callFlowHuntApi()
na komunikáciu s FlowHunt API pre rôzne úlohy, vrátane získania ID pracovného priestoru a zhlukovania kľúčových slov. - Pridanie kľúčových slov do clusteru: Táto funkcia posiela pozitívne kľúčové slová späť do FlowHunt na zhlukovanie, pričom vychádza z aktuálnych údajov z vyhľadávacích dopytov Google Ads.
- Pridané a negatívne kľúčové slová sú zaznamenávané do samostatných sheetov na ďalšie sledovanie a revíziu.
Použitie
Na nasadenie tohto skriptu používateľ potrebuje:
- Zadať platné URL Google Sheets a zabezpečiť prítomnosť potrebných sheetov (“Settings”, “AddedKW”, “NegativeKW”).
- Nakonfigurovať Google Sheet so správnym FlowHunt API kľúčom, kódmi krajín a ďalšími prevádzkovými nastaveniami.
- Uistiť sa, že skript je spustený v prostredí Google Ads Script s povoleným prístupom k API.
Nezabudnite nastaviť skutočný odkaz na váš dokument Google Sheet. Ostatné je naša mágia. Identifikujeme kľúčové slová, ktoré patria do kampane, a automatizujeme správu kľúčových slov (negatívnych aj pozitívnych).
Skript Google Ads na automatickú správu negatívnych kľúčových slov
//Global variables
var spreadsheetURL;
var spreadsheet;
var sheetSettings;
var sheetAddedKW;
var sheetNegativeKW;
var apiKey;
var labelName;
var country;
var language;
var location;
var urlsCount;
var minimumMatch;
var workspaceId;
function main() {
// 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();
}
}
function analyzeNotAssignedWords() {
Logger.log("*** START Checking not assigned keywords");
// Iterate through all ad groups in the account
var adGroupsIterator = AdsApp.adGroups().get();
while (adGroupsIterator.hasNext()) {
var adGroup = adGroupsIterator.next();
var groupName = 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
var searchTermsQuery = "SELECT Query FROM SEARCH_QUERY_PERFORMANCE_REPORT " +
"WHERE AdGroupId = " + adGroup.getId() +
" AND QueryTargetingStatus = \"NONE\" " +
"DURING TODAY";
var searchTermsIterator = AdsApp.report(searchTermsQuery).rows();
var adGroupKeywords = [];
while (searchTermsIterator.hasNext()) {
var searchTerm = searchTermsIterator.next();
var searchTermText = searchTerm["Query"].trim();
var similarQueries = getSimilarQueries(groupName, searchTermText)
var filteredSimilarQueries = getFilteredSimilarQueries(similarQueries);
if (filteredSimilarQueries.length > 0) {
var keywordOperation = adGroup.newKeywordBuilder().withText("[" + searchTermText + "]").build();
if (keywordOperation.isSuccessful()) {
adGroupKeywords.push(searchTermText);
var rowData = [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);
var rowData = [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");
}
function getSimilarQueries(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") {
return JSON.parse(result.result);
}
return []
}
function getFilteredSimilarQueries(similarQueries) {
filtered = [];
for (var i=1; i<similarQueries.length; i++){
if (similarQueries[i].count>=minimumMatch) {
filtered.push(similarQueries[i]);
}
}
return filtered;
}
function addPositiveKWsToCluster() {
Logger.log("*** START Checking new campaign keywords");
// Iterate through all ad groups in the account
var adGroupsIterator = AdsApp.adGroups().get();
var processedKWs = sheetAddedKW.getDataRange().getValues();
var processedKWsMap = {};
var rowsAdded = 0;
for (var i = 1; i < processedKWs.length; i++) { // Start at 1 to skip header row if exists
var groupName = processedKWs[i][0];
var keyword = processedKWs[i][1];
processedKWsMap[groupName + '|' + keyword] = true;
}
while (adGroupsIterator.hasNext()) {
var adGroup = adGroupsIterator.next();
var groupName = adGroup.getId() + " - " + adGroup.getName();
if (hasLabel(adGroup, labelName)) {
var keywordsIterator = adGroup.keywords().get();
var adGroupKeywords = [];
while (keywordsIterator.hasNext()) {
var keyword = keywordsIterator.next();
if (keyword.isEnabled()) {
var key = groupName + '|' + keyword.getText();
if (!processedKWsMap[key]) {
adGroupKeywords.push(keyword.getText());
var rowData = [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");
return rowsAdded;
}
function addKeywordsToFlowHunt(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});
}
function getSettingValue(settingName) {
var data = sheetSettings.getDataRange().getValues();
for (var i = 0; i < data.length; i++) {
if (data[i][0] === settingName) {
return data[i][1];
}
}
return null;
}
function getWorkspaceId() {
result = callFlowHuntApi("/auth/me", "GET")
if (result !== null) {
return result.api_key_workspace_id;
}
}
function callFlowHuntApi(endpoint, method, requestBody) {
var url = "https://api.flowhunt.io/v2" + endpoint;
var headers = {
"Api-Key": apiKey,
"Content-Type": "application/json"
};
var options = {
"method" : method, // or "post", "put", etc.
"headers" : headers,
"payload": JSON.stringify(requestBody)
};
try {
var response = UrlFetchApp.fetch(url, options);
var responseData = JSON.parse(response.getContentText());
Logger.log(responseData);
return responseData;
} catch (e) {
Logger.log("An error occurred: " + e.message);
}
return null;
}
function hasLabel(adGroup, labelName) {
var labels = adGroup.labels().get();
while (labels.hasNext()) {
var label = labels.next();
if (label.getName() === labelName) {
Logger.log("Processing Adgroup " + adGroup.getName());
return true;
}
}
return false;
}
Najčastejšie kladené otázky
- Prečo sú negatívne kľúčové slová v Google Ads dôležité?
Negatívne kľúčové slová zabraňujú zobrazovaniu vašich reklám pri nerelevantných vyhľadávaniach, čím znižujú zbytočné výdavky a zlepšujú ROI kampane tým, že sa zameriavajú iba na najrelevantnejšie dopyty.
- Ako AI automatizuje správu negatívnych kľúčových slov?
AI nástroje ako FlowHunt analyzujú dáta z vyhľadávania v reálnom čase, identifikujú nerelevantné kľúčové slová a automaticky aktualizujú vaše kampane o negatívne kľúčové slová, čo šetrí čas a zvyšuje efektivitu.
- Aké výsledky môžem očakávať pri automatizácii negatívnych kľúčových slov pomocou AI?
Očakávajte vyššie konverzné pomery, nižšie výdavky na reklamu za nerelevantné kliknutia a efektívnejšie kampane, keďže AI neustále optimalizuje vaše zoznamy kľúčových slov a cielenie.
- Ako si nastavím automatizáciu FlowHunt pre moje Google Ads?
Budete musieť prepojiť svoj Google Ads účet, nastaviť konfiguráciu v Google Sheete a nasadiť poskytnutý skript, aby ste povolili automatizovanú správu kľúčových slov poháňanú AI od FlowHunt.
Viktor Zeman je spolumajiteľom spoločnosti QualityUnit. Aj po 20 rokoch vedenia firmy zostáva predovšetkým softvérovým inžinierom, špecializujúcim sa na AI, programatické SEO a backendový vývoj. Prispel k množstvu projektov vrátane LiveAgent, PostAffiliatePro, FlowHunt, UrlsLab a mnohých ďalších.

Automatizujte svoje Google Ads pomocou AI
Chcete maximalizovať ROI z Google Ads? Objavte, ako automatizácia poháňaná AI spravuje vaše negatívne kľúčové slová a optimalizuje výdavky na reklamu.