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 den Live-Traffic bereit.
  • Anzahl der Server erhöhen oder verringern, auf denen das Google-Tag ausgeführt wird Manager-Container.
  • Halten Sie die Tagging-Serverversion nach der Bereitstellung des Servers immer auf dem neuesten Stand.

Vorbereitung

  1. Sie benötigen ein Google Cloud-Konto. Falls Sie keines haben, Erstellen Sie ein neues GCP-Konto.
  2. Sie benötigen ein GCP-Rechnungskonto. Falls Sie keines haben, Erstellen Sie ein GCP-Rechnungskonto (erfordert die Rolle „Rechnungskontoersteller“).
  3. Sie benötigen die Rollen „Projektersteller“ und „Rechnungskontonutzer“. Weitere Informationen zu Rollen hinzufügen

Vorschau- und Tagging-Server bereitstellen

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

So richten Sie den Tag Manager-Servercontainer in Cloud Run ein:

  1. Google Tag Manager öffnen
  2. Klicken Sie im Dreipunkt-Menü Ihres Kontos auf Container erstellen.
  3. Geben Sie unter Containereinstellungen einen Namen für den neuen Container ein und wählen Sie Server aus. Klicken Sie auf Erstellen. Nachdem der Container erstellt wurde, wird ein Einrichtungsbildschirm angezeigt.
  4. Klicken Sie auf Tagging-Server automatisch bereitstellen.
  5. Wählen Sie ein Rechnungskonto für den Container aus oder erstellen Sie eines und erstellen Sie den Server.
    Ergebnis: Google Tag Manager stellt in Cloud Run einen Tagging-Server mit einer Testkonfiguration bereit und fügt die Cloud Run-Domain als Tagging-Server-URL hinzu.

    Screenshot des Overlays mit den Informationen zur Serverkonfiguration
    Die Standard-URL wird automatisch generiert und von Google Cloud Run zugewiesen. Sie besteht aus https://[GOOGLE_CLOUD_PLATFORM_PROJECT_ID]-[GOOGLE_CLOUD_REGION_ID].a.run.app. Bei der automatischen Nutzerverwaltung lautet die Google Cloud-Region immer us-central1 und die Regions-ID daher uc.

Sie können den Workflow für die automatische Bereitstellung nur einmal ausführen. So ändern Sie Ihr konfigurieren möchten, führen Sie die folgenden Schritte aus.

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 (USD). Jeder Server ist eine Cloud Run-Instanz mit 1 vCPU und 0,5 GB Arbeitsspeicher über die CPU das immer zugewiesene Preismodell.

Wir empfehlen, mindestens zwei Instanzen auszuführen, um das Risiko eines Datenverlusts in im Fall eines Serverausfalls. Sie können aber auch weniger (oder mehr) Server betreiben. Wir gehen davon aus, dass das Autoscaling von 2–10 Servern 35–350 Anfragen pro Sekunde verarbeiten kann. Die Leistung variiert jedoch je nach Anzahl der Tags was Sie tun können.

Cloud Run wird mit der Last dynamisch skaliert. Mit der Einstellung max-instances legen Sie fest, Worst-Case-Szenario für die Kosten für Ressourcen. Cloud Run werden nur bei Bedarf so viele Instanzen bereitgestellt.

Cloud Run-Rechner

Optional: Von App Engine migrieren

Wenn Sie bereits eine App Engine-Bereitstellung erstellt und geprüft haben, ob sie keinen Traffic mehr erhalten, Deaktivieren der App Engine-Anwendung um unerwartete Kosten zu vermeiden.

Optional: Multiregionale Bereitstellung

Wenn Ihre Website global präsent ist oder Sie Redundanz die Tagging-Server bereitstellen, mehrere Regionen.

Ein paar wichtige Hinweise vorab:

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

So fügen Sie Ihrer Bereitstellung weitere Regionen hinzu:

  1. Ersetzen Sie REGION durch die Region, in der die wird der Vorschauserver bereitgestellt. Dieses Feld ist möglicherweise bereits ausgefüllt, wenn Sie die Befehlszeilenoptionen zum Bereitstellen des Vorschau- und Tagging-Servers.
  2. CONTAINER_CONFIG durch Container ersetzen Konfigurations-String aus Tag Manager. Dieses Feld ist möglicherweise bereits ausgefüllt, wenn Sie dieser über die Befehlszeilenoptionen für die Bereitstellung des Vorschau- und Tagging-Servers.
  3. Ersetzen Sie NEW_REGION durch die neue Region, wobei der Tagging-Server bereitgestellt werden soll.
  4. Ersetzen Sie BACKEND_NAME durch den ausgewählten Namen. während der Bereitstellung des Load-Balancers.
  5. Optional: Wenn Sie eine weitere Region hinzufügen möchten, ersetzen Sie NEW_REGION und führen Sie den Code noch einmal aus Snippet.
    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 Anfrage (z.B. Anfragepfad, Anfrage Parameter usw.) protokolliert wird. Wenn der Tagging-Server viele Anfragen pro Monat (z.B. über 1 Million) Log-Nachrichten erhebliche Logging-Gebühren. Um die oder die Protokollierungsgebühren eliminieren, empfehlen wir, die Anfrage zu deaktivieren, Logging.

