Google Ads Skripts – der ultimative Guide 2018

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on xing
XING

Skripte machen uns das Leben als Account Manager nicht nur einfacher, sie sparen auch eine gewaltige Menge an Zeit und eröffnen neue, fortgeschrittene Möglichkeiten, um die Performance zu steigern.

In diesem umfassenden Leitfaden zeige ich Dir nicht nur grundlegendes Wissen, ich teile auch mein Insider-Wissen und verrate Dir meine besten Skripte.

Inhaltsübersicht

  • 7 Gründe warum Skripte in Google Ads einfach fantastisch sind
  • Automatisierung ganz einfach – was sind Skripte?
  • Wie man Skripte richtig verwendet
  • JavaScript für Google Ads
  • Unsere absoluten Lieblingsskripte

6 Gründe warum Skripte in Google Ads einfach fantastisch sind

Wenn Du ein Marketer der Sorte Effizienz bist, geht Dir während deiner alltäglichen Arbeit sicherlich immer wieder dieser eine Gedanke durch den Kopf: „Wenn ich dies doch nur automatisieren könnte …“.

Skripte können Dir nicht nur dabei helfen weniger deiner wertvollen Zeit mit banalen Routineaufgaben zu verschwenden, sondern sie bieten viele weitere Vorteile:

Google Ads Scripts geben Dir die volle Kontrolle über Gebote

Mit deinen eigenen Gebotsalgorithmen kannst du Änderungen vornehmen, die mit einer Third-Party Bid Management Software so nicht möglich wären.

Beispielsweise willst du nicht immer möglichst aggressiv mit Deinen Geboten fahren. Mit Skripten könntest du die Gebotshöhen und damit die Anzeigenposition und somit die Anzahl der generierten Leads abhängig von der aktuellen Callcenter-Auslastung machen. Denn wenn das Callcenter aufgrund einer anderen Marketingaktion gerade ausgelastet ist, leidet darunter die Conversion Rate.

Nur durch das Programmieren kannst Du Gebote genau nach individuellen Unternehmensbedürfnissen steuern.

Skripte beziehen externe Daten mit ein

Skripte sind nicht nur auf Google Ads limitiert, sondern können mit vielen von Google’s Diensten integriert werden: bspw. Sheets, Docs, Forms, Drive, Gmail, Calendar, Maps, Translate oder Analytics. Du kannst Skripte auch verwenden, um externe Daten per API aus Salesforce oder anderen Plattformen miteinzubeziehen.

Der Code kann Deine Anzeigen und Gebote abhängig vom Wetter oder Sportergebnissen anpassen, sowie Anzeigengruppen für ausverkaufte oder auch fast ausverkaufte Produkte pausieren.

Auch kann er die Anzahl der freien Plätze bei Onlinekursen, Tagesausflügen oder Hotelzimmern automatisch in den Anzeigen aktualisieren. Jeder gute Marketer kennt die positive Auswirkung eines begrenzten Angebotes auf die CTR und Conversion Rate, wenn beispielsweise „nur noch 8 Tickets verfügbar“ sind.

Skripte übernehmen Routinearbeit

Repetitive Aufgaben sind wie gemacht für Roboter. Dagegen ist die Zeit von Menschen am sinnvollsten eingesetzt, um kreativ zu sein und schwierige Probleme zu lösen. Das sind die Fähigkeiten, die unser Gehirn so bemerkenswert machen.

Deshalb sind Skripte so nützlich: Ein großer Teil der Routinearbeit des Reportings, Managings und Monitorings kann damit automatisiert werden.

Skripte überwinden Limitierungen

Im normalen Werbezeitplaner kannst du maximal sechs Gebotsänderungen am Tag durchführen – mit einem Skript kannst du die Gebote dagegen stündlich anpassen.

Genauso gibt es im normalen Interface keine Möglichkeit sich die Entwicklung der Qualitätsfaktoren im zeitlichen Verlauf anzeigen zu lassen oder die Entwicklung des Impressions-Anteils der engsten Wettbewerber zu tracken.

