AdWords-Skripte – suchen, finden und zum Laufen bringen

Beitrag aus Ausgabe 66 / Juni 2017
SEA
Thomas Grübel

ist Geschäftsführer und Inhaber von InBiz Online Marketing und berät Unternehmen und Agenturen hinsichtlich der Schwerpunkte SEA und Webanalyse. Thomas ist diplomierter Wirtschaftsinformatiker, seit 2003 im Online-Marketing tätig, DAA-zertifizierter Webanalyst und Top-Beitragender in der AdWords Community. Bis zur Gründung von InBiz war Thomas als Mitgründer und Teamleiter SEA bei SoQuero in Frankfurt tätig. Thomas ist zudem Mitveranstalter des SEAcamp in Jena.

Mit AdWords-Skripten bietet Google im Bereich der Bulk-Operationen eine einfache, in einigen Punkten eingeschränkte Plattform zur Automatisierung von AdWords-Tasks an. Als Basis dient JavaScript. Man muss aber kein Programmierer sein, um mit dieser Plattform die eine oder andere Stunde Lebens- bzw. Arbeits-Zeit zu sparen.

Neben Funktionen im AdWords-Konto können Skripte auch direkt auf andere Google-Welten wie Spreadsheets, Analytics oder auch auf externe Datenquellen zugreifen. So ergeben sich viele Anwendungsgebiete außerhalb der reinen AdWords-Welt (z. B. Reporting per Spreadsheets, Konfiguration per Spreadsheet, Einbindung externer Daten).

Dieser Artikel soll einen Überblick geben, wie und wo man gute Skripte findet und wie man sie initial zum Laufen bekommt. Um ein wenig Technik werden wir dabei nicht ganz herumkommen.

Anwendungsgebiete/-beispiele

Neben AdWords-Standardaufgaben, wie dem Gebotsmanagement, seien hier einige Anwendungsbeispiele und Anregungen genannt, bei denen AdWords-Skripte eine gute Hilfe sein können.

  • Daten vorbereiten
    • nach Suchanfrage aggregieren
    • nach Placements aggregieren
  • Wiederkehrende Tasks abnehmen
    • Placements nach bestimmten Kriterien negieren (.cn-Domains oder Placements mit Clicks > 10 und CTR > 20 %)
    • Tops und Flops labeln
  • Alerting/auf die Finger schauen
    • Auffälligkeiten in den Zahlen überwachen und melden
    • zu hohe Gebote (50 € statt 0,50 €)
    • Zielseiten checken
  • vorausschauen
    • Kosten per heute um 16:00 > 50 %
    • Monatsbudget-Alarm
  • im Editor und in der Oberfläche fehlende Funktionen nutzen
    • AdParams befüllen
  • Zusammenführen von verschiedenen Datenquellen
    • Check Feed-Veränderungen
    • Verknüpfung interner Daten mit AdWords
  • Abgleich von Konten/Kampagnen
    • Synchronisation DE, CH, AT

Skripte finden

Es gibt eine ständig wachsende Zahl an Quellen für mehr oder weniger nützliche AdWords-Skripte. Neben der Suche nach Anwendungsgebieten und dem zu lösenden Problem (Deutsch und Englisch) kann eine Suche nach Befehlen, die im Quellcode enthalten sein müssten, manchmal schneller zum Ziel führen.

Empfehlenswerte Quellen für Skripte sind unter anderem diese:

Ein Problem haben viele der Quellen: die Aktualität. Manche Funktionen sind im Laufe der Zeit in AdWords integriert worden (z. B. das Setzen eines Countdowns oder ausschließende Keyword-Liste auf MCC-Ebene). Andere Funktionen sind nicht mehr vorhanden bzw. beziehen sich auf nicht mehr vorhandene Elemente (z. B. Standard-Texte). Zudem ändert Google gelegentlich Spaltennamen (z. B. Conversion-Spalten) oder andere Dinge, die eine Überarbeitung erfordern. Das bekommt nicht jeder Skript-Autor zeitnah (oder überhaupt) hin.

Konfiguration

Hat man ein passendes Skript gefunden, sollte man zunächst im oberen Bereich davon die Kommentare und zu setzenden Konfigurationsvariablen/-konstanten genau anschauen.

