Das serverseitige Google Tag Manager-Setup läuft aktuell nur über die App Engine der Google Cloud Plattform. Für die Einrichtung müssen Rechnungsdaten hinterlegt werden. Für den Testbetrieb reicht in der Regel die App Engine Standard-Umgebung. Für den Live-Betrieb ist die flexible App Engine-Umgebung ratsam.
In beiden Fällen solltest du deine Kosten laufend überwachen. In der Google Cloud Plattform findest du Kosten unter dem Menüpunkt “Abrechnung”:
Die Berichte geben dir genau Auskunft wie viel Kosten deine App Engine verursacht:
Neben den Kosten für Datenspeicher und Traffic können hier auch Kosten für Cloud Logging entstehen – wenn die Limits überschritten werden. Dabei handelt es sich um das Tool der Google Cloud Plattform für die Protokollierung der Logdaten und -ereignisse.
Es gibt aber eine gute Nachricht: Wenn du die Logdaten nicht brauchst, dann kannst du sie auch deaktivieren. Oder du stellst sie so ein, dass nur Errors geloggt werden. Nachfolgend die Anleitung.
Anleitung
Stelle zunächst sicher, dass du dich im richtigen Konto befindest:
Im Bereich “Betrieb” findest du den Logging-Bereich. Hier klickst du auf “Logs Router”:
Dort findest du die Logs Router-Senken. Hier ist der Typ “Cloud Logging Bucket” mit dem Namen “_Default” relevant. Klicke hier ganz rechts auf die drei Punkte und dann auf “Senke bearbeiten”:
Dann muss man unter “Senkenziel” den Log-Bucket “_Default” auswählen:
Dann, unter “Logs auswählen, die in der Senke enthalten sind” fügst du folgenden Befehl zu den bereits existierenden in einer neuen Zeile ein:
NOT LOG_ID("appengine.googleapis.com/nginx.request") AND NOT LOG_ID("appengine.googleapis.com/request_log")
In der Cloud-Benutzeroberfläche hast du dann:
Mit Klick auf “Done” bestätigst du deine Eingabe. Zum Schluss musst du nur noch auf “Update Sink” klicken, um die Sinke zu aktualisieren.
Dadurch wird die App Engine keine Logs mehr aufzeichnen. Im Log-Explorer sollten dann keine Logs mehr verzeichnet werden.
Wenn du aber nur Errors in den Logs sehen möchtest, dann solltest du folgenden Befehl benutzen:
NOT ((LOG_ID("appengine.googleapis.com/nginx.request") OR LOG_ID("requests") OR LOG_ID("appengine.googleapis.com/request_log")) AND httpRequest.status < 400)
Die kann nützlich sein, wenn du Debugging betreiben möchtest.
Es gibt aber auch die Möglichkeit, dass man Logging auf Basis der Request-Quelle steuert. Möchte man für die Live-Seite keine Logs aktvieren, dafür aber nur für die eigene Staging-Seite (für Debug-Zwecke), dann lässt sich das bspw. über der Referrer steuern:
httpRequest.referrer =~ "staging.domain.com"
Wobei man bei diesem Beispiel beachten muss, dass der Referrer als Indikator nicht immer die optimale Option ist. Wenn es einen anderen, klaren Identifier gibt, dann wäre dieser besser (z.B. über URL-Parameter).