Überwachung von Data Layer Custom Events und Data Layer Variablen mit der Alternative zu Google Custom Alerts.

Wofür benutzerdefinierte Benachrichtigungen (Google Custom Alerts) gut sind wissen die meisten. Es gibt eine Menge Artikel im Netz, die beschreiben, was man damit überwachen sollte. Meistens wird vorgeschlagen, Ausfälle oder Änderungen in Transaktionen, Seitenaufrufen etc. zu beobachten. Das ist alles richtig und sollte auch gemacht werden, ist aber nicht alles.

In diesem Artikel werden wir die Tags beobachten, die benutzerdefinierte Ereignisse in der Datenschicht (Data Layer Custom Events) als Trigger benötigen, oder Werte aus Datenschichtvariablen (Data Layer Variables) ablesen.  Außerdem zeige ich als Reporting Tool eine flexible und kostenfreie Alternative zu benutzerdefinierten Benachrichtigungen von Google (Google Custom Alerts).

 

Wieso sollten wir benutzerdefinierte Ereignisse und Variablen in der Datenschicht kontrollieren?

Bei manchen Messungen benötigen wir Custom Events und/oder Data Layer Variablen. Hat man das Tracking eingerichtet und geprüft, dass alles wie gewünscht läuft, ist man glücklich, solange sich nichts ändert.

Durch die Entwicklung einer Webseite wird der Quellcode geändert und es werden ab und zu Data Layer Events beeinflusst. Es kann unter Umständen dazu kommen, dass ein gewünschtes benutzerdefiniertes Ereignis in der Datenschicht nicht mehr geschrieben wird. Später fehlen uns die Daten.

Trigger wird nur ausgelöst wenn Custom Event im Data Layer erschein
Trigger wird nur ausgelöst, wenn ein Data Layer Custom Event (benutzerdefiniertes Ereignis in der Datenschicht) erscheint. Fehlt dieses Ereignis–wird das Tag nicht getriggert/ausgelöst.

Besonders unangenehm ist es, wenn die Auswertungen in größeren Zeitabständen gemacht und die Fehler erst recht spät entdeckt werden.

 

Änderungen in den Metriken von Data Layer Custom Events analysieren

Was kann schon alles mit benutzerdefinierten Ereignissen – in der Datenschicht – auf der Seite passieren?

  • Ein Data Layer Custom Event kann komplett fehlen.Das geschieht, wenn am Code etwas geändert wurde und das Custom Event nicht mehr geschrieben wird, obwohl Interaktionen stattfinden (z.B. wir messen Exit Intent).Entsprechend wird der darauf basierende Trigger im Google Tag Manager nicht ausgelöst und es kommen keine Daten bei Google Analytics an.
  • Ein Benutzerdefiniertes Ereignis wird an der falschen Stelle gemessen.Diese Situation kommt vor, wenn man einen gewissen Codeblock von Seite /a.htm auf eine Seite /b.htm kopiert und angepasst hat. Dabei wird das benutzerdefinierte Ereignis fälschlicherweise mitkopiert.Nun stellt sich die Frage, welche Auswirkung man dadurch auf die gesammelten Daten hat.Sind im Trigger andere Seiten ausgeschlossen – d.h. das Tag wird nur auf der gewünschten Seite ausgelöst/abgefeuert, ändert sich nichts an den Daten.Wenn es aber um Interaktion geht, die auf vielen Seiten vorkommen kann, wird der Trigger ausgelöst und das Tag wird abgefeuert.Als Ergebnis kommen in Google Analytics Daten an, die nicht ankommen sollten.

Was können wir dagegen machen?

Im ersten Fall ist zu prüfen, ob in dem gewählten Zeitraum keine Daten zu diesem Ereignis (Exit Intent in unserem Beispiel) in Google Analytics ankamen.

Ist es so – erhalten wir dazu eine Email (wie genau wird etwas später beschrieben).

