E-Mail Kontakt - Tel: 02192 / 91 89 921
    Impressum | Datenschutz

Google Ads Scripts verwalten - Script-Updates in allen Accounts

Google Ads Scripts entwickelt sich aber parallel zu Google Ads immer weiter, so dass bestehende Skripte teilweise aktualisiert werden müssen, damit diese weiter ausgeführt werden können.

 Google Ads Scripts in Google-Drive zentral aktuell halten

Warum? Es gibt doch Google Ads Scripts für Verwaltungskonten (MCC)!

  • Es gibt für viele öffentlichen Google Ads Scripts Lösungen keine fertigen Varianten für das Verwaltungskonto.
  • Auch wenn es eine Lösung fürs Verwaltungskonto gibt, muss man ggf. Scripts mehrfach konfigurieren - sei es, weil sich Parameter unterscheiden oder weil das Script öfters hintereinander ausgeführt werden muss, damit alle Konten - trotz der Laufzeitbeschränkungen durch Google - abgearbeitet werden.
  • Wenn z.B. eh für jedes Konto eine eigene Ergebnisdatei in Google Drive erstellt werden muss, bringt ein Verwaltungskonto keine Vorteile.

Prinzipielles Vorgehen zur Verwaltung von Google Ads Scripts in Google Drive

  1. Das gewünschte Script erstmal lauffähig konfigurieren.
  2. Die Parameter, die sich je Google Ads Konto unterscheiden können, am Anfang des Scripts konfigurieren.
  3. Das Script in zwei getrennte Scripts aufsplitten:
    • Script "Drive" enthält das eigentliche Google Ads Script Programm, das in Google Drive gespeichert wird.
    • Script "Account" enthält die individuellen Einstellungen je Google Ads Konto, lädt das Drive-Script und führt es aus.

Wenn jetzt Änderungen am Script notwendig werden, können diese zentral in Google-Drive vorgenommen werden.

 1. Google Ads Script ins eigene Konto einfügen

Als Beispiel nehmen wir das von Google kostenlos zur Verfügung gestellte Google Ads Script "In Konflikt stehende ausschließende Keywords.
Das Script gibt es zwar auch fürs Verwaltungskonto, also dass das Script automatisch mehrere Accounts abarbeitet, aber auch hier muss man das Script oft mehrmals anlegen und für unterschiedliche Google Ads Konten konfigurieren.
Gründe dafür:

  • die Ausführung sprengt schnell das Zeitlimit von Google
  • die Protokollierung soll in unterschiedlichen Tabellen erfolgen
  • je nach Konto sollen andere Personen per E-Mail benachrichtigt werden

Auf der Seite Fertige Google Ads Scripts verwenden haben wir Schritt für Schritt beschrieben, wie man hier vorgeht.

Im Folgenden gehen wir davon aus, dass für die Ergebnistabelle in Google Drive der Name "Ergebnis Negative Keyword Conflicts" gewählt wurde.

Vergleich Konfigurationsparameter Template / lauffähiges Script

Im Originalscript von der Google-Seite sieht der Bereich mit den konfigurierbaren Variablen so aus:
AdWords Scripts Config Parameter 1


Vor der Ausführung müssen einige Variablen definiert werden - andere können definiert werden. Wir ändern in diesem Beispiel zwei notwendige Parameter:
AdWords Scripts Config Parameter 2

 2. Google Ads Script Vorschau / Ausführung

Jedes Script benötigt bestimmte Rechte. Beim ersten Klick auf Vorschau oder Ausführung fragt Google nach, ob das Script diese Rechte (z.B. Zugriff auf Google Drive) bekommen soll. Dies sieht dann so aus:
AdWords Scripts Abfrage Rechte für Ausführung

Skripte, die jedoch zentral abgelegt und nachgeladen werden, werden nicht (mehr) untersucht, ob bestimmte Rechte erforderlich sind. Deshalb ist es wichtig, das Script vorher mal laufen zu lassen.

 3. Google Ads Script für die Aufteilung vorbereiten

Damit man aus dem einen Script zwei machen kann - eins fürs Google Ads Konto mit den Parametern und eins für Google Drive mit dem eigentlichen Programm - muss man die konfigurierbaren Parameter an den Anfang des Scripts auslagern.

a) Parameter oben definieren

Alles, was man künftig in jedem Google Ads Konto individuell einstellen möchte, lagert man in neu definierte Variablen aus, die man über das Script schreibt. Für alle Skripte, die man in Google Drive auslagern will, haben wir dieses Template vorbereitet, dass man ganz oben vor dem eigentlichen Script einfügt:

// Angaben für jedes Script in Google Drive:
var g_sScriptName     = "";
var g_sGoogleDriveUrl = "";
var g_sMailAddress    = "";
 
// Individuelle Angaben je Script
 
 
// ------ ab hier alles nach Google Drive auslagern ----
 

Die Namen der Variablen unter "Individuelle Angaben je Script" kann man frei definieren - nur wenn irgendwo eine Mailadresse angegeben wird, sollte die Variable g_sMailAddress verwendet werden.

