Serverseitiges Tagging mit Cloud Run einrichten

In diesem Leitfaden wird Folgendes beschrieben:

  • Stellen Sie einen Vorschauserver bereit, um die Vorschaufunktion für den Container zu aktivieren.
  • Sie müssen einen Tagging-Server für den Live-Traffic bereitstellen.
  • Erhöhen oder verringern Sie die Anzahl der Server, auf denen Ihr Google Tag Manager-Container ausgeführt wird.
  • Nach der Bereitstellung des Servers muss die Version des Tagging-Servers immer auf dem neuesten Stand sein.

Voraussetzungen

  1. Sie benötigen ein GCP-Konto. Falls Sie noch keines haben, erstellen Sie ein neues GCP-Konto.
  2. Sie benötigen ein GCP-Rechnungskonto. Erstellen Sie ein GCP-Rechnungskonto, falls Sie noch keines haben. Dafür ist die Rolle „Rechnungskontoersteller“ erforderlich.
  3. Sie benötigen die Rollen „Projektersteller“ und „Rechnungskontonutzer“. Weitere Informationen zum Hinzufügen von Rollen

Vorschau- und Tagging-Server bereitstellen

Sie können einen Cloud Run-Dienst entweder automatisch in Google Tag Manager oder manuell in Google Cloud bereitstellen.

Dienstkonfiguration bearbeiten

So ändern Sie die Dienstkonfiguration:

  1. Öffnen Sie Cloud Run.
  2. Wählen Sie den Dienst aus, den Sie anpassen möchten.
  3. Klicken Sie auf NEUE ÜBERARBEITUNG BEARBEITEN UND BEREITSTELLEN.
  4. Nehmen Sie die gewünschten Änderungen vor und klicken Sie auf Bereitstellen.

Cloud Run-Kosten

In dieser Cloud Run-Konfiguration kostet jeder Server etwa 45 $pro Monat. Jeder Server ist eine Cloud Run-Instanz mit 1 vCPU und 0,5 GB Arbeitsspeicher, die das Preismodell „Immer zugewiesene CPU“ nutzen.

Wir empfehlen, mindestens zwei Instanzen auszuführen, um das Risiko eines Datenverlusts bei einem Serverausfall zu verringern. Sie können jedoch festlegen, dass Sie weniger (oder mehr) Server ausführen. Wir gehen davon aus, dass ein Autoscaling von 2–10 Servern 35–350 Anfragen pro Sekunde verarbeiten kann. Die Leistung variiert jedoch je nach Anzahl der Tags und deren Funktion.

Cloud Run skaliert dynamisch mit der Last. Die Einstellung max-instances ist das Worst-Case-Szenario für die Kosten, die Sie für Ressourcen zahlen müssen. Cloud Run stellt so viele Instanzen nur bereit, wenn dies unbedingt erforderlich ist.

Cloud Run-Rechner

Optional: Von App Engine migrieren

Wenn Sie zuvor eine App Engine-Bereitstellung erstellt haben und überprüft haben, dass sie keinen Traffic mehr empfängt, deaktivieren Sie die App Engine-Anwendung, um unerwartete Kosten zu vermeiden.

Optional: Bereitstellung in mehreren Regionen

Wenn Ihre Website weltweit präsent ist oder Sie Redundanz für den Dienst schaffen möchten, stellen Sie die Tagging-Server in mehreren Regionen bereit.

Ein paar wichtige Hinweise vorab:

  1. Load-Balancer erstellen
  2. Notieren Sie sich die ausgewählte BACKEND_NAME.

