Configurer le taggage côté serveur avec Cloud Run

Ce guide vous explique comment:

  • Provisionnez un serveur de prévisualisation afin d'activer la fonctionnalité d'aperçu pour le conteneur.
  • Provisionnez un serveur de taggage pour gérer le trafic en direct.
  • Augmentez ou diminuez le nombre de serveurs qui exécutent votre conteneur Google Tag Manager.
  • Mettez à jour la version de votre serveur de taggage après l'avoir provisionné.

Prérequis

  1. Vous devez disposer d'un compte GCP. Si vous n'en avez pas, créez un compte GCP.
  2. Vous devez disposer d'un compte de facturation GCP. Si vous n'en avez pas, créez un compte de facturation GCP (requiert le rôle Créateur de compte de facturation).
  3. Vous devez disposer des rôles de créateur de projet et d'utilisateur de compte de facturation. En savoir plus sur l'ajout de rôles

Provisionner un serveur d'aperçu et de taggage

Vous pouvez provisionner un service Cloud Run automatiquement dans Google Tag Manager ou manuellement dans Google Cloud.

Modifier la configuration du service

Pour modifier la configuration de votre service:

  1. Ouvrez Cloud Run.
  2. Sélectionnez le service à modifier.
  3. Cliquez sur Modifier et déployer la nouvelle révision.
  4. Apportez les modifications nécessaires, puis cliquez sur Déployer.

Coût de Cloud Run

Dans cette configuration Cloud Run, chaque serveur coûte environ 45 $ /mois. Chaque serveur est une instance Cloud Run avec un processeur virtuel et 0,5 Go de mémoire, et utilise le modèle de tarification du processeur toujours alloué.

Nous vous recommandons d'exécuter un minimum de deux instances pour réduire le risque de perte de données en cas de panne du serveur. Cependant, vous pouvez choisir d'exécuter moins de serveurs, voire plus. Un autoscaling de 2 à 10 serveurs devrait traiter entre 35 et 350 requêtes par seconde. Toutefois, les performances varient en fonction du nombre de tags et de leur fonctionnement.

Cloud Run effectue un scaling dynamique en fonction de la charge. Le paramètre max-instances représente le pire des scénarios concernant la somme que vous devrez payer pour des ressources. Cloud Run ne provisionne pas autant d'instances que nécessaire, sauf en cas de nécessité.

Calculateur Cloud Run

Facultatif: Migrer depuis App Engine

Si vous avez déjà créé un déploiement App Engine et que vous avez vérifié qu'il ne reçoit plus de trafic, désactivez l'application App Engine afin d'éviter des frais inattendus.

Déploiement multirégional (facultatif)

Si votre site Web est présent dans le monde entier ou si vous souhaitez intégrer une redondance au sein du service, déployez les serveurs de taggage dans plusieurs régions.

Avant de commencer

  1. Créer un équilibreur de charge
  2. Notez l'élément BACKEND_NAME que vous avez choisi.

Pour ajouter des régions à votre déploiement:

  1. Remplacez REGION par la région dans laquelle le serveur de prévisualisation est déployé. Il est possible que ce champ soit déjà rempli si vous avez suivi les options de ligne de commande pour provisionner le serveur d'aperçu et de taggage.
  2. Remplacez CONTAINER_CONFIG par la chaîne de configuration du conteneur de Tag Manager. Il est possible que ce champ soit déjà rempli si vous avez suivi les options de ligne de commande pour provisionner le serveur d'aperçu et de taggage.
  3. Remplacez NEW_REGION par la nouvelle région dans laquelle vous souhaitez déployer le serveur de taggage.
  4. Remplacez BACKEND_NAME par le nom que vous avez choisi lors du provisionnement de l'équilibreur de charge.
  5. Facultatif: Pour ajouter une autre région, remplacez la variable NEW_REGION et réexécutez l'extrait de code.
    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

Facultatif: Désactiver la journalisation

Demander la journalisation

Par défaut, les informations sur chaque requête (par exemple, le chemin d'accès, les paramètres de requête, etc.) sont consignées. Si votre serveur de taggage traite un grand nombre de requêtes par mois (par exemple, plus d'un million), ces messages de journal peuvent entraîner des frais de journalisation importants. Pour réduire ou éliminer les frais de journalisation, nous vous recommandons de désactiver la journalisation des requêtes.

Pour désactiver la journalisation des requêtes:

  1. Dans Google Cloud Platform, ouvrez le routeur de journaux. Assurez-vous de vous trouver dans le projet correspondant à l'ID de votre conteneur:
    capture d'écran du sélecteur de projet GCP, montrant un exemple d'ID de conteneur Tag Manager
  2. Dans le champ Type: Bucket Cloud Logging et Nom: _Default, sélectionnez le menu à développer, puis cliquez sur Modifier le récepteur.
  3. Sous Destination du récepteur, sélectionnez le bucket de journaux _Default.
  4. Sous Choisissez des journaux à inclure dans le récepteur, ajoutez une ligne. Ajoutez la règle suivante au filtre d'inclusion existant:

    NOT LOG_ID("run.googleapis.com/requests")
    
  5. Pour désactiver également la journalisation à partir de l'équilibreur de charge, ajoutez une nouvelle ligne et saisissez la règle suivante dans le filtre d'inclusion existant:

    NOT LOG_ID("requests")
    
  6. Mettez à jour le récepteur pour appliquer les modifications. Les requêtes sont désormais exclues de la journalisation.

  7. Vérifiez qu'aucune nouvelle requête n'apparaît dans les journaux de l'explorateur de journaux.

