In diesem Leitfaden wird Folgendes beschrieben:
- Tagging-Server in der Google Cloud Platform (GCP) App Engine bereitstellen.
- Tagging-Server für die Verarbeitung von Live-Traffic aktualisieren
- Erhöhen oder verringern Sie die Anzahl der Server, auf denen Ihr Google Tag Manager-Container ausgeführt wird.
- Aktualisieren Sie die Version des Tagging-Servers nach der Bereitstellung.
Vorbereitung
- Sie benötigen ein GCP-Konto. Falls Sie noch keines haben, erstellen Sie ein neues GCP-Konto.
- Sie benötigen ein GCP-Rechnungskonto. Falls Sie noch keins haben, erstellen Sie ein GCP-Rechnungskonto. Dazu ist die Rolle „Creator of Billing Account“ erforderlich.
- Sie benötigen die Rolle „Projektersteller“ und die Rolle „Rechnungskontonutzer“. Weitere Informationen zum Hinzufügen von Rollen
1. Server bereitstellen
So erstellen Sie einen neuen Tagging-Server auf einer App Engine-Instanz:
- Neuen Servercontainer in Tag Manager erstellen
- Neues Google Cloud-Projekt (GCP) erstellen
- Neuen App Engine-Tagging-Server bereitstellen
- Fügen Sie die URL des neuen Tagging-Servers dem Tag Manager-Servercontainer hinzu.
Google Tag Manager-Servercontainer erstellen
Öffnen Sie Google Tag Manager.
Klicken Sie in der Kontozeile auf das Dreipunkt-Menü > Container erstellen.
Erstellen Sie einen neuen Servercontainer.
Klicken Sie auf das Optionsfeld „Tagging-Server manuell bereitstellen“. Notieren Sie sich die Containerkonfiguration. Sie benötigen sie, um Ihren Server bereitzustellen.
Neues GCP-Projekt erstellen
So erstellen Sie ein neues GCP-Projekt für Ihren Tagging-Server:
Öffnen Sie die Google Cloud Console.
Benennen Sie Ihr Projekt. Wir empfehlen, die Container-ID zu verwenden. Dieser Name wird nur innerhalb der GCP verwendet.
Notieren Sie sich die GCP-Projekt-ID, da Sie sie zum Erstellen des Tagging-Servers benötigen.
Neuen Tagging-Server bereitstellen
So erstellen Sie einen Tagging-Server:
Öffnen Sie Cloud Shell.
Legen Sie das GCP-Projekt in Cloud Shell fest. Ersetzen Sie
project ID
durch die GCP-Projekt-ID, die Sie zuvor notiert haben:gcloud config set project project ID
Erstellen Sie den Tagging-Server gemäß dem Shell-Script. Legen Sie den Bereitstellungstyp auf
testing
fest.bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
Tagging-Server-URL zu Tag Manager hinzufügen
Öffnen Sie Google Tag Manager.
Klicken Sie unter Verwaltung > Containereinstellungen auf URL hinzufügen. Wenn Sie die URL des Servers nicht kennen, führen Sie den folgenden Befehl in Cloud Shell aus:
gcloud app browse
Ergebnis: Sie haben einen Tagging-Server eingerichtet und mit einer
testing
-Konfiguration bereitgestellt. Sie können jetzt das serverseitige Tagging testen.
Erstkonfiguration des Servers (testing
)
Die Testkonfiguration eignet sich, um das Produkt zu testen. Dazu senden Sie kleine Mengen an Testtraffic und verwenden die Vorschaufunktion in Tag Manager. Diese Konfiguration ist eine App Engine-F1-Instanzklasse in der Standardumgebung. In den meisten Fällen entstehen Ihnen keine Kosten.
2. App Engine in der Produktion verwenden
Bei der production
-Konfiguration kostet jeder Server etwa 40 $pro Monat. Jeder Server ist eine App Engine-Instanz mit 1 vCPU, 0, 5 GB Arbeitsspeicher und 10 GB Festplattenspeicher in der flexiblen Umgebung.
Unter App Engine-Kosten verwalten erfahren Sie mehr über die App Engine-Abrechnung und die Konfiguration von Abrechnungsbenachrichtigungen. Wir empfehlen dringend, eine Abrechnungsbenachrichtigung einzurichten.
Empfohlene Produktionseinstellungen
Wir empfehlen, mindestens drei Server auszuführen, um das Risiko eines Datenverlusts bei einem Serverausfall zu verringern. Sie können aber auch weniger (oder mehr) Server betreiben. Wir gehen davon aus, dass mit 3–6 Autoscaling-Servern (Standardeinstellung) 50–200 Anfragen pro Sekunde verarbeitet werden. Die Leistung hängt von der Anzahl der Tags und ihrer Funktion ab.
So konfigurieren Sie Ihren Tagging-Server:
- Öffnen Sie Cloud Shell der Google Cloud Platform.
- Legen Sie das Cloud Platform-Projekt in Cloud Shell fest. Ersetzen Sie
project ID
durch die GCP-Projekt-ID, die Sie zuvor notiert haben:gcloud config set project project ID
- Führen Sie das folgende Einrichtungsskript aus, um den Tagging-Server für eine Produktionsumgebung neu zu konfigurieren. Führen Sie die folgenden Aufgaben aus:
bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
- Ändern Sie den Bereitstellungstyp in
production
. - Richten Sie zusätzliche Server ein, um Produktionstraffic zu verarbeiten. Wir empfehlen mindestens drei Server.
- Ändern Sie den Bereitstellungstyp in
Optional: Logging deaktivieren
Anfrage-Logging
Standardmäßig protokolliert App Engine Informationen zu jeder einzelnen Anfrage, die sie empfängt (z. B. Anfragepfad, Abfrageparameter usw.). Wenn Ihr Tagging-Server viele Anfragen pro Monat verarbeitet (z.B. mehr als eine Million), können für diese Protokollmeldungen erhebliche Protokollierungsgebühren anfallen. Um die Protokollierungsgebühren zu reduzieren oder zu vermeiden, empfehlen wir, die App Engine-Anfrageprotokollierung zu deaktivieren.
So deaktivieren Sie das App Engine-Anfrageprotokoll:
- Öffnen Sie auf der Google Cloud-Plattform den Logs Router. Achten Sie darauf, dass Sie sich im Projekt befinden, das mit Ihrer Container-ID übereinstimmt:
- Wählen Sie für die Zeile Typ: Cloud Logging-Bucket, Name: _Default das Dreipunkt-Menü und dann Senke bearbeiten aus.
- Wählen Sie unter Senkenziel den Log-Bucket _Default aus.
Fügen Sie unter Logs auswählen, die in der Senke enthalten sind eine neue Zeile hinzu. Geben Sie die folgende Regel in den vorhandenen Einschlussfilter ein:
NOT LOG_ID("appengine.googleapis.com/nginx.request") AND NOT LOG_ID("appengine.googleapis.com/request_log")
Wenn Sie auch die Protokollierung vom Load Balancer deaktivieren möchten, fügen Sie eine neue Zeile hinzu und geben Sie die folgende Regel in den vorhandenen Inklusionsfilter ein:
NOT LOG_ID("requests")
Klicken Sie auf Senke aktualisieren, um die Änderungen anzuwenden. Die App Engine-Anfragen werden jetzt vom Logging ausgeschlossen.
Prüfen Sie, ob in den Logs des Log-Explorers keine neuen Anfragen angezeigt werden.
Console-Logging
Der Tagging-Server, die Clients oder die Tags in einem Container können Nachrichten in der Console protokollieren, für die Logging-Gebühren anfallen können. Sie können unerwünschte Konsolenprotokollmeldungen deaktivieren, um die Logging-Kosten zu reduzieren oder zu vermeiden.
Unerwünschte Konsolenprotokolle ermitteln:
- Öffnen Sie in der GCP den Log-Explorer.
Suchen Sie nach unerwünschten Protokollmeldungen, die von Ihren Tags stammen. Beispiel:
Ein Tag kann die folgenden Protokolle senden:
const logToConsole = require('logToConsole'); logToConsole('Custom message: ' + data.param1); logToConsole('An important message to keep around!'); data.gtmOnSuccess()
Suchen Sie im Feld
textPayload
nach den entsprechenden Logeinträgen:
So deaktivieren Sie die Konsolenprotokollmeldung:
- Öffnen Sie auf der Google Cloud-Plattform den Logs Router. Achten Sie darauf, dass Sie sich im Projekt befinden, das mit Ihrer Container-ID übereinstimmt:
- Wählen Sie für die Zeile Typ: Cloud Logging-Bucket, Name: _Default das Dreipunkt-Menü und dann Senke bearbeiten aus.
- Wählen Sie unter Senkenziel den Log-Bucket _Default aus.
Fügen Sie unter Logs auswählen, die in der Senke enthalten sind eine neue Zeile hinzu. Geben Sie die folgende Regel in den vorhandenen Einschlussfilter ein:
NOT textPayload:"Custom message:"
Ersetzen Sie in Ihren Konsolenprotokollen den Text Custom message: durch einen Teilstring aus dem Konsolenprotokoll, den Sie deaktivieren möchten. Für komplexere Filter können Sie die Logging-Abfragesprache verwenden.
Klicken Sie auf Senke aktualisieren, um die Änderungen anzuwenden. Die entsprechende
logToConsole
-Nachricht sollte vom Logging ausgeschlossen werden.Prüfen Sie, ob im Log-Explorer keine neuen Konsolenprotokollmeldungen angezeigt werden.
3. Bereitstellung der benutzerdefinierten Domain zuordnen
Die standardmäßige serverseitige Tag-Kennzeichnung wird in einer App Engine-Domain gehostet. Wir empfehlen, die Bereitstellung so zu ändern, dass eine Subdomain Ihrer Website verwendet wird.
Ordnen Sie die Subdomain Ihrer Website Ihrem Tagging-Server zu.
4. Server-URL zu Google Tag Manager hinzufügen
Jetzt, da Sie einen Server haben, müssen Sie dafür sorgen, dass Google Tag Manager weiß, dass er Ihren Server verwenden soll.
Öffnen Sie Google Tag Manager.
Klicken Sie auf den Servercontainer, auf den Sie Ihren Tagging-Server verweisen möchten.
Öffnen Sie die Einstellungen für den Servercontainer auf dem Tab Verwaltung > Containereinstellungen.
Klicken Sie auf URL hinzufügen und fügen Sie die Server-URL ein.
Speichern und zum Arbeitsbereich zurückkehren
5. Validierung
Nachdem Sie Ihren Tagging-Server eingerichtet haben, sollten Sie prüfen, ob er wie vorgesehen funktioniert. Klicken Sie in Ihrem Tag Manager-Arbeitsbereich auf die Schaltfläche Vorschau. Wenn die Vorschauseite geladen wird, ist alles richtig eingerichtet.
Vorschau mehrerer URLs
Wenn Sie einem einzigen Tagging-Server mehrere Domains zugeordnet haben, müssen alle URLs den Containereinstellungen hinzugefügt werden.
Wenn Sie mehrere URLs angegeben haben, müssen alle Pfade (der String nach dem Domainnamen) übereinstimmen.
Arbeiten | Funktioniert nicht |
---|---|
URL 1: example.com/abc URL 2: example2.com/abc |
URL 1: example.com/abc URL 2: example2.com/def |
Wenn mehrere URLs hinzugefügt werden, wird neben der Schaltfläche Vorschau ein Symbol angezeigt, mit dem Sie die URL für die Vorschau auswählen können.
Tagging-Serverversion aktualisieren
Die neuen Tagging-Serverupdates enthalten Fehlerkorrekturen für Sicherheitslücken und neue Funktionen. Wir empfehlen, für jede Hauptversion (z.B. ein Upgrade von Version 1.x.x auf 2.x.x) mindestens Ihren Tagging-Server zu aktualisieren, wenn Sie von Tag Manager zur Aktualisierung aufgefordert werden.
Wenn Sie Ihren Tagging-Server aktualisieren möchten, führen Sie das Einrichtungsskript noch einmal mit denselben Einstellungen aus, die Sie zuvor verwendet haben. Die vorhandenen Einstellungen werden standardmäßig festgelegt.
So aktualisieren Sie Ihren Tagging-Server:
- Öffnen Sie Cloud Shell der Google Cloud Platform.
- Legen Sie das Cloud Platform-Projekt in Cloud Shell fest. Ersetzen Sie
project ID
durch die GCP-Projekt-ID, die Sie zuvor notiert haben:gcloud config set project project ID
- Führen Sie das Einrichtungsskript mit denselben Einstellungen aus, die Sie zuvor verwendet haben. Die vorhandenen Einstellungen werden standardmäßig festgelegt.
bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
So prüfen Sie, ob die Aktualisierung erfolgreich war:
- Klicken Sie in Ihrem Servercontainer auf die Schaltfläche Vorschau, um eine neue Debug-Sitzung zu starten und eine Anfrage auf einem separaten Tab zu senden.
- Wählen Sie in der Zusammenfassung den Tab Console aus und prüfen Sie, ob Sie aufgefordert werden, den Tagging-Server zu aktualisieren.
In Tag Manager werden Sie möglicherweise bis zu einen Tag nach der erfolgreichen Aktualisierung des Servers aufgefordert, Ihren Tagging-Server zu aktualisieren. Auf der Vorschauseite wird jedoch eine aktuelle Meldung zur Tagging-Serverversion angezeigt.
Fehlerbehebung bei Zeitüberschreitungen bei Produktionsbereitstellungen
Wenn Sie das Einrichtungsskript ausführen, um den Tagging-Server zu erstellen oder neu zu konfigurieren, kann es zu einer Zeitüberschreitung kommen. Das kann verschiedene Gründe haben. Die beiden häufigsten sind:
Dienstkonten haben falsche Berechtigungen: Die Compute Engine- und App Engine-Dienstkonten sind für die Bereitstellung und Wartung der Produktionsbereitstellung verantwortlich. Sie sind standardmäßig mit den entsprechenden Berechtigungen vorkonfiguriert. In einigen Fällen kann die Richtlinie einer Organisation jedoch dazu führen, dass sie falsch sind.
- Rufen Sie in der Google Cloud Console in der linken Navigationsleiste die Seite IAM & Verwaltung auf.
- Suchen Sie das Compute Engine-Dienstkonto
<project_number>-compute@developer.gserviceaccount.com
und das App Engine-Dienstkonto<project_name>@appspot.gserviceaccount.com
. - Beide Dienstkonten müssen die Rolle
Editor
haben. Wenn eines der Konten nicht die RolleEditor
hat, aktualisieren Sie die Rolle. Klicken Sie dazu rechts neben dem Konto auf das Stiftsymbol, dann auf das Drop-down-Menü der vorhandenen Rolle, scrollen Sie nach oben und klicken Sie auf Projekt und dann auf Bearbeiter.
Unzureichendes Kontingent: Die Produktionsbereitstellung verbraucht das Compute Engine-Kontingent. Wenn das Kontingent des Projekts nicht ausreicht, kann es bei der Bereitstellung zu einer Zeitüberschreitung kommen, während versucht wird, Ressourcen bereitzustellen.
- Klicken Sie in der linken Navigationsleiste der Google Cloud Console auf die Seite IAM & Verwaltung und dann auf den Tab Kontingente.
- Klicken Sie oben auf der Seite auf das Textfeld Tabelle filtern und geben Sie
Compute Engine API
ein. Klicken Sie auf das einzige Ergebnis. - Prüfen Sie, ob alle Kontingentstatus innerhalb des Limits liegen oder ein grünes Häkchen haben.
- Suchen Sie nach CPUs und klicken Sie darauf. Prüfen Sie, ob die aktuelle Nutzung und die Anzahl der bereitgestellten Instanzen unter dem Limit für die Bereitstellungsregion liegen.