So fügen Sie Ihrer Bereitstellung weitere Regionen hinzu:

  1. Ersetzen Sie REGION durch die Region, in der der Vorschauserver bereitgestellt wird. Dieses Feld ist möglicherweise bereits ausgefüllt, wenn Sie den Vorschau- und Tagging-Server über die Befehlszeilenoptionen bereitgestellt haben.
  2. Ersetzen Sie CONTAINER_CONFIG durch den String für die Containerkonfiguration aus Tag Manager. Dieses Feld ist möglicherweise bereits ausgefüllt, wenn Sie den Vorschau- und Tagging-Server mithilfe der Befehlszeilenoptionen bereitgestellt haben.
  3. Ersetzen Sie NEW_REGION durch die neue Region, in der der Tagging-Server bereitgestellt werden soll.
  4. Ersetzen Sie BACKEND_NAME durch den Namen, den Sie bei der Bereitstellung des Load-Balancers ausgewählt haben.
  5. Optional: Wenn Sie eine weitere Region hinzufügen möchten, ersetzen Sie die Variable NEW_REGION und führen Sie das Code-Snippet noch einmal aus.
    gcloud run deploy "server-side-tagging" \
    --region NEW_REGION \
    --image gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable \
    --platform managed \
    --ingress all \
    --min-instances 2 \
    --max-instances 10 \
    --timeout 60 \
    --allow-unauthenticated \
    --no-cpu-throttling \
    --update-env-vars PREVIEW_SERVER_URL="$(
      gcloud run services describe server-side-tagging-preview \--region "REGION" \
      --format="value(status.url)")",CONTAINER_CONFIG="CONTAINER_CONFIG" && \

    gcloud compute network-endpoint-groups create server-side-tagging-neg \
    --region=NEW_REGION \
    --network-endpoint-type=SERVERLESS \
    --cloud-run-service="server-side-tagging" && \

    gcloud compute backend-services add-backend --global "BACKEND_NAME" \
    --network-endpoint-group-region=NEW_REGION \
    --network-endpoint-group=server-side-tagging-neg

Optional: Logging deaktivieren

Anfrage-Logging

Standardmäßig werden Informationen zu jeder einzelnen Anfrage (z. B. Anfragepfad, Abfrageparameter usw.) in Logs geschrieben. Wenn Ihr Tagging-Server viele Anfragen pro Monat verarbeitet (z.B. mehr als eine Million), können für diese Logeinträge hohe Logging-Gebühren anfallen. Wir empfehlen, das Anfrage-Logging zu deaktivieren, um die Logging-Gebühren zu reduzieren oder zu eliminieren.

So deaktivieren Sie das Anfrage-Logging:

  1. Öffnen Sie in der Google Cloud Platform den Logs Router. Sie müssen sich in dem Projekt befinden, das Ihrer Container-ID entspricht:
    Screenshot der GCP-Projektauswahl mit einer Tag Manager-Container-ID als Beispiel
  2. Wählen Sie unter Typ: Cloud Logging-Bucket in der Zeile Name _Default das Dreipunkt-Menü aus und klicken Sie dann auf Senke bearbeiten.
  3. Wählen Sie unter Senkenziel den Log-Bucket _Default aus.
  4. Fügen Sie unter Logs für Senke auswählen eine neue Zeile hinzu. Geben Sie in den vorhandenen Einschlussfilter die folgende Regel ein:

    NOT LOG_ID("run.googleapis.com/requests")
    
  5. Wenn Sie auch das Logging des Load-Balancers deaktivieren möchten, fügen Sie eine neue Zeile hinzu und geben Sie die folgende Regel in den vorhandenen Einschlussfilter ein:

    NOT LOG_ID("requests")
    
  6. Aktualisieren Sie die Senke, um die Änderungen zu übernehmen. Jetzt werden die Anfragen vom Logging ausgeschlossen.

  7. Achten Sie darauf, dass in den Logs des Log-Explorers keine neuen Anfragen enthalten sind.

Konsolen-Logging

Der Tagging-Server, die Tagging-Clients oder die Tags in einem Container können Nachrichten in der Konsole protokollieren, für die Logging-Gebühren anfallen können. Sie können unerwünschte Konsolen-Lognachrichten deaktivieren, um die Logging-Gebühren zu reduzieren oder zu eliminieren.

Identifizieren Sie unerwünschte Konsolenprotokolle:

  1. Öffnen Sie in der GCP den Log-Explorer.
  2. Suchen Sie nach unerwünschten Protokollmeldungen, die von Ihren Tags stammen. Beispiel:

    Ein Tag kann folgende Logs 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:
    Screenshot des GCP-Log-Explorers mit Beispiellogs