Kurz gesagt kannst Du mit ihnen viel mehr tun als der durchschnittliche Account Manager, viel mehr, mit der Macht des Codes.

Skripte machen sich für Dich Sorgen

Ein Code-Schnipsel kann Dein Konto den ganzen Tag an jedem Tag beobachten. Du kannst E-Mail-Benachrichtigungen einrichten, um benachrichtigt zu werden, sobald eine Landing Page URL nicht mehr erreichbar ist, die Performance rapide abfällt oder die Gefahr besteht, dass Budgets zu schnell aufgebraucht sind.

Endlich musst Du Dir keine Sorgen mehr machen, dass Anzeigengruppen leer sind, Rechtschreibfehler in Anzeigentexten vorkommen oder zu viel Budget ausgegeben wird. Danke Wissenschaft!

Skripte beeindrucken Kollegen und beflügeln Deine Karriere

Wenn Du immer noch nicht überzeugt bist, dann lass Dir sagen, dass Du mit den neu gewonnen Insights und der gesteigerten Performance nicht nur Deine Kollegen und Deinen Boss beeindrucken kannst, sondern dass Dir diese Fähigkeit zu einer steilen Karriere verhelfen kann.

Falls Du immer noch hinter dem Mond wohnst: Die Zukunft des Marketings ist Automatisierung.

Was sind Skripte?

Bis jetzt hast Du schon eine grobe Vorstellung davon was man mit Skripten alles tun kann. Doch was sind nun diese ominösen Skripte?

Skripte sind aus JavaScript-Code bestehende Mini-Programme, die innerhalb Deines Google Ads Kontos laufen und es Dir ermöglichen Deine Google Ads Konto programmatisch zu verwalten.

Du kannst Skripte sowohl auf Kontoebene für einzelne Konten als auch auf Verwaltungsebene (MCC) nutzen, was die Handhabung verschiedener Accounts erleichtert.

Skripte werden im Google Ads Skripts Editor verwaltet, der von manchen besonders raffinierten Entwicklern auch als Google Ads Skripts IDE bezeichnet wird. IDE ist ein Akronym für „Interactive Development Environment“.

def

Wenn Du keine Erfahrung als Programmierer hast, können Skripte auf den ersten Blick ganz schön einschüchternd sein. Aber nur weil Skripte aus Code bestehen, muss man für viele Anwendungen kein Programmierer sein, weil für viele Anwendungsfälle bereits fertige Vorlagen existieren.

Wie man Skripte verwendet

Du gelangst zum Google Ads Skripts Editor, indem Du auf das Tools Schraubenschlüssel Icon klickst und und in der Spalte Bulk-Aktionen Skripts auswählst.

PRO TIPP: Im neuen Interface kannst du Tastatur-Shortcuts verwenden. Wenn du die Tastenkombination „gt“ irgendwo eintippst, öffnet sich die Suchbox mit der du schnell überall hinnavigieren kannst. Suche nach „Skripts“ und drücke Enter.

Klicke auf den blauen Plus-Button, um eine neues Skript hinzuzufügen und gib ihm dann einen Namen. Wenn du möchtest kannst Du zu Testzwecken folgenden Code in den Bearbeitungsbereich kopieren. Dieses kleine Skript führt keine Änderungen an deinem Konto durch, sondern gibt Dir nur die 10 Keywords mit den häufigsten Impressionen aus.

function main() {
var keywords = AdWordsApp.keywords()
.orderBy(„Impressions DESC“)
.forDateRange(„YESTERDAY“)
.withLimit(10)
.get();
Logger.log(„10 keywords with most impressions yesterday“);
while (keywords.hasNext()) {
var keyword = keywords.next();
Logger.log(keyword.getText() + „: “ +
keyword.getStatsFor(„YESTERDAY“).getImpressions());
}
}

Klicke danach auf Jetzt autorisieren (Dies ist ein Sicherheitsmechanismus von Google). Dieser Vorgang ist nur einmal pro Skript erforderlich.

