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.
  • Stellen Sie einen Tagging-Server für Livetraffic bereit.
  • 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

  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. Falls Sie noch keins haben, erstellen Sie ein GCP-Rechnungskonto. Dazu ist die Rolle „Creator of Billing Account“ erforderlich.
  3. Sie benötigen die Rolle „Projektersteller“ und die Rolle „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

Bei 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, für die das Preismodell „Immer zugewiesene CPU“ verwendet wird.

Wir empfehlen, mindestens zwei Instanzen auszuführen, um das Risiko von Datenverlusten bei einem Serverausfall zu verringern. Sie können jedoch auch weniger oder mehr Server ausführen. Wir gehen davon aus, dass mit 2 bis 10 Servern mit automatischer Skalierung 35 bis 350 Anfragen pro Sekunde verarbeitet werden. Die Leistung hängt jedoch von der Anzahl der Tags und ihrer Funktion ab.

Cloud Run wird dynamisch mit der Auslastung skaliert. Die Einstellung max-instances ist der Worst-Case-Fall für die Kosten für Ressourcen. Cloud Run stellt nur so viele Instanzen bereit, wie unbedingt erforderlich sind.

Cloud Run-Rechner

Optional: Von der App Engine migrieren

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

Optional: Multiregionale Bereitstellung

Wenn Ihre Website weltweit verfügbar ist oder Sie den Dienst redundant ausrichten möchten, sollten Sie die Tagging-Server in mehreren Regionen bereitstellen.

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 Vorabversionsserver bereitgestellt wird. Dieser Wert ist möglicherweise bereits ausgefüllt, wenn du die Befehlszeilenoptionen zur Bereitstellung des Vorschau- und Tagging-Servers befolgt hast.
  2. Ersetzen Sie CONTAINER_CONFIG durch den Container-Konfigurationsstring aus Tag Manager. Dieser Wert ist möglicherweise bereits ausgefüllt, wenn du der Anleitung für die Befehlszeilenoptionen zur Bereitstellung des Vorschau- und Tagging-Servers gefolgt bist.
  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 beim Bereitstellen 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 protokolliert (z. B. Anfragepfad, Abfrageparameter usw.). Wenn Ihr Tagging-Server viele Anfragen pro Monat verarbeitet (z.B. mehr als eine Million), können diese Protokollmeldungen erhebliche Protokollierungsgebühren verursachen. Um die Logging-Kosten zu reduzieren oder zu vermeiden, empfehlen wir, das Anforderungs-Logging zu deaktivieren.

So deaktivieren Sie das Anfrage-Logging:

  1. Ö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:
    Screenshot der GCP-Projektauswahl mit einer Beispiel-Tag Manager-Container-ID
  2. Wählen Sie für die Zeile Typ: Cloud Logging-Bucket, Name: _Default das Dreipunkt-Menü und dann Senke bearbeiten aus.
  3. Wählen Sie unter Senkenziel den Log-Bucket _Default aus.
  4. 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("run.googleapis.com/requests")
    
  5. 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")
    
  6. Klicken Sie auf Senke aktualisieren, um die Änderungen anzuwenden. Die Anfragen werden jetzt vom Logging ausgeschlossen.

  7. 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 Konsole protokollieren, wodurch Protokollierungsgebühren anfallen können. Sie können unerwünschte Konsolenprotokollmeldungen deaktivieren, um die Logging-Kosten zu reduzieren oder zu vermeiden.

Unerwünschte Konsolenprotokolle identifizieren:

  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 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 Protokollmeldungen:
    Screenshot des GCP Logs Explorer mit Beispielprotokollen

So deaktivieren Sie die Konsolenprotokollmeldung:

  1. Ö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:
    Screenshot der GCP-Projektauswahl mit einer Beispiel-Tag Manager-Container-ID
  2. Wählen Sie für die Zeile Typ: Cloud Logging-Bucket, Name: _Default das Dreipunkt-Menü und dann Senke bearbeiten aus.
  3. Wählen Sie unter Senkenziel den Log-Bucket _Default aus.
  4. 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.

  5. Klicken Sie auf Senke aktualisieren, um die Änderungen anzuwenden. Die übereinstimmende logToConsole-Nachricht sollte vom Logging ausgeschlossen werden.

  6. Prüfen Sie, ob im Log-Explorer keine neuen Konsolenprotokollmeldungen angezeigt werden.

2. Bereitstellung der benutzerdefinierten Domain zuordnen

Verwenden Sie zum Einrichten einer benutzerdefinierten Domain einen globalen externen Application Load Balancer.

3. 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.

  1. Öffnen Sie Google Tag Manager.

  2. Klicken Sie auf den Servercontainer, auf den Sie Ihren Tagging-Server verweisen möchten.

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

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

  5. Speichern und zum Arbeitsbereich zurückkehren

4. 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.

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 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, Ihren Tagging-Server mindestens bei jeder neuen Hauptversion zu aktualisieren (z.B. von Version 1.x.x auf Version 2.x.x), wenn Sie in Tag Manager dazu aufgefordert werden.

Wenn Sie Ihren 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 prüfen Sie, ob die Aktualisierung 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 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.