Hier finden sich häufig zu definierende

  • Spreadsheet-URLs für ein Konfigurationssheet oder den Output,
  • Minimal- und Maximal-Werte,
  • Labelnamen,
  • E-Mail-Empfänger,
  • E-Mail-Texte,
  • ein- oder auszuschließende Kampagnen.

Sind Minimal-/Maximalwerte zu konfigurieren, empfiehlt es sich, diese zunächst so anzusetzen, dass die zu bearbeitenden Datenmengen möglichst klein sind. Das kann Zeit und Frust bei der Fehlersuche reduzieren. Läuft das Skript erfolgreich und schnell durch, können die Limite wieder gelockert werden, um eine möglichst große Datenmenge einzubeziehen.

Grundwissen über die Notation der verschiedenen Variablentypen ist bei der Konfiguration hilfreich. Hier ein kurzer Überblick:

Strings (Zeichenketten/Text) werden einfach in Anführungszeichen gesetzt. Es spielt keine Rolle, ob man einfache oder doppelte Anführungszeichen benutzt, solange man dies nicht innerhalb einer Variable vermischt.

Beispiel: var sSpreadsheetUrl = "https://docs.google.com/spreadsheets/xxxxx";

Numerische Werte werden in JavaScript in Integer und Float untergliedert. Für das Setup eines Skripts ist es wichtig zu wissen, dass der Punkt das Dezimaltrennzeichen ist. In Zahlenwerten haben Währungs- oder Prozentzeichen nichts verloren.

Beispiel: var iMinClicks = 100; var iMinCTR = 0.05;

Ist der Wert einer Variablen in eckige Klammern eingeschlossen, handelt es sich um ein Array (quasi eine Liste). Hier kann man kommasepariert mehrere Werte erfassen

Beispiel: var aCampaignNameContains = [“Brand”,”Shopping”];

Boolsche Werte (Typ = Boolean) sind Wahrheitswerte und können true oder false (ohne Anführungszeichen) annehmen.

Beispiel: var bIgnorePausedCampaigns = true;

Holger Schulz geht zum Thema Konfiguration in diversen Skripten auf seiner Seite www.internet-marketing-inside.de/scripts einen sehr anwenderfreundlichen Weg, indem er zu konfigurierende Parameter abfragt und dynamisch in den Konfigurationsteil des zu kopierenden Skripts schreibt. Hiermit entfällt das Lesen und Befüllen des Code-Headers und man kann sofort loslegen.

Autorisierung

Jedes Skript muss initial und nach bestimmten Erweiterungen für das jeweilige Google-Konto autorisiert werden – inkl. der genutzten externen Services. Hierzu wird nach Neuanlage oberhalb des Code-Fensters ein Autorisierungs-Button gelb hinterlegt angezeigt. Zuvor sollte das Skript gespeichert werden, damit Google den Code prüft und die zu setzende Autorisierung ermitteln kann. Ansonsten wird spätestens beim Ausführen oder in der Vorschau Ist das Skript installiert, konfiguriert und autorisiert, erfolgt nach Klick auf den Vorschau-Button (immer erst die Vorschau nutzen → keine Änderung im Konto, aber in verknüpften Spreadsheets) häufig die Ernüchterung aufgrund eines Abbruchs. Aber nicht gleich aufgeben, meist ist nur eine kleine Änderung vorzunehmen.

Details über vorgenommene Änderungen und Fehler und sonstige Log-Ausgaben des Skripts finden sich unterhalb des Code-Fensters:

Folgende Fehlerursachen kommen häufig vor:

  • fehlende Aktualität
  • zu große Datenmenge und damit zu lange Laufzeit

Gut dokumentierte Skripte beginnen mit einem Kommentarblock, der unter anderem eine Versionshistorie enthält. Dieser gibt Aufschluss darüber, wie fleißig der Autor an Fehlern und der Weiterentwicklung des Skripts arbeitet. Im Idealfall sind die Versionsnummern auch mit einem Datum versehen. So ist erkennbar, ob neueste Features überhaupt berücksichtigt sein können.

Fehler aufgrund mangelnder Aktualität sind im Vorschau-Modus meist einfach zu finden, da die Fehlermeldungen recht eindeutig sind.