Vorschau und Ausführen: Jetzt wo Dein Skript die erforderliche Berechtigung hat, willst Du sicherstellen, dass nur die die gewünschten Änderungen durchgeführt werden. Mit der Vorschau siehst Du was passieren würde, wenn Du das Skript wirklich ausführen würdest. Im Vorschau-Modus werden keine tatsächlichen Änderungen gemacht, also kein Grund zur Sorge. Klicke nun auf Vorschau und sieh was passiert.

Log überprüfen: Nachdem unser kleines Skript keine tatsächlichen Änderungen an Deinem Konto durchführt und nur die Informationen im Log ausgibt, lass uns diesen Abschnitt betrachten. Hier werden Informationen wie Fehler-Nachrichten und der Output festgehalten.

Zeitplan festlegen: Die meisten Skripte sind dafür gemacht mehrfach ausgeführt zu werden, beispielsweise täglich, wöchentlich oder monatlich. Auf der Übersichtsseite kannst Du die Häufigkeit festlegen.

JavaScript für Google Ads

Auch wenn es bereits fertige Vorlagen gibt, bietet die Individualisierung eine Menge Vorteile. Programmieren ist die Sprache der Zukunft – lerne sie!

Damit du in der Lage bist für deine individuellen Anforderungen zumindest kleinere Anpassungen am Code vorzunehmen, werden wir nun die verschiedenen Elemente eines Skriptes betrachten:

Funktionen – Jedes Skript beginnt mit einer Funktion „function“ gefolgt vom Funktionsnamen und zwei runden Klammern, die einfach nur leer sein oder auch Parameter enthalten können. Abschließend steht in den geschweiften Klammern der auszuführende Code. Eine Funktion könnte z.B. so aussehen:

function main( )   {auszuführender Code}

Variablen – Den nächsten Teil eines Skripts bilden Variablen, die normalerweise mit „var Variablenname“ ausgedrückt werden. Variablen speichern Werte wie Zahlen und Texte, auf die man später wieder zugreifen kann. Dafür kannst du die interne Daten deines Kontos oder auch externe Daten per API verwenden.

Objekte – bilden bei der Programmiersprache JavaScript das Fundament. In Google Ads existieren vier Objekttypen: AdWordsApp, SpreadsheetApp, MccApp und UrlFetchApp.

Ein Objekt wiederum besteht aus vielen Entitäten. Nachdem man das Objekt aufgerufen hat, wird die Entität gewählt, welche man abfragen möchte.

Entitäten – innerhalb des AdWordsApp Objektes gibt es einige verschiedene Entitäten. Du kannst beispielsweise aus der allgemeinen Kontostruktur wählen (Kampagnen, Anzeigengruppen, Anzeigen und Keywords) oder aus Labels, Werbezeitplaner oder Gebotsstrategien.

Wenn man Variablen, Objekte und Entitäten kombiniert, könnte das wie in diesem Code-Schnipsel aussehen:

var kw = AdWordsApp.keywords( )

In diesem Beispiel haben wir die Variable „kw“ genannt. Die Variable bezieht sich auf die Entität in dem Objekt AdWordsApp, die „keywords“ heißt. Der Punkt verbindet das Objekt mit der Entität.

Selektoren – nun werden die Skripte nützlich: Selektoren filtern und sortieren Daten. Wenn du beispielsweise nur diejenigen Keywords abrufen möchtest, die bestimmte Kriterien erfüllen, kannst du das mit Selektoren realisieren. Unter anderem stehen folgende Selektoren zur Verfügung:

withCondition( )
withIds( )
forDateRange( )
orderBy( )
withLimit( )

Du kannst auch mehrere Selektoren verwenden, um genau diejenigen Daten zu erhalten, die du benötigst. Zur besseren Übersichtlichkeit solltest Du jeden Selektor in eine separate Zeile schreiben.

