Google Ads Negative Keywords Automatisierung mit KI
FlowHunt automatisiert das Management von negativen Keywords in Google Ads mit KI und hilft Unternehmen, Kosten zu senken, Werbebudgets zu optimieren und Kampagnenergebnisse mühelos zu verbessern.

Ungewollte Keyword-Ausgaben verstehen
Ungewollte Keyword-Ausgaben entstehen, wenn Ihre Anzeigen in Suchergebnissen erscheinen, die nicht zu Ihrem Angebot passen. Dies kann Ihr Budget schnell aufbrauchen, da jeder irrelevante Klick Geld kostet, ohne zu einem Verkauf zu führen. Wenn beispielsweise ein Unternehmen, das hochwertige Lederschuhe verkauft, breite Keywords wie „Schuhe kaufen“ verwendet, kann es Klicks von Menschen anziehen, die an Turnschuhen oder Sandalen interessiert sind – was nicht dem Angebot entspricht. Diese Fehlausrichtung beim Keyword-Targeting führt zu verschwendeten Werbeausgaben und einem geringeren ROI. Unternehmen sollten dieses Konzept verstehen, um unnötige finanzielle Verluste zu vermeiden und ihr Budget auf die richtigen Keywords zu konzentrieren.
Die Rolle von negativen Keywords
Negative Keywords sind ein unverzichtbares Werkzeug in jeder Google Ads-Kampagne. Sie ermöglichen es Werbetreibenden, bestimmte Suchbegriffe vom Auslösen ihrer Anzeigen auszuschließen, sodass nur relevante Suchanfragen zu Anzeigenansichten führen. Beispielsweise kann die Verwendung negativer Keywords wie „billig“ oder „Rabatt“ dem Lederschuh-Unternehmen helfen, Klicks von Menschen zu vermeiden, die sich nicht für Premium-Produkte interessieren. Durch eine sorgfältig zusammengestellte Liste negativer Keywords können Unternehmen ihre Werbeausgaben optimieren, unerwünschte Klicks reduzieren und die Gesamtleistung ihrer Kampagne steigern.
KI-basiertes Keyword-Management
Künstliche Intelligenz (KI) verändert die Art und Weise, wie Werbetreibende Google Ads-Kampagnen verwalten. KI-Tools wie FlowHunt sind für die Gruppierung von Keywords konzipiert und helfen Unternehmen, verwandte Keywords effektiver zu identifizieren und zu organisieren. Diese Automatisierung vereinfacht die Suche nach positiven und negativen Keywords und reduziert den manuellen Aufwand beim Kampagnen-Management. KI-gesteuertes Keyword-Management ermöglicht Echtzeit-Anpassungen auf Basis von Leistungsdaten und stellt sicher, dass Werbebudgets kontinuierlich für den besten ROI optimiert werden.
Strategien zur Reduzierung ungewollter Keyword-Ausgaben
Um ungewollte Keyword-Ausgaben zu senken, sollten Unternehmen mehrere Strategien verfolgen:
- Aktualisieren Sie Ihre Keyword-Liste regelmäßig, um sie an sich ändernde Markttrends und Verbraucherinteressen anzupassen.
- Implementieren Sie eine starke Negative-Keyword-Strategie, indem Sie kontinuierlich recherchieren und die auszuschließenden Begriffe aktualisieren.
- Überwachen und optimieren Sie Kampagnen auf Basis von Leistungsdaten.
- Analysieren Sie, welche Keywords zu Verkäufen führen und welche nicht, um das Targeting zu verfeinern und das Werbebudget zu maximieren.
Praxisbeispiel: Der Ansatz von PostAffiliatePro
PostAffiliatePro hatte Probleme mit seinen monatlichen Werbeausgaben und erreichte den gewünschten ROI bei Google Ads-Kampagnen nicht. Sie entschieden sich, das Problem mit KI anzugehen. Durch den Einsatz KI-gestützter Tools automatisierten sie ihren Keyword-Management-Prozess und identifizierten sowohl positive als auch negative Keywords genauer. Diese Änderung ermöglichte es ihnen, ihre Werbeausgaben zu optimieren, die Kosten deutlich zu senken und die Kampagnen-Effizienz zu steigern. Ihre Erfahrung verdeutlicht die Vorteile des KI-Einsatzes für ein effektives Keyword-Management. Analysen jedes neuen Keywords laufen innerhalb einer Stunde nach dem ersten Eindruck des Keywords. Die Geschwindigkeit hilft dabei, negative Keywords zu erkennen, bevor Besucher auf die Google-Anzeige klicken können.
Weitere Ressourcen
Wer mehr über effektives Keyword-Management und KI-Optimierung erfahren möchte, findet hier weiterführende Informationen:
Google Ads Script zur Bewertung jedes neuen Keywords
Hier ist unser Skript, das wir stündlich ausführen, um Keyword-Cluster zu bewerten.
Dieses Skript automatisiert verschiedene Aufgaben rund um das Management von Google Ads-Kampagnen. Es interagiert mit Google Sheets für Konfiguration und Einstellungen, führt Operationen in Google Ads-Konten durch, wie das Analysieren von Suchbegriffen, das Hinzufügen oder Ausschließen von Keywords und die Anbindung an die FlowHunt-API für fortschrittliches KI-basiertes Keyword-Clustering.
Hauptfunktion
- Die zentrale Steuerungslogik befindet sich in der Funktion
main()
. Diese Funktion öffnet das inspreadsheetURL
angegebene Google Sheets-Dokument und ruft notwendige Konfigurationen wieapiKey
,country
,language
und andere ab. - Zunächst versucht das System, neue positive Keywords zum FlowHunt-Cluster hinzuzufügen. Gelingt dies, werden im nächsten Schritt unzugeordnete Suchbegriffe analysiert.
Keyword-Analyse
- Analyse nicht zugeordneter Wörter: Die Funktion durchläuft alle Anzeigengruppen im Ads-Konto, die mit einem bestimmten Label markiert sind. Sie ermittelt Suchbegriffe aus Google Ads, die aktuell nicht gezielt angesprochen und mindestens einmal angezeigt wurden.
- Das System nutzt die FlowHunt-API, um ähnliche Keywords zum aktuell analysierten Keyword zu finden und filtert diese anhand eines festgelegten
minimumMatch
-Kriteriums. - Suchbegriffe, die den Kriterien entsprechen, werden als positive Keywords hinzugefügt oder als negativ markiert, falls die Mindestkriterien nicht erfüllt sind. Die jeweiligen Informationen werden im Google Sheet aktualisiert und Ihre Google Ads-Kampagnen angepasst.
FlowHunt-Integration
- API-Interaktion: Das Skript verwendet die Funktion
callFlowHuntApi()
, um verschiedene Aufgaben über die FlowHunt-API auszuführen, darunter das Abrufen von Workspace-IDs und das Clustern von Keywords. - Keywords zum Cluster hinzufügen: Diese Funktion überträgt positive Keywords für das Clustering an FlowHunt, wobei sie auf Live-Suchanfragedaten aus Google Ads basieren.
- Hinzugefügte und negative Keywords werden in separaten Sheets zur Nachverfolgung und Überprüfung protokolliert.
Anwendung
Um dieses Skript einzusetzen, müssen Nutzer:
- Eine gültige Google Sheets-URL angeben und sicherstellen, dass die notwendigen Sheets („Settings“, „AddedKW“, „NegativeKW“) vorhanden sind.
- Das Google Sheet mit dem korrekten FlowHunt-API-Key, Ländercodes und weiteren Einstellungen konfigurieren.
- Sicherstellen, dass das Skript in einer Google Ads Script-Umgebung mit aktiviertem API-Zugang ausgeführt wird.
Vergessen Sie nicht, den echten Link zu Ihrem Google Sheet-Dokument einzutragen. Den Rest erledigen wir. Wir identifizieren Keywords, die zur Kampagne gehören, und automatisieren das Management der Keywords (sowohl negativ als auch positiv).
Google Ads Script zur automatischen Verwaltung negativer Keywords
//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;
}
Häufig gestellte Fragen
- Warum sind negative Keywords in Google Ads wichtig?
Negative Keywords verhindern, dass Ihre Anzeigen bei irrelevanten Suchanfragen geschaltet werden, wodurch Streuverluste reduziert und der Kampagnen-ROI verbessert wird, da sich die Anzeigen nur auf die relevantesten Suchanfragen konzentrieren.
- Wie automatisiert KI das Management von negativen Keywords?
KI-Tools wie FlowHunt analysieren Echtzeit-Suchdaten, identifizieren irrelevante Keywords und aktualisieren Ihre Kampagnen automatisch mit negativen Keywords, wodurch Zeit gespart und die Effizienz gesteigert wird.
- Welche Ergebnisse kann ich durch die Automatisierung negativer Keywords mit KI erwarten?
Erwarten Sie höhere Conversion-Raten, geringere Werbeausgaben für irrelevante Klicks und effizientere Kampagnen, da KI Ihre Keyword-Listen und das Targeting kontinuierlich optimiert.
- Wie richte ich die Automatisierung von FlowHunt für meine Google Ads ein?
Sie müssen Ihr Google Ads-Konto verbinden, Einstellungen in einem Google Sheet konfigurieren und das bereitgestellte Skript einsetzen, um das automatisierte Keyword-Management durch die KI von FlowHunt zu aktivieren.
Viktor Zeman ist Miteigentümer von QualityUnit. Auch nach 20 Jahren als Leiter des Unternehmens bleibt er in erster Linie Softwareentwickler, spezialisiert auf KI, programmatisches SEO und Backend-Entwicklung. Er hat zu zahlreichen Projekten beigetragen, darunter LiveAgent, PostAffiliatePro, FlowHunt, UrlsLab und viele andere.

Automatisieren Sie Ihre Google Ads mit KI
Bereit, Ihren Google Ads ROI zu maximieren? Entdecken Sie, wie KI-gestützte Automatisierung Ihre negativen Keywords verwaltet und den Werbebedarf optimiert.