So deaktivieren Sie das Anfrage-Logging:

  1. Öffnen Sie in der Google Cloud Platform Logs Router: Achten Sie darauf, Sie befinden sich in dem Projekt, das Ihrer Container-ID entspricht:
    Screenshot der GCP-Projektauswahl mit einem Beispiel-Tag Manager-Container
ID.
  2. Wählen Sie für die Zeile Typ: Cloud Logging-Bucket und Name: _Default die Option aus. das Dreipunkt-Menü auf 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 die Senke auswählen eine neue Zeile hinzu. Geben Sie den folgende Regel zum vorhandenen Einschlussfilter hinzu:

    NOT LOG_ID("run.googleapis.com/requests")
    
  5. Um auch das Logging des Load-Balancers zu deaktivieren, fügen Sie eine neue Zeile hinzu und geben die folgende Regel zum vorhandenen Einschlussfilter hinzu:

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

  7. Stellen Sie sicher, dass im Logs des Log-Explorers.

Logging in der Konsole

Der Tagging-Server, Clients oder Tags in einem Container können Nachrichten protokollieren Console, für die Logging-Gebühren anfallen können. Um die Logging-Gebühren zu reduzieren oder zu vermeiden, können Sie unerwünschte Konsolen Log-Nachrichten.

Unerwünschte Konsolenprotokolle ermitteln:

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

    Ein Tag kann folgende Protokolle senden:

    const logToConsole = require('logToConsole');
    
    logToConsole('Custom message: ' + data.param1);
    logToConsole('An important message to keep around!');
    data.gtmOnSuccess()
    

    Die entsprechenden Logeinträge finden Sie im Feld textPayload:
    Screenshot des GCP-Log-Explorers mit Beispiel
Logs.

So deaktivieren Sie die Konsolen-Lognachricht:

  1. Öffnen Sie in der Google Cloud Platform Logs Router: Achten Sie darauf, Sie befinden sich in dem Projekt, das Ihrer Container-ID entspricht:
    Screenshot der GCP-Projektauswahl mit einem Beispiel-Tag Manager-Container
ID.
  2. Wählen Sie für die Zeile Typ: Cloud Logging-Bucket und Name: _Default die Option aus. das Dreipunkt-Menü auf 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 die Senke auswählen eine neue Zeile hinzu. Geben Sie den folgende Regel zum vorhandenen Einschlussfilter hinzu:

    NOT textPayload:"Custom message:"
    

    Ersetzen Sie für Ihre Konsolenlogs den Abschnitt Custom message: Text durch einen Teilstring aus dem Konsolenprotokoll, das Sie deaktivieren möchten. Weitere Informationen um komplexe Filter zu erstellen, Logging-Abfragesprache

  5. Senke aktualisieren, um die Änderungen zu übernehmen. Die passende logToConsole sollte vom Logging ausgeschlossen werden.

  6. Achten Sie darauf, dass keine neuen Konsolenprotokollnachrichten im Log-Explorer:

2. Bereitstellung Ihrer 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

Da Sie nun einen Server haben, müssen Sie sicherstellen, dass Google Tag Manager die sollte es Ihren Server verwenden.

  1. Öffnen Sie das Google-Tag. Administrator

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

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

  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, sollten Sie prüfen, ob er wie vorgesehen funktioniert. Klicken Sie im Tag Manager-Arbeitsbereich auf die Schaltfläche Vorschau. Wenn die Vorschauseite ist alles korrekt eingerichtet.

Mehrere URLs in der Vorschau anzeigen

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

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

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

Tagging-Serverversion aktualisieren

Neue Tagging-Server-Updates enthalten Fehlerkorrekturen und neue Funktionen. Wir empfehlen, den Tagging-Server für jede Hauptversion Release-Version (z.B. Upgrade von Version 1.x.x auf 2.x.x), wenn Tag Manager werden Sie aufgefordert, das Update durchzuführen.

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. Die Container-Image-URL muss auf gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable und klicken Sie auf Bereitstellen.

So überprüfen Sie, ob die Aktualisierung erfolgreich war:

  1. Klicken Sie im Servercontainer auf Vorschau, um ein neues Debug-Sitzung und senden Sie eine Anfrage in einem separaten Tab.
  2. Wählen Sie in der Zusammenfassung den Tab Konsole aus und achten Sie darauf, dass keine in denen Sie aufgefordert werden, den Tagging-Server zu aktualisieren.

In Tag Manager werden möglicherweise Meldungen angezeigt, in denen Sie aufgefordert werden, Ihren Tagging-Server für bis zu einem Tag nach der erfolgreichen Aktualisierung des Servers. Die Vorschau wird eine aktuelle Meldung zur Tagging-Serverversion angezeigt.