function main( ) {
var kw = AdwordsApp.keywords( )
.withCondition(“Clicks > 30”)
.withCondition(“Impressions > 1000”)
.orderBy(“Conversions DESC”)
.forDateRange(“LAST_30_DAYS”)

Bei diesem Code geschieht bisher Folgendes:

  1. Wähle die Keywords aus meinem Google Ads Konto aus, die folgende Bedingungen erfüllen
  2. Mehr als 30 Klicks
  3. UND mehr als 1.000 Impressionen
  4. Sortiere diese absteigend
  5. Und verwende dafür nur die Daten der letzten 30 Tage

Hinweis: Wenn du mehr als einen withCondition Selektor verwendest, werden diese als UND behandelt und nicht als ODER. Beide Bedingungen müssen also erfüllt sein.

Methoden – sind Befehle im Code, um bestimmte Aufgaben und Funktionen auszuführen. „Get“, „Set“ oder „Add“ sind Beispiele für geläufige Methoden.  Eine vollständige Liste aller AdWordsApp Methoden findest du hier.

Iteratoren – wiederholen einen bestimmten Abschnitt des Skripts immer und immer wieder, solange gültige Werte vorhanden sind. Der hasNext() Iterator erstellt eine Schleife, die so lange ausgeführt wird, bis keine gültigen Werte mehr zurückgegeben werden. Jedes Element/Objekt innerhalb der Schleife wird per next() aufgerufen.

Ein einfaches Google Ads Skript könnte demnach folgendermaßen aussehen:

function main() {
var keywords = AdWordsApp.keywords()
.orderBy(„Impressions DESC“)
.forDateRange(„LAST_30_DAYS“)
.withLimit(10)
.get();
Logger.log(„Die 10 Keywords mit den meisten Impressionen in den letzten 30 Tagen“);
while (keywords.hasNext()) {
var keyword = keywords.next();
Logger.log(keyword.getText() + „: “ +
keyword.getStatsFor(„LAST_30_DAYS“).getImpressions());
}
}

Einige weitere Hinweise:

  • Häufigkeit der Ausführung: Skripte lassen sich entweder manuell im Konto ausführen oder können durch einen vorab definierten Zeitplan regelmäßig bis zu einmal pro Stunde ausgeführt werden.
  • Skript-Änderungen können nicht rückgängig gemacht werden: Bevor du ein Skript ausführst, sieh dir deshalb zuerst die Ergebnisse im Vorschau-Modus an und erstelle mit dem AdWords Editor ein Backup, im Falle, dass doch etwas schieflaufen sollte.
  • Datenweitergabe kontrollieren: Wenn du Skript-Vorlagen von anderen Personen verwendest, stelle vor Ausführung sicher, dass du nicht versehentlich diesen Personen Zugriff auf deine Daten gibst. Einige Skripte teilen Daten per E-Mail oder Google Sheets.
  • Überprüfe immer die Aktualität von Vorlagen, indem du die Kommentare nach möglichen Bug/fixes durchsuchst.
  • Implementiere Skripte auf MCC-Ebene, um den Code vor Klientenänderungen zu schützen und die Kontrolle zu behalten. Wenn du mehr als 50 Konten in deinem MCC hast, kannst du diese MCC Manager Vorlage von Google verwenden.
  • Nutze die Unterstützung des Google Ads Scripts Forums, falls du einmal ein Problem selbst nicht gelöst bekommst.

Meine Lieblingsskripte

Hier findest du eine Auswahl meiner Lieblingsskripte in keiner spezifischen Reihenfolge, denn es ist immer vom individuellen Werbekonto abhängig, welche Skripte die größte Zeitersparnis und Performance-Steigerung erzielen.

Das Linkprüfungs-Skript

Dieses Skript ist super nützlich und ein absolutes Must-Have für jeden PPC Account:

Denn eine Website wird im Lauf der Zeit immer wieder umgestaltet: Es werden neue Seiten hinzugefügt und andere Seiten werden entfernt, wodurch Links ungültig werden. Aktive Anzeigen verweisen dann evtl. auf nicht mehr vorhandene Seiten, sodass man letztlich für Klicks auf Seiten bezahlt, die den Fehlercode 404 ausgeben.

Mit dem Linkprüfungs-Skript lässt sich dieses Problem auf eine smarte Weise lösen. Dabei werden alle Anzeigen, Keywords sowie Sitelinks durchlaufen und wenn ein ungültiger Link gefunden wird, erhält man eine E-Mail-Benachrichtigung. Darüber hinaus werden die Analyseergebnisse der Linkprüfung übersichtlich in einer Tabelle gespeichert.

Von Vorteil ist vor allem, wenn man keine 404 Links hat, bekommt man auch keine E-Mail-Benachrichtigung – was vor allem denjenigen Marketern gefällt, die keine sinnlosen E-Mail-Benachrichtigungen lesen möchten. Du bekommst nur dann eine E-Mail, wenn eine URL in deinem Konto nicht mehr funktioniert.

Die Konfiguration des Skripts gestaltet sich äußerst einfach, da die wichtigsten Optionen in einer Tabelle festgelegt werden können. Du musst dazu nur ein Google Sheet duplizieren und Schreibzugriff gewähren. Du findest das ganze Skript hier.

In Konflikt stehende auszuschließende Keywords

Mithilfe dieses Skripts kannst du auszuschließende Keywords identifizieren, welche versehentlich die Ausspielung eines normalen Keywords blockieren. Dieses Problem tritt vor allem dann auf, wenn ein auszuschließendes Keyword in einer anderen Keyword-Option, etwa „weitgehend“, eingebucht wird. Konflikte können aber auch immer dann entstehen, wenn verschiedene Nutzer die Keywords in einem Konto ändern.

Die Konflikte werden vom Skript in einer Google-Tabelle aufgelistet. Zudem kannst du dich per E-Mail über neu auftretende Konflikte benachrichtigen lassen. Das Skript inklusive Anleitung findest du hier.

Entwicklung des Qualitätsfaktors auf Kontoebene

Standardmäßig gibt es keine Möglichkeit sich den Verlauf der Qualitätsfaktoren auf Kontoebene anzeigen zu lassen und schon gar nicht im zeitlichen Verlauf. Man könnte das Problem manuell mit viel Zeit und Pivot-Tabellen lösen, was aber alles andere als praktikabel ist.

Deshalb hat das Team von PPC-Epiphany ein Script erstellt, mit dem genau dies möglichst. Es ist hier verfügbar.

Durchschnittlicher QualitätsfaktorQuelle: PPC Epiphany

Konto-Anomalien

Plötzliche, starke Leistungseinbrüche bei Impressionen, Klicks, Conversions oder den Kosten können vielfältige Ursachen haben. Damit du entsprechend reagieren kannst, vergleicht dieses Anomalien (Unregelmäßigkeiten) Skript die aktuellen Tagesdaten mit den Daten des gleichen Tages in den vorherigen Wochen und alarmiert dich per E-Mail, wenn sich diese signifikant unterscheiden.

Ausverkaufte Artikel

Wenn ein Produkt im Online-Shop nicht mehr verfügbar ist, sollte die Anzeigengruppe des Produktes pausiert werden. Damit du dies nicht mehr manuell machen musst, durchsucht dieses Skript den Quellcode der Shop-Seite nach einem vorher definierten String, der vom Werbetreibenden im Skript hinterlegt werden muss (beispielsweise „in_stock“:false“) und pausiert dann automatisch die dazugehörige Anzeigengruppe.

Heat Maps erstellen

Diese Heat Maps visualisieren auf einen Blick die Performance-Unterschiede verteilt auf die Stunden und Tage einer Woche: Mit 168 Datenpunkten wäre eine normale Tabelle viel zu unübersichtlich, weshalb dieses Skript die Daten von Impressionen, Klicks, Kosten, Conversions und Conversion Wert verwendet, um Leistungsdaten wie CTR oder Kosten/Conversion verteilt auf 24 x 7 zu visualisieren.

Was nun mit diesen gewonnen Insights anfangen? Das zeigt dir das nächste Skript.

Gebote 24/7 festlegen

Conversion Rates und ROAS (Return on Advertising Spend) variieren unserer Erfahrung nach bei vielen Unternehmen stark abhängig von verschiedenen Uhrzeiten und Wochentagen.

Im normalen Werbezeitplaner ist aber die Anzahl der Gebotsänderung auf maximal sechs Zeiträume pro Tag begrenzt. Für eine optimale Performance gibt es dafür glücklicherweise einen cleveren Workaround:

Damit kannst du Gebotsanpassungen übersichtlich in einem Google Sheet für jede Stunde an sieben Tagen die Woche festlegen und dann von diesem Skript importieren lassen, welches dann 24 mal am Tag eine Gebotsanpassung durchführt. Klasse, oder?

Wetterabhängige Gebotsanpassungen

Dieses Skript ist zwar aufwendiger zu implementieren, aber da die Nachfrage nach bestimmten Produkten und Dienstleistungen stark wetterabhängig sein kann (Reisen, Heimwerken, Einzelhandel, etc.) ist es für einen maximalen ROI essentiell, dass die Gebote die äußeren Umweltbedingung wiederspiegeln.

Nutzer suchen beispielsweise eher an einem warmen, sonnigen Tag nach Informationen zu Freizeitparks als an einem kalten Regentag. Der Betreiber eines Freizeitparks möchte daher seine Gebote bei gutem Wetter vermutlich erhöhen.

Sich selbst manuell darum zu kümmern, wäre jedoch sehr zeitintensiv. Mit dem folgendem Skript ist es dagegen möglich, programmatisch Wetterdaten abzufragen und Gebote anzuheben oder zu senken.

Das Skript verwendet Google Sheets, um die Liste der Kampagnen und der zugeordneten Standorte zu speichern. Für jeden Standort wird die OpenWeatherMap API aufgerufen und das Wetter anhand von selbst festgelegten Regeln berechnet. Wenn eine Regel den Wert „true“ zurückgibt, wird eine entsprechende Gebotsanpassung für den Standort auf die geografische Ausrichtung der Kampagne angewendet.

Überprüfung auf menschliche Fehler

Menschen machen Fehler. Selbst den besten passiert ab und an ein Missgeschick. Auch bei Google Ads macht diese Regel keinen Halt: Rechtschreibfehler, falsche Keyword-Optionen oder Werbeaktionen, die nicht mehr aktuell sind.

Dieses Skript prüft deine Keywords auf Anfängerfehler wie exakte Keywords mit einem Pluszeichen oder auf weitgehend passende Keywords mit fehlendem Pluszeichen (Ausgenommen zum Finden neuer Keywords wirst du ja wohl keine weitgehend passenden Keywords ohne Pluszeichen verwenden?).

Auch werden die Anzeigen darauf überprüft, ob die Jahreszahlen aktualisiert wurden oder ob aktive Anzeigen Begriffe von Werbeaktionen wie „Ostern“ oder „Weihnachten“ enthalten.

Ebenso nützlich ist auch der Check auf häufige Rechtschreib- und Tippfehler. Da das Original-Skript nur auf englische Worte hinüberprüft, haben wir es um deutsche Worte erweitert. Du findest dieses Skript zur Prüfung von Rechtschreibfehlern und anderen menschlichen Fehler hier zum Download.

[/The End]

Google Ads Skripts sind eine mächtige Lösung, die im Repertoire eines fortgeschrittenen Account-Managers nicht fehlen dürfen. Welche Skripte nutzt du? Lass es uns in den Kommentaren wissen.

Erfahre hier mehr über meine Google-Ads-Leistungen, die ich sowohl als Agenturleistung, als auch als Consulting für Inhouse-Teams anbiete.

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on xing
XING
Hannes Hetzer
Hannes Hetzer
Mein Name ist Hannes Hetzer und ich optimiere seit 2014 Websites & Google Ads Konten.