So deaktivieren Sie die Konsolen-Protokollmeldung:

  1. Öffnen Sie in der Google Cloud Platform den Logs Router. Sie müssen sich in dem Projekt befinden, das Ihrer Container-ID entspricht:
    Screenshot der GCP-Projektauswahl mit einer Tag Manager-Container-ID als Beispiel
  2. Wählen Sie unter Typ: Cloud Logging-Bucket in der Zeile Name _Default das Dreipunkt-Menü aus und klicken Sie dann auf Senke bearbeiten.
  3. Wählen Sie unter Senkenziel den Log-Bucket _Default aus.
  4. Fügen Sie unter Logs für Senke auswählen eine neue Zeile hinzu. Geben Sie in den vorhandenen Einschlussfilter die folgende Regel ein:

    NOT textPayload:"Custom message:"
    

    Ersetzen Sie in den Konsolenlogs den Text Custom message: durch einen Teilstring aus dem Konsolenlog, den Sie deaktivieren möchten. Für detailliertere Filter verwenden Sie die Logging-Abfragesprache.

  5. Aktualisieren Sie die Senke, um die Änderungen zu übernehmen. Die entsprechende logToConsole-Nachricht sollte vom Logging ausgeschlossen werden.

  6. Achten Sie darauf, dass keine neuen Konsolenlogmeldungen im Log-Explorer angezeigt werden.

2. Bereitstellung Ihrer benutzerdefinierten Domain zuordnen

Verwenden Sie einen globalen externen Application Load Balancer, um eine benutzerdefinierte Domain einzurichten.

3. Server-URL zu Google Tag Manager hinzufügen

Da Sie nun einen Server haben, müssen Sie überprüfen, ob Google Tag Manager weiß, dass er Ihren Server verwenden soll.

  1. Öffnen Sie Google Tag Manager.

  2. Klicken Sie auf den Servercontainer, der auf Ihren Tagging-Server verweisen soll.

  3. Öffnen Sie die Einstellungen für den Servercontainer auf dem Tab Admin > Containereinstellungen.

  4. Klicken Sie auf URL hinzufügen und fügen Sie die Server-URL ein.

  5. Klicken Sie auf Speichern und kehren Sie zum Arbeitsbereich zurück.

4. Validierung

Nachdem Sie den Tagging-Server eingerichtet haben, prüfen Sie, ob er wie vorgesehen funktioniert. Klicken Sie im Tag Manager-Arbeitsbereich auf die Schaltfläche Vorschau. Wenn die Vorschauseite geladen wird, ist alles korrekt eingerichtet.

Vorschau für mehrere URLs anzeigen

Wenn Sie mehrere Domains einem einzelnen Tagging-Server zugeordnet haben, muss jede URL den Containereinstellungen hinzugefügt werden.

Wenn Sie mehrere URLs angegeben haben, müssen alle Pfade (der String nach dem Domainnamen) übereinstimmen.

Funktioniert 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 wurden, wird neben der Schaltfläche Vorschau ein Symbol angezeigt, über das Sie die URL für die Vorschau auswählen können.

Tagging-Serverversion aktualisieren

Neue Tagging-Serverupdates enthalten Fehlerkorrekturen für Sicherheitslücken und neue Funktionen. Wir empfehlen, den Tagging-Server zumindest für jede Hauptversion zu aktualisieren (z.B. ein Upgrade von Version 1.x.x auf 2.x.x), wenn Sie von Tag Manager über eine Aktualisierung informiert werden.

Wenn Sie den Tagging-Server aktualisieren möchten, stellen Sie eine neue Version mit denselben Einstellungen bereit, die Sie zuvor verwendet haben.

  1. Öffnen Sie Cloud Run.
  2. Wählen Sie den Dienst aus, den Sie aktualisieren möchten.
  3. Klicken Sie auf NEUE ÜBERARBEITUNG BEARBEITEN UND BEREITSTELLEN.
  4. Achten Sie darauf, dass die Container-Image-URL auf gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable festgelegt ist, und klicken Sie auf Bereitstellen.

So überprüfst du, ob das Update erfolgreich war:

  1. 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.
  2. Wählen Sie in der Zusammenfassung den Tab Console aus und achten Sie darauf, dass keine Meldungen angezeigt werden, die Sie zum Aktualisieren des Tagging-Servers auffordern.

In Tag Manager werden unter Umständen Meldungen angezeigt, in denen Sie aufgefordert werden, den Tagging-Server bis zu einen Tag nach einer erfolgreichen Aktualisierung zu aktualisieren. Auf der Vorschauseite wird jedoch eine aktuelle Meldung zur Tagging-Serverversion angezeigt.