Journalisation de la console

Le serveur de taggage, les clients ou les balises d'un conteneur peuvent consigner des messages dans la console, ce qui peut entraîner des frais de journalisation. Pour réduire ou éliminer les frais de journalisation, vous pouvez désactiver les messages de journal indésirables de la console.

Identifiez les journaux de console indésirables:

  1. Dans GCP, ouvrez l'explorateur de journaux.
  2. Recherchez les messages de journal indésirables provenant de vos balises. Exemple :

    Une balise peut envoyer les journaux suivants:

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

    Recherchez les messages de journal correspondants dans le champ textPayload:
    capture d'écran de l'explorateur de journaux GCP, montrant des exemples de journaux

Pour désactiver le message de journal de la console:

  1. Dans Google Cloud Platform, ouvrez le routeur de journaux. Assurez-vous de vous trouver dans le projet correspondant à l'ID de votre conteneur:
    capture d'écran du sélecteur de projet GCP, montrant un exemple d'ID de conteneur Tag Manager
  2. Dans le champ Type: Bucket Cloud Logging et Nom: _Default, sélectionnez le menu à développer, puis cliquez sur Modifier le récepteur.
  3. Sous Destination du récepteur, sélectionnez le bucket de journaux _Default.
  4. Sous Choisissez des journaux à inclure dans le récepteur, ajoutez une ligne. Ajoutez la règle suivante au filtre d'inclusion existant:

    NOT textPayload:"Custom message:"
    

    Pour les journaux de votre console, remplacez le texte Custom message: par une sous-chaîne du journal de la console que vous souhaitez désactiver. Pour des filtres plus élaborés, utilisez le langage de requête de journalisation.

  5. Mettez à jour le récepteur pour appliquer les modifications. Le message logToConsole correspondant doit être exclu de la journalisation.

  6. Vérifiez qu'aucun nouveau message de journal de la console n'apparaît dans l'explorateur de journaux.

2. Mapper le déploiement sur votre domaine personnalisé

Pour configurer un domaine personnalisé, utilisez un équilibreur de charge d'application externe global.

3. Ajouter l'URL du serveur à Google Tag Manager

Maintenant que vous disposez d'un serveur, vous devez vous assurer que Google Tag Manager sait qu'il doit utiliser votre serveur.

  1. Ouvrez Google Tag Manager.

  2. Cliquez sur le conteneur serveur que vous souhaitez faire pointer vers votre serveur de taggage.

  3. Ouvrez les paramètres de votre conteneur serveur dans l'onglet Admin > Paramètres du conteneur.

  4. Cliquez sur Ajouter une URL et collez l'URL de votre serveur.

  5. Enregistrer et revenir à votre espace de travail.

4. Validation

Maintenant que vous avez configuré votre serveur de taggage, vérifiez qu'il fonctionne comme prévu. Dans votre espace de travail Tag Manager, cliquez sur le bouton Prévisualiser. Si la page d'aperçu se charge, cela signifie que tout est correctement configuré.

Prévisualiser plusieurs URL

Si vous avez mappé plusieurs domaines à un seul serveur de taggage, assurez-vous que chaque URL est ajoutée aux paramètres du conteneur.

Si vous avez fourni plusieurs URL, tous les chemins (la chaîne après le nom de domaine) doivent correspondre.

Œuvres Ne fonctionne pas
URL 1: example.com/abc
URL 2: example2.com/abc
URL 1: example.com/abc
URL 2: example2.com/def

Si vous ajoutez plusieurs URL, vous verrez une icône à côté du bouton Aperçu, qui vous permet de sélectionner l'URL à prévisualiser.

Mettre à jour la version du serveur de taggage

Les nouvelles mises à jour du serveur de taggage contiennent des corrections de failles de sécurité et de nouvelles fonctionnalités. Nous vous recommandons de mettre à jour votre serveur de taggage pour chaque version majeure (par exemple, de la version 1.x.x à la version 2.x.x) lorsque Tag Manager vous invite à le faire.

Pour mettre à jour votre serveur de taggage, déployez une nouvelle révision en utilisant les mêmes paramètres que ceux utilisés précédemment.

  1. Ouvrez Cloud Run.
  2. Sélectionnez le service que vous souhaitez mettre à jour.
  3. Cliquez sur Modifier et déployer la nouvelle révision.
  4. Assurez-vous que l'URL de l'image du conteneur est définie sur gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable, puis cliquez sur Déployer.

Pour vérifier que la mise à jour a bien été effectuée:

  1. Dans votre conteneur serveur, cliquez sur le bouton Preview (Aperçu) pour démarrer une nouvelle session de débogage et envoyer une requête dans un onglet distinct.
  2. Dans la section "Summary" (Résumé), sélectionnez l'onglet Console (Console) et assurez-vous qu'aucun message ne vous demande de mettre à jour le serveur de taggage.

Tag Manager peut afficher des messages vous demandant de mettre à jour votre serveur de taggage jusqu'à une journée après la mise à jour du serveur. Toutefois, la page d'aperçu affichera un message à jour sur la version du serveur de taggage.