Configurer le taggage côté serveur avec Cloud Run

Ce guide vous explique comment:

  • Provisionnez un serveur d'aperçu pour activer la fonctionnalité d'aperçu du conteneur.
  • Provisionnez un serveur d'insertion de balises pour gérer le trafic en direct.
  • Augmentez ou diminuez le nombre de serveurs exécutant 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 Créateur de projet et Utilisateur de compte de facturation. En savoir plus sur l'ajout de rôles

Provisionner un serveur de prévisualisation 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 que vous devez ajuster.
  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 $par mois (USD). Chaque serveur est une instance Cloud Run avec 1 vCPU et 0,5 Go de mémoire, utilisant le modèle de tarification CPU toujours alloué.

Nous vous recommandons d'exécuter au moins deux instances pour réduire le risque de perte de données en cas d'indisponibilité du serveur. Toutefois, vous pouvez choisir d'exécuter moins (ou plus) de serveurs. L'autoscaling de deux à dix serveurs devrait gérer entre 35 et 350 requêtes par seconde, bien que les performances varient en fonction du nombre de balises et de leur fonction.

Cloud Run s'adapte de manière dynamique à la charge. Le paramètre max-instances correspond au pire scénario pour le montant que vous devrez payer pour les ressources. Cloud Run ne provisionnera pas autant d'instances que nécessaire.

Calculatrice 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 pour éviter que des frais de facturation inattendus ne vous soient facturés.

Facultatif: Déploiement multirégional

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

Avant de commencer :

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

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

  1. Remplacez REGION par la région dans laquelle le serveur Preview est déployé. Ce champ peut déjà être renseigné 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. Ce champ peut déjà être renseigné 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

Journalisation des requêtes

Par défaut, les informations sur chaque requête (par exemple, le chemin d'accès de la requête, les paramètres de requête, etc.) sont consignées. Si votre serveur de taggage gère de nombreuses 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 d'être dans le projet correspondant à votre ID de conteneur:
    Capture d'écran du sélecteur de projet GCP, montrant un exemple d'ID de conteneur Tag Manager.
  2. Pour la ligne Type: Bucket Cloud Logging, 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. Saisissez la règle suivante dans le 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 ligne et saisissez la règle suivante dans le filtre d'inclusion existant:

    NOT LOG_ID("requests")
    
  6. Mettre à jour le récepteur pour appliquer les modifications. Les requêtes seront 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 de console indésirables.

Identifier 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 d'être dans le projet correspondant à votre ID de conteneur:
    Capture d'écran du sélecteur de projet GCP, montrant un exemple d'ID de conteneur Tag Manager.
  2. Pour la ligne Type: Bucket Cloud Logging, 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. Saisissez la règle suivante dans le filtre d'inclusion existant:

    NOT textPayload:"Custom message:"
    

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

  5. Mettre à 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 la visionneuse de journaux.

2. Mappez 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 avez un serveur, vous devez vous assurer que Google Tag Manager sait qu'il doit l'utiliser.

  1. Ouvrez Google Tag Manager.

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

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

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

  5. Enregistrez et revenez à votre espace de travail.

4. Validation

Maintenant que vous avez configuré votre serveur d'ajout de tags, assurez-vous qu'il fonctionne comme prévu. Dans votre espace de travail Tag Manager, cliquez sur le bouton Aperçu. Si la page d'aperçu s'affiche, tout est correctement configuré.

Prévisualiser plusieurs URL

Si vous avez mappé plusieurs domaines sur 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 (chaîne après le nom de domaine) doivent correspondre.

Fonctionne 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, une icône s'affiche à côté du bouton Aperçu. Elle 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 correctifs de failles de sécurité et de nouvelles fonctionnalités. Nous vous recommandons de mettre à jour votre serveur de taggage au moins pour chaque version majeure (par exemple, de la version 1.x.x à la version 2.x.x) lorsque Tag Manager vous en informe.

Pour mettre à jour votre serveur de taggage, déployez une nouvelle version en utilisant les mêmes paramètres que 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 "Résumé", sélectionnez l'onglet 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 affiche un message à jour sur la version du serveur de taggage.