Beispiel: Column 'ConvertedClicks' is not valid … hier wird auf einen nicht mehr existierenden Spaltennamen zugegriffen, der einfach in Conversions umbenannt werden muss.

Abbrüche aufgrund des 30-Minuten-Zeitlimits können sehr vielschichtige Ursachen haben und häufig durch die Konfiguration (z. B. durch Eingrenzung auf bestimmte Kampagnen oder bei MCC-Skripten auf bestimmte Konten) gelöst werden. Weitere Lösungsansätze wie die Reduktion der abgefragten Datenmengen innerhalb der Abrufe oder die Reduktion von Aufrufen externer Services gehen stark ins Technische und würden den Rahmen dieses Beitrags sprengen.

Stolperfalle Zeitzone

Wer sich wundert, dass ein morgens oder in der Nacht laufendes Skript nur Daten bis einschl. vorgestern betrachtet, findet die Lösung evtl. in der Zeitzone. Die Zeitzone in einem AdWords-Skript ist grundsätzlich Pacific Time, d. h. morgens um 7:00 Uhr ist es aus Sicht des Skripts noch gestern. Das kann zu verwunderlichen Ergebnissen führen, die nach 9:00 Uhr plötzlich nicht mehr reproduzierbar sind.

Abhilfe schafft hier die Ermittlung des Datums (zu finden, wenn man nach „New Date“ sucht) mit Einbeziehung der Zeitzone des Kontos, z. B.:

var d = Unilities.formatDate(new Date(), AdWordsApp.currentAccount().getTimeZone(), “MM dd, yyyy HH:mm:ss“);

Alternativ kann man das Skript auch erst nach 9:00 Uhr laufen lassen, was aber zumindest für Frühaufsteher nicht praktikabel ist.

Go-Live und Zeitplan

Ist das Skript per Vorschau einmal ordentlich durchgelaufen, kann der erste richtige Lauf durch Klick auf den Ausführen-Button oder im Bearbeitungsmodus durch den Button „Skript jetzt ausführen“ starten. Neben der Protokollierung des Skript selbst finden sich die vom Skript gemachten Änderungen hinter dem Link „Protokolle“ in der AdWords-Skript-Übersicht. Zudem kann ein vorangegangener Download im AdWords-Editor, ein neuer Download nach Durchlauf des Skripts und Filterung auf Konto-Aktualisierungen genauen Aufschluss über die Änderungen im Konto geben.

Sind die Änderungen erwartungskonform und ist somit auch der überwachte Live-Test erfolgreich verlaufen, sind noch die Laufzeit und die Wiederholungsfrequenz mittels des Zeitplanes zu definieren. Die Zeitplan-Funktion ist leider nicht sehr ausgefeilt. Man kann ein Skript einmal, stündlich, täglich, wöchentlich oder monatlich laufen lassen. Soll ein Skript nun bspw. an mehreren Wochentagen oder an genau einem bestimmten Wochentag stündlich laufen, können diese wenigen Zeilen Code weiterhelfen:

Fügt man diesen Quellcode im oberen Bereich des Skripts ein und stellt die Ausführung auf täglich oder stündlich, erfolgt die Ausführung an allen Tagen außer am Wochenende. Für andere Tage braucht man lediglich die 0.0 bzw. die 6.0 durch einen anderen Wert (z. B. 5.0 für Freitag) zu ersetzen.

Tipps zur Oberfläche/Bedienung

Eines der großen Mankos von AdWords Skripts ist die spartanische Oberfläche. Entwickler werden eine richtige IDE (Entwicklungsumgebung) und Features wie Breakpoints zum Debugging vermissen.

Einige Kniffe, die das Arbeiten in der AdWords-Skript-Oberfläche etwas angenehmer gestalten, seien hier abschließend genannt:

Spannend? Jetzt Artikel zu Ende lesen!

Lesen Sie den Artikel weiter in unserer suchradar Ausgabe 66 von Juni 2017 mit dem Titelthema „Online-Marketing für Start-ups: Erfolgreich starten, Fehler vermeiden “.

Kostenloses PDF-Magazin bestellen Online weiterlesen? Einfach kostenlos für den Newsletter anmelden. Kostenpflichtiges Print-Abo bestellen