b) Parameter von oben in den Config einfügen

Die Variablen, die man oben definiert hat, müssen jetzt an der entsprechenden Stelle im Script eingefügt werden.

Das fertige Script vor der Aufteilung

In unserem Beispiel sieht das dann so aus.
Ganz oben:
AdWords Scripts Config Parameter 3

Config-Bereich:
AdWords Scripts Config Parameter 4

Auch jetzt sollte man das Script noch mal ausführen. Nach der Aufteilung gestaltet sich die Fehlersuche deutlich schwieriger.

 4. Google Ads Script aufteilen

Script für Google Drive erstellen

Den Bereich unterhalb von // ------ ab hier alles nach Google Drive auslagern ---- lagert man jetzt in eine Datei auf der Festplatte aus.

Vor dem Speichern ändern wir noch eine Kleinigkeit im Script: Aus function main() wird function mainImpl() - es wird also lediglich "main" durch "mainImpl" ersetzt.

Als Dateiname wählen wir "Script-Negative-Keywords-Conflicts.js" - so fängt das Script vorne mit "Script" an und die Datei mit den Ergebnissen der Auswertung mit "Ergebnis". So kann man die Dateien in Google Drive leicht unterscheiden. Die Dateien kann man übrigens später noch in Google Drive in andere Ordner verschieben.

Der Zeichensatz der Datei sollte UTF-8 sein - falls Sonderzeichen oder Umlaute im Script verwendet werden.

Script im Google Ads Konto erweitern

Die Zeile // ------ ab hier alles nach Google Drive auslagern ---- selbst ersetzt man durch diese Zeilen:

function main() {
  try {
   eval(UrlFetchApp.fetch(g_sGoogleDriveUrl.replace("/open?", "/uc?export=download&")).getContentText());
   mainImpl();
  } catch (e) { try {MailApp.sendEmail(g_sMailAddress, "Exception in Script '"+g_sScriptName+"' - "+AdWordsApp.currentAccount().getName(), "Exception: "+e.message+"\r\nStacktrace:\r\n"+e.stack);} catch (e2) {Logger.log(e2.message);} throw e; }
}

Das komplette Script im Google Ads Konto sieht dann so aus

// Angaben für jedes Script in Google Drive:
var g_sScriptName     = "Negative keyword Conflicts";
var g_sGoogleDriveUrl = "";
var g_sMailAddress    = 'holger.schulz@data-inside.de';
 
// Individuelle Angaben je Script
var g_spreadsheeturl  = 'https://docs.google.com/spreadsheets/d/11m876PVwkTKNJYwbXCBbYMTOHAiSAHreOIDY0ePy2Z4/edit#gid=0';
 
function main() {
  try {
   eval(UrlFetchApp.fetch(g_sGoogleDriveUrl.replace("/open?", "/uc?export=download&")).getContentText());
   mainImpl();
  } catch (e) { try {MailApp.sendEmail(g_sMailAddress, "Exception in Script '"+g_sScriptName+"' - "+AdWordsApp.currentAccount().getName(), "Exception: "+e.message+"\r\nStacktrace:\r\n"+e.stack);} catch (e2) {Logger.log(e2.message);} throw e; }
}

Was fehlt, ist die URL in g_sGoogleDriveUrl für das eigentliche Script in Google Drive - das holen wir uns jetzt.

 5. Den Programmteil des Scripts in Google Drive kopieren

Das Script kann man ganz einfach per Drag&Drop in Google Drive einfügen.
Alternativ auch über das Menü:
AdWords Script in Google Drive hochladen

 6. URL des Google-Drive-Scripts ins Google Ads Konto-Script einfügen

Die URL des Scripts erfahren wir, wenn mit der rechten Maustaste auf das Script klicken und den Link zum Freigeben abrufen>
AdWords Script URL in Google Drive ermitteln

Diesen Link kopieren wir in die Zwischenablage und dann in die Variable g_sGoogleDriveUrl.

 7. Das Google Ads Script mit ausgelagertem Programmcode

Das fertige Script sieht dann so aus:
AdWords Scripts Config Parameter 5

Wenn wir jetzt auf "Vorschau" oder "Skript jetzt ausführen" klicken, erscheint wieder eine Abfrage von Google:
AdWords Scripts Abfrage Rechte für Ausführung von Script in Google Drive

Nicht vergessen, das Script auf automatische, tägliche Ausführung zu stellen!

 Schlussbemerkung

Ursprünglich hatten wir auch unseren Google Ads Scripts Linkchecker zum täglichen Überprüfen der Landingpages auf Google Drive ausgelagert. Das wurden aber schnell so viele Zugriffe, dass das Kontingent, dass Google einräumt, damals nicht ausreichte. Für den internen Gebrauch in einer Agentur sollte das aber kein Problem darstellen.

Auf die in Google Drive erstellten Dateien kann man auch sehr schön anderen Zugriff geben (sharen/freigeben).
Siehe: https://support.google.com/drive/answer/2494822