Sie kennen das Problem bereits, wenn Sie Kampagnen mit maximaler Performance oder weitgehend passender Suchbegriffe durchführen. Google verbirgt die echten Suchanfragen. Dieses Skript holt sie zurück. Es verbindet sich direkt mit Ihrem Kundencenter, erfasst die konvertierten Suchanfragen und fügt sie in ein Google-Tabellenblatt mit berechnetem CPA und Conversion-Rate ein.
Unser Skript „So exportieren Sie leistungsstarke Google Ads-Suchbegriffe mithilfe von Apps Script in Google Tabellen“ ist ideal für Agenturen, die mehrere Kunden betreuen, oder für Vermarkter, die nicht mehr raten möchten.
Lassen Sie es uns aufschlüsseln.
Im Abschnitt „Skripte“ wird die gesamte Massenautomatisierung innerhalb von Google Ads MCC eingerichtet.
1. Melden Sie sich bei Ihrem MCC (Manager-Konto) an und gehen Sie zu Tools > Massenaktionen > Skripte
2. Klicken Sie auf die blaue Plus-Schaltfläche (+), um ein neues Skript zu erstellen
Dadurch wird der Skript-Editor geöffnet. Keine Sorge, Sie programmieren nicht von Grund auf neu. Sie fügen ein bereits geschriebenes Skript ein. Durch Klicken auf diese Schaltfläche wird ein leerer Skript-Container für Ihre Automatisierung erstellt.
Die Benennung Ihres Skripts ist für die langfristige Verwaltung und Planung von entscheidender Bedeutung.
3. Benennen Sie das Skript, damit es später leicht zu identifizieren ist
Oben im Skript-Editor-Fenster sehen Sie ein Feld, in das Sie einen Namen eingeben können. Verwenden Sie einen eindeutigen Namen wie „Bericht mit den leistungsstärksten Suchbegriffen“. So erkennen Sie das Skript später leichter wieder, wenn Sie mehrere Skripte oder Konten verwalten.
Sie können es benennen Tatsächliche Suchbegriffe mit der höchsten Leistung
und fügen Sie das Skript ein (am Ende dieses Beitrags enthalten).
Benennen Sie das Skript
4. Fügen Sie das gesamte Skript in den Editor ein
function main() {
// Ziel-URL für Google Sheet festlegen
var spreadsheetUrl = 'Hier Ihre Google Sheet-URL einfügen';
// Kontonamen abrufen, um das Sheet dynamisch zu benennen
var accountName = AdsApp.currentAccount().getName();
// Den Kontonamen zur Beschriftung des Tabs in der Tabelle verwenden
var sheetName = accountName + ' - Top-Performing-Begriffe PC 90 Tage';
// Tabelle per URL öffnen
var spreadsheet = SpreadsheetApp.openByUrl(spreadsheetUrl);
// Tabelle per Namen abrufen oder erstellen, falls noch nicht vorhanden
var sheet = spreadsheet.getSheetByName(sheetName) || spreadsheet.insertSheet(sheetName);
// Vorhandene Daten aus dem Sheet löschen
sheet.clear();
// Kopfzeile in die Tabelle schreiben
sheet.getRange('A1').setValue('Kampagnenname');
sheet.getRange('B1').setValue('Anzeigengruppenname');
sheet.getRange('C1').setValue('Suchbegriff');
sheet.getRange('D1').setValue('Conversions');
sheet.getRange('E1').setValue('Conversion-Wert');
sheet.getRange('F1').setValue('Kosten pro Conversion (CPA)');
sheet.getRange('G1').setValue('Conversion-Rate (%)');
// Benutzerdefinierten Datumsbereich für die Berichterstellung festlegen (Format: JJJJMMTT)
var startDate = '20230315';
var endDate = '20240915';
// Abfrage aus dem Bericht zur Suchanfragenleistung erstellen
var report = AdsApp.report(
"SELECT CampaignName, AdGroupName, Query, Conversions, ConversionValue, Cost, Clicks " +
"FROM SEARCH_QUERY_PERFORMANCE_REPORT " +
"WHERE Conversions > 0 " +
"DURING " + startDate + "," + endDate
);
// Berichtszeilen abrufen und Startzeile für Dateneinfügung festlegen
var rows = report.rows();
var rowNumber = 2;
// Jede Zeile des Berichts durchlaufen
while (rows.hasNext()) {
var row = rows.next();
// Suchbegriff kleinschreiben für konsistente Markenfilterung
var searchTerm = row['Query'].toLowerCase();
var conversions = parseFloat(row['Conversions']);
// Zeilen mit weniger als einer Conversion überspringen
if (Conversions < 1) weiter;
// Markenbezogene Begriffe ausschließen, um den Bericht nicht zu verfälschen
if (searchTerm.includes('parker chase') || searchTerm.includes('parker-chase') || searchTerm.includes('endeavor schools')) {
weiter;
}
// Optionaler generischer Filter – Begriffe hier hinzufügen oder entfernen
if (
searchTerm.includes('creative') ||
searchTerm.includes('learning') ||
searchTerm.includes('content')
) {
weiter;
}
// Kosten- und Klickwerte zur Leistungsberechnung extrahieren
var cost = parseFloat(row['Cost']);
var clicks = parseFloat(row['Clicks']);
// Kosten pro Conversion (CPA) berechnen
var cpa = Conversions > 0 ? Kosten / Conversions : 0;
// Conversion-Rate berechnen
var conversionRate = Klicks > 0 ? (Conversions / Klicks) * 100 : 0;
// Werte formatieren
cpa = cpa.toFixed(2);
conversionRate = conversionRate.toFixed(2);
// Zeile in die Tabelle schreiben
sheet.getRange(rowNumber, 1).setValue(row['CampaignName']);
sheet.getRange(rowNumber, 2).setValue(row['AdGroupName']);
sheet.getRange(rowNumber, 3).setValue(row['Query']);
sheet.getRange(rowNumber, 4).setValue(conversions);
sheet.getRange(rowNumber, 5).setValue(row['ConversionValue']);
sheet.getRange(rowNumber, 6).setValue('$' + cpa); // Dollarzeichen für CPA einfügen
sheet.getRange(rowNumber, 7).setValue(conversionRate + '%'); // Prozentzeichen hinzufügen
// Zur nächsten Zeile im Blatt wechseln
rowNumber++;
}
// Protokollieren, wie viele Zeilen verarbeitet wurden
Logger.log('Export abgeschlossen. Gesamtzahl der verarbeiteten Zeilen: ' + (rowNumber - 2));
}
Das Skript enthält mehrere markierte Einstellungen, die Sie vor der Ausführung anpassen können. Diese befinden sich alle in den Kommentarblöcken des Skripts und können je nach Ihren spezifischen Zielen, Ihrem Berichtsbereich oder Ihren Formatierungseinstellungen geändert werden.
Hier ist eine Aufschlüsselung dessen, was Sie ändern können und warum:
1. Tabellenkalkulations-URL
var spreadsheetUrl = 'https://docs.google.com/spreadsheets/d/xxxxx/edit';
Was es bewirkt:
Hierhin sendet das Skript Ihre Daten. Ersetzen Sie die Platzhalter-URL durch den Link zu Ihrem Google Sheet. Wenn Sie mehrere E-Mail-Adressen verwenden, stellen Sie sicher, dass das Sheet mit dem Google-Konto geteilt wird, das mit Ihrem Kundencenter verknüpft ist.
2. Datumsbereichseinstellungen
var startDate = '20230315';
var endDate = '20240915';
Was es bewirkt:
Hiermit wird das Berichtsfenster gesteuert. Datumsangaben müssen im Format JJJJMMTT angegeben werden. Sie können diese an den jeweiligen Analysezeitraum anpassen: die letzten 30 Tage, die letzten 90 Tage, benutzerdefinierte Quartalsbereiche usw.
3. Verhalten des Blattnamens
var sheetName = accountName + ' - Top-Performing-Bedingungen PC 90 Tage';
Was es bewirkt:
Diese Zeile benennt die Registerkarte „Tabelle“ dynamisch basierend auf dem Konto, auf dem das Skript ausgeführt wird. Sie können den Textteil („—Top Performing Terms PC 90 Days“) ändern, wenn Sie Berichte anders beschriften möchten. Dies ist nützlich, wenn mehrere Marken oder Unterkonten gleichzeitig ausgeführt werden.
4. Filtern von Markenbegriffen
if (searchTerm.includes('Parker Chase') || searchTerm.includes('Parker-Chase') || searchTerm.includes('Endeavour-Schulen')) {
weiter;
}
Was es bewirkt:
Dieser Abschnitt schließt alle Markenbegriffe aus Ihrem Bericht aus. Sie können diese Liste aktualisieren, indem Sie .includes()-Bedingungen hinzufügen oder entfernen. Wenn Sie beispielsweise „MyBrand“ ausschließen möchten, fügen Sie einfach Folgendes hinzu:
|| searchTerm.includes('meineMarke')
Verwenden Sie durchgängig Kleinbuchstaben, da das Skript alle Abfragen in Kleinbuchstaben umwandelt.
5. Filtern nach generischen Begriffen
if (
searchTerm.includes('kreativ') ||
searchTerm.includes('Lernen') ||
searchTerm.includes('Inhalt')
) {
weiter;
}
Was es bewirkt:
Dieser optionale Filter filtert Begriffe heraus, die nicht markenspezifisch sind, aber dennoch die Daten verfälschen, wie etwa „Lernen“ oder „Kreativ“. Sie können hier Filter hinzufügen oder entfernen, je nachdem, was Sie als Störfaktor betrachten.
6. Leistungsschwelle
wenn (Konvertierungen < 1) weiter;
Was es bewirkt:
Diese Zeile entfernt Suchanfragen ohne Conversions. Sie können diesen Schwellenwert bei Bedarf erhöhen, allerdings nur für Begriffe mit höherer Leistung. Ändern Sie ihn beispielsweise in:
wenn (Konvertierungen < 3) weiter;
...um nur Suchbegriffe mit 3+ Conversions im Datumsbereich einzuschließen.
7. Formatierung der Blattausgabe
sheet.getRange(Zeilennummer, 6).setValue('$' + cpa);
sheet.getRange(Zeilennummer, 7).setValue(Conversion-Rate + '%');
Was es bewirkt:
Hiermit steuern Sie, wie CPA und Conversion-Rate auf dem Blatt angezeigt werden. Sie können die Zeichenfolgenzusätze bearbeiten oder löschen, um Symbole (z. B. $ oder %) zu entfernen.
Sobald das Skript erfolgreich ausgeführt wurde, wird Ihr Google Sheet mit einer strukturierten Tabelle gefüllt. Jede Zeile stellt einen Suchbegriff dar, der innerhalb des angegebenen Datumsbereichs mindestens eine Conversion ausgelöst hat.
Das Google Sheet-Beispiel
Das Skript generiert eine Reihe von Performance-Spalten in Ihrem Google Sheet und bietet so einen klaren Überblick über den Beitrag jedes Suchbegriffs. Dazu gehören die Kampagnen- und Anzeigengruppennamen, um zu verfolgen, wo der Begriff ausgelöst wurde, der vom Nutzer eingegebene Suchbegriff, die Anzahl der erzielten Conversions, der Gesamt-Conversion-Wert, die durchschnittlichen Kosten pro Conversion und die Gesamt-Conversion-Rate. Jedes Feld ist entscheidend, um zu verstehen, was funktioniert und was verschwendet wird.
Kampagnenname
Name der Kampagne, in der die Anzeige ausgelöst wurde
Anzeigengruppenname
Eine Anzeigengruppe, die dem Suchbegriff entspricht
Suchbegriff
Die genaue Phrase, die der Benutzer in Google eingegeben hat
Konvertierungen
Anzahl der erfassten Conversions von diesem Begriff
Conversion-Wert
Der Gesamtwert dieser Conversions, basierend auf Ihren Kontoeinstellungen
Kosten pro Conversion (CPA)
Die durchschnittlichen Kosten für die Generierung einer Conversion aus diesem Suchbegriff
Konvertierungsrate (%)
Prozentsatz der Klicks, die zu einer Konvertierung geführt haben
Dieses Skript bildet eine solide Grundlage, kann aber je nach gewünschter Berichtstiefe noch weiter gehen. Wenn Sie mehrere Marken oder Konten unter einem Kundencenter verwalten, können Kampagnenlabels oder Filter helfen, Daten nach Marke oder Geschäftseinheit zu isolieren. Die automatische wöchentliche oder monatliche Ausführung des Skripts spart Zeit und sorgt für konsistente Berichte. Sie können eine Logik erstellen, die Warnmeldungen sendet, wenn wichtige Kennzahlen wie CPA oder Conversion-Rate bestimmte Schwellenwerte überschreiten. Für eine detailliertere Analyse können Sie dies mit anderen Berichten kombinieren. KEYWORDS_PERFORMANCE_REPORT
um Aufschlüsselungen nach Übereinstimmungstypen zu erhalten. Innerhalb des Tabellenblatts können Pivot-Tabellen oder bedingte Formatierungen schneller Erkenntnisse liefern. Und wenn Sie visuelle Darstellung wünschen, können die Daten in Looker Studio für Dashboards importiert werden, die Ihre Kunden verstehen.
Fügen Sie Kampagnenbezeichnungen oder Filter auf Kontoebene hinzu, um Daten über große Kundencenter hinweg zu segmentieren
Verwenden Sie die integrierte Planung, um Berichte wöchentlich oder monatlich zu automatisieren
Lösen Sie E-Mail-Benachrichtigungen aus, wenn der CPA einen bestimmten Wert überschreitet oder die Conversion-Rate unter einen Schwellenwert fällt
Kombinieren Sie Daten aus anderen Berichten, wie etwa KEYWORDS_PERFORMANCE_REPORT, um Übereinstimmungstypen aufzuschlüsseln
Fügen Sie grundlegende Pivot-Zusammenfassungen oder bedingte Formatierungen direkt in Tabellen hinzu
Verbinden Sie die Ausgabe mit Looker Studio für visuelle Leistungs-Dashboards
Bei Bright Vessel entwickeln wir maßgeschneiderte Automatisierungstools wie dieses für Kunden, die klare Einblicke in die Performance unübersichtlicher Werbeumgebungen benötigen. Wenn Sie es satt haben, sich durch dürftige Dashboards zu wühlen oder fünf manuelle Exporte durchzuführen, um die benötigten Daten zu erhalten, ist dieses Skript nur eine von vielen Möglichkeiten, wie wir den Prozess optimieren.
Sehen Sie sich unsere zugehörige Anleitung zum Thema „So überwachen Sie den Zielstatus von Google Ads über alle Kundencenter-Konten hinweg mithilfe von Google Sheets und Apps Script“ an, um eine weitere Methode zur Automatisierung der Nachverfolgung im großen Maßstab zu erfahren.
Benötigen Sie eine Version, die sich in Slack integrieren lässt, Looker-Dashboards erstellt oder mehrere Werbekonten in einem Mastersheet verbindet? Wir können es erstellen. Lass uns reden .
"*" kennzeichnet Pflichtfelder
"*" kennzeichnet Pflichtfelder
"*" kennzeichnet Pflichtfelder