
PPC KI-Agent mit Automatisierung negativer Suchanfragen
Automatisieren Sie negative Keywords in Google Ads mit dem PPC KI-Agent von FlowHunt. Schließen Sie irrelevante Suchanfragen aus, reduzieren Sie unnötige Ausgab...
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 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.
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.
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.
Um ungewollte Keyword-Ausgaben zu senken, sollten Unternehmen mehrere Strategien verfolgen:
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.
Wer mehr über effektives Keyword-Management und KI-Optimierung erfahren möchte, findet hier weiterführende Informationen:
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.
main()
. Diese Funktion öffnet das in spreadsheetURL
angegebene Google Sheets-Dokument und ruft notwendige Konfigurationen wie apiKey
, country
, language
und andere ab.minimumMatch
-Kriteriums.callFlowHuntApi()
, um verschiedene Aufgaben über die FlowHunt-API auszuführen, darunter das Abrufen von Workspace-IDs und das Clustern von Keywords.Um dieses Skript einzusetzen, müssen Nutzer:
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).
//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;
}
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.
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.
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.
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.
Bereit, Ihren Google Ads ROI zu maximieren? Entdecken Sie, wie KI-gestützte Automatisierung Ihre negativen Keywords verwaltet und den Werbebedarf optimiert.
Automatisieren Sie negative Keywords in Google Ads mit dem PPC KI-Agent von FlowHunt. Schließen Sie irrelevante Suchanfragen aus, reduzieren Sie unnötige Ausgab...
Erfahren Sie, warum die Isolierung von Suchbegriffen für die Optimierung von PPC-Anzeigen unerlässlich ist. Entdecken Sie, wie Sie leistungsstarke Suchbegriffe ...
Erstellen Sie sofort hochkonvertierende, Google Ads-konforme Überschriften mit unserem KI-gestützten Tool. Perfekt für Marketer, Agenturen und Unternehmen, die ...