Im zweiten Fall achten wir auf die Änderung der Metrik, die steigt. Man soll “week over week“ oder “day over week“ vergleichen. “Day over day“ hat in meisten Fällen weniger Sinn, da bei vielen Webseiten die Aktivität am Wochenende mit der Aktivität an Werktagen kaum zu vergleichen ist.

Hat die “day over week“ Änderung gewisse Schwelle erreicht, bekommt man eine Email.

Prüfen, ob die Data Layer Variable Werte erhält

Es kann vorkommen, dass die Werte an die Datenschichtvariable (Data Layer Variable) nicht geliefert werden. Wenn wir diese Werte durch Ereignis-Tags (Event-Tags) an Google Analytics senden wollen, diese aber fehlen, gewinnen wir durch solche Tags nicht alle Informationen, die wir eigentlich bekommen wollten.

Fehlt die Data Layer Variable , fehlen Daten in Google Analytics

Wie gehen wir dagegen vor?

Wir haben die Möglichkeit, einen Default-Wert, beispielsweise „value_not_received“ an die Datenschichtvariable zu übermitteln, dafür muss man ein Häkchen an „Set Default Value“ setzen.

Wir legen einen Standardwert für die Datenschichtvariable fest

Somit können wir theoretisch schon im GTM-Trigger die Prüfung durchführen: ist der Wert der Data Layer Variable gleich “value_not_received“, wird das Tag gar nicht ausgelöst und Google Analytics bekommt in dem Fall keine Daten. Metrik „Total Events“ für dieses Ereignis fällt ab und wir bekommen eine Meldung von unserem Überwachungssystem.

Trigger wird nur dann ausgelöst, wenn Data Layer Variable anderen Wert als Standartwert hat

 

Dadurch wird uns aber schon mal das oben beschriebene Szenario entgehen:

Auf Seite A wird Custom Event X in die Data Layer geschrieben, der Tag wird ausgelöst, Daten kommen bei Google Analytics an und das ist auch gut so – genauso haben wir Tracking konzipiert.

Jetzt wird ein Codeblock von Seite A auf Seite B kopiert und Data Layer Custom Event X wird mitgenommen. Jetzt wird der Tag auch auf der Seite B getriggert, was aber falsch ist.

Wenn  das Ereignis-Tag (Event-Tag) keine Werte aus der Data Layer Variable bekommen soll, ist alles im grünen Bereich – Total Events steigen und unseres System alarmiert uns darüber. Alles gut.

Wenn wir aber mit der Datenschichtvariable (Data Layer Variable) in diesem Tag zu tun haben, was passiert, wenn die leer ankommt und gleichzeitig im Trigger ein Ausschlusskriterium ist? Es wird kein Event-Tag ausgelöst. Unsere Daten bleiben zwar sauber, aber niemand erfährt etwas von dem Fehler. Das kann mit der Zeit Konsequenzen haben.

Deshalb schließen wir die Auslösung des Tags im Trigger nicht aus und prüfen in unserem System nach, ob Events mit Label  „value_not_received“ erschienen sind. Kommt es vor – gibt’s eine E-Mail.

 

So, nun haben wir definiert, was wir beobachten wollen, jetzt brauchen wir ein Überwachungssystem, dass uns eine Meldung sendet, wenn etwas verdächtig wird. Beispielsweise, wenn Daten zu einem gewissen Event komplett fehlen oder ein Schwellenwert erreicht ist.

Als erstes denkt man dabei an, benutzerdefinierte Benachrichtigungen von Google Analytics.

 

Google Analytics Custom Alerts funktionieren nicht immer!

Ihr habt es richtig gelesen.  Benutzerdefinierte Benachrichtigungen von Google Analytics (Custom Alerts) funktionieren bei manchen Accouns nicht immer. In manchen Fällen bekommt man gar keine Meldung, obwohl man die bekommen sollte. Aber auch wenn Custom Alerts regelmäßig laufen, gibt es keine Garantie, dass die nicht plötzlich aufhören werden.

Ich poste hier am besten einen Screenshot:

Benutzerdefinierte Benachrichtigung von Google Analytics kommt fast 10 Tage später an

Wie man auf dem Bild sieht, ist die Meldung fast 10 Tage später versendet worden.

Vielleicht ist es mittlerweile gelöst. Wenn man aber einmal Zeit in die hier beschriebene Lösung investiert hat, genießt man weitere Vorteile, die bei der Arbeit mit größeren Mengen von Benachrichtigungen fast ein Muss sind.

 

Nachteile benutzerdefinierter Benachrichtigungen von Google Analytics

  1. Unübersichtliche Meldung – man bekommt eine E-Mail mit allen Benachrichtigungen, sowohl über Ausfälle als auch über verdächtige Änderungen.
  2. Die Betreffzeile ist für alle Google Analytics Custom Alerts immer gleich.
  3. Benutzerdefinierte Benachrichtigungen von Google Analytics sind mühsam zu justieren. Überwacht man für ein Ereignis eine positive und eine negative Änderung und hat man, beispielsweise, 15 solcher Ereignisse, müsste man 30 mal klicken um alle Schwellenwerte zu ändern. Beim nächsten Justieren sind es auch so viele Klicks.
  4. Custom Alerts werden nicht öfter als täglich verschickt. Manchmal ist das zu selten.
  5. Mühsame Deaktivierung und Reaktivierung der Custom Alerts – hat man einen Fehler bei einem benutzerdefiniertem Ereignis in der Datenschicht (Data Layer Custom Event) oder Datenschichtvariable entdeckt und an den Entwickler gemeldet, dauert es schon eine Weile, bis die Entwickler, den gemeldeten Fehler korrigiert haben. Benutzerdefinierte Benachrichtigungen kommen bis dahin aber immer weiter an.
    Da Custom Alerts nicht einfach abstellbar sind, sollte man die Benachrichtigung entweder löschen oder mit einem falschen Grenzwert versetzen. Beim falschen Grenzwert müssten Sie dies noch irgendwo für die Zukunft notieren.
    Beides ist also mühsam und muss nicht sein.

Mit der unten beschriebenen Lösung können wir mit einem Klick die Oberfläche zu erreichen, welche die Steuerung aller Ereignisse anbietet.

Die Lösung hier bietet auch die Möglichkeit an, die Benachrichtigungen ein- und auszuschalten.

 

Benutzerdefinierte Benachrichtigungen mit API und Google Spreadsheets

Ich habe für meine Zwecke eine kostenlose Alternative für benutzerdefinierte Benachrichtigungen von Google Analytics erstellt.  Beobachtete Ereignisse werden in gewünschten Abständen geprüft (jeden Monat, Woche, Tag, Stunde oder sogar Minute). Ist der Grenzwert überschritten oder ist ein Ausfall geschehen, gibt es sofort eine Email, alles läuft automatisch.

Alle 5 oben genannten Nachteile von benutzerdefinierten Benachrichtigungen von Google Analytics sind nach eigenen Wünschen konfigurierbar.

Ich bekomme zwar nur eine Email (Punkt 1) mit der Information über den Zustand aller Ereignisse, die Betreffzeile (Punkt 2) ist aber anders, wenn die beobachtete Metrik komplett fehlt.

Wenn ich die Schwellenwerte justieren soll, genügt ein Klick um die Oberfläche zu erreichen, die Steuerung aller Ereignisse anbietet. Außerdem habe ich die Möglichkeit, die Benachrichtigungen ein- und auszuschalten.

Benutzerdefinierte Benachrichtigungen, eine der ersten Versionen des Berichtes

Um alle Vorteile in einem Satz zu beschreiben: ihr gestaltet die Benachrichtigung nach eigenem Wunsch!

 

Wie funktionieren Custom Alerts mit Google Spreadsheets

Das Monitoring basiert auf der Abfrage via Core Reporting API, die in Google Spreadsheets mit dem Addon „Google Analytics“ durchgeführt wird. Erhaltene Daten werden verarbeitet und das Ergebnis wird in einem Tabellenblatt dargestellt. Abhängig von den Werten wird eine Alert-Email versendet oder nicht. Das Ganze funktioniert automatisch, also braucht man nur eine einmalige Zeitinvestition.

Custom Alerts Report, Version 3

Die Spalte C, „State“, liefert die wichtigsten Informationen: hier steht, ob ein Objekt überwacht wird und ob die Änderungen einen Alarm ausgelöst haben wie wir es in Zelle C6 beobachten.

Spalten „D“ und „E“ beschreiben das beobachtete Ereignis, in „F“ und „G“ wird der aktuelle Zustand ausgegeben. In der Reihe 6 sehen wir hier eine Steigerung von 33%, es gibt keinen Ausfall.

In den Spalten „H“, „J“ und „L“ werden die Grenzwerte eingetragen. Die sind grau markiert. Wie man sieht, kann ich die Grenzwerte für alle beobachteten Ereignisse bei Bedarf schnell ändern, ohne mich ewig durchklicken zu müssen.

Rechts von dem jeweiligem Grenzwert steht, ob die beobachtete Änderung einen Custom Alert auslöst (Zelle I6) oder nicht (Zelle M6).

Spalte „N“ erlaubt die Aktivierung / Deaktivierung des Monitorings, in der Spalte „O“ ist die API-Abfrage eingetragen. Hieraus kopiere ich REGEX, um den Google Analytics Report danach zu filtern.
Die nötigen Berichte sind in D10 und D11 verlinkt.

In der oberen rechten Ecke, N1 und N2, stehen für die Qualitätssicherung relevante Informationen. Die zeigen an, ob laut der Formeln der Tabelle und der Script-Logik, die abgefragten Werte den Versand auslösen.

 

Fazit

Die Überwachung von Data Layer Custom Events und Data Layer Variablen ist eine einfache Methode sicherzustellen, dass die erhaltenen Daten immer noch stimmen und gleichzeitig eine Möglichkeit Entwickler schnell zu informieren, wenn sich etwas geändert hat.

Die Abfrage via Core Reporting API mit Google Spreadsheets bietet die Flexibilität, erhaltene Daten nach eigenen Bedürfnissen zu reporten.

Welche Ereignisse überwacht ihr? Nutzt ihr Google Custom Alerts oder etwas Anderes? Schreibt es gern in die Kommentare.

 

Linksammlung zu dem Thema

Beginner guide to coding with Google Apps Script von Ben Collins (Danke für den Tipp, Ermo!)

Automate Google Analytics reporting in Google Sheets

Google Spreadsheets Plugin versendet Reports automatisiert per Email

Einige Ideen für Custom Alerts

Und noch 2 Webanalyse-Podcasts, Die Sendung mit der Metrik und beyond pageviews

Teilen fügt dem Autor Freude zu:
- Digital Analyst bei FLYERALARM
- 8 Jahre im Online-Marketing, höchste Position - CMO
- Berlin

Vernetzen? Gern! Linkedin oder Xing

2 Kommentare

  1. Danke Igor, das ist wirklich eine großartige Lösung, die ich definitiv bei mir auch umsetzen werde! Ich wusste auch nicht, dass Custom Alerts in GA nicht zu 100% funktionieren, zumindest ist es mir bis jetzt noch nicht aufgefallen. Für mich ist das wahnsinnig wichtig, weil es mir sooo viel mehr Zeit erspart (und ich denke, da geht es vielen ähnlich); deswegen werde ich deine Lösung auf jeden Fall ausprobieren und vielleicht dann sogar komplett umsteigen (-> Feedback folgt). 🙂 Coole Sache!

    1. Vielen Dank, Michaela!
      Vorteil ist, dass du Bericht komplett nach deinem Wunsch anpassen kannst, aber als Autor des Plugins weißt du es selbst 🙂
      Außerdem kannst du die Werte in verschiedenen Properties vergleichen.

      PS: Habe erst jetzt gesehen, dass du Kommentar geschrieben hast, muss noch ein wenig mit dem Blog üben ^^

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.