Configurare il tagging lato server con App Engine

Questa guida spiega come:

  • Eseguire il provisioning di un server di tagging su App Engine per la piattaforma Google Cloud.
  • Esegui l'upgrade del server di tagging per gestire il traffico in tempo reale.
  • Aumenta o riduci il numero di server su cui è in esecuzione il contenitore Google Tag Manager.
  • Mantieni aggiornata la versione del server di tagging dopo aver eseguito il provisioning del server.

Prerequisiti

  1. Devi avere un account Google Cloud. Se non ne hai uno, crea un nuovo account Google Cloud.
  2. Devi avere un account di fatturazione Google Cloud. Se non ne hai uno, crea un account di fatturazione Google Cloud (richiede il ruolo Creatore account di fatturazione).
  3. Devi disporre del ruolo Autore progetto e Utente account di fatturazione. Scopri di più sull'aggiunta di ruoli.

1. Esegui il provisioning di un server

Per creare un nuovo server di tagging su un'istanza di App Engine, devi:

  • Creare un nuovo contenitore del server in Tag Manager
  • Creare un nuovo progetto Google Cloud
  • Eseguire il provisioning di un nuovo server di tagging App Engine
  • Aggiungere l'URL del nuovo server di tagging al contenitore del server di Tag Manager

Creare un contenitore del server di Google Tag Manager

  1. Apri Google Tag Manager.

  2. Nella riga dell'account, fai clic sul menu extra > Crea contenitore.

  3. Crea un nuovo contenitore del server.

  4. Fai clic sul pulsante di opzione "Esegui manualmente il provisioning del server di tagging". Prendi nota della configurazione dei container. Ti servirà per eseguire il provisioning del server.

Crea un nuovo progetto Google Cloud

Per creare un nuovo progetto Google Cloud per il server di tagging:

  1. Apri la console Google Cloud.

  2. Crea un nuovo progetto Google Cloud.

  3. Assegna un nome al progetto. Ti consigliamo di utilizzare il tuo ID contenitore per praticità. Questo nome viene utilizzato solo all'interno di Google Cloud.

  4. Prendi nota dell'ID progetto Google Cloud, poiché ti servirà per creare il server di tagging.

Eseguire il provisioning di un nuovo server di tagging

Per creare il server di tagging:

  1. Apri Cloud Shell.

  2. Imposta il progetto Google Cloud in Cloud Shell. Sostituisci project ID con l'ID del progetto Google Cloud che hai annotato in precedenza:

    gcloud config set project project ID
    
  3. Crea il server di tagging seguendo lo script shell. Imposta il tipo di deployment su testing.

    bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
    

Aggiungere l'URL del server di tagging a Tag Manager

  1. Apri Google Tag Manager.

  2. In Amministrazione > Impostazioni contenitore, fai clic su Aggiungi URL. Se non conosci l'URL del tuo server, esegui questo comando in Cloud Shell:

    gcloud app browse
    

    Risultato: hai configurato un server di tagging e ne hai eseguito il provisioning con una configurazione testing. Ora puoi testare il tagging lato server.

Configurazione iniziale del server (testing)

La configurazione di test è appropriata per esplorare il prodotto inviando piccole quantità di traffico di prova e utilizzando la funzionalità Anteprima in Tag Manager. Questa configurazione è una classe di istanza F1 di App Engine nell'ambiente Standard e nella maggior parte dei casi non ti viene addebitato alcun costo.

2. Utilizzo di App Engine in produzione

Nella configurazione di production, ogni server costa circa 40 $al mese (USD). Ogni server è un'istanza App Engine con 1 vCPU, 0,5 GB di memoria, 10 GB di disco nell'ambiente flessibile.

Consulta Gestione dei costi di App Engine per informazioni sulla fatturazione di App Engine e su come configurare gli avvisi di fatturazione. Ti consigliamo vivamente di configurare un avviso di fatturazione.

Ti consigliamo di eseguire almeno tre server per ridurre il rischio di perdita di dati in caso di interruzione del server. Tuttavia, puoi scegliere di eseguire un numero minore (o più) di server. Prevediamo che con la scalabilità automatica da 3 a 6 server (impostazione predefinita) vengano gestite 50-200 richieste al secondo. Le prestazioni dipendono dal numero di tag e dalle loro funzioni.

Per configurare il server di tagging:

  1. Apri Cloud Shell della piattaforma Google Cloud.
  2. Imposta il progetto della piattaforma Cloud in Cloud Shell. Sostituisci project ID con l'ID progetto Google Cloud che hai annotato in precedenza:
    gcloud config set project project ID
  3. Per riconfigurare il server di tagging per un ambiente di produzione, esegui lo script di configurazione riportato di seguito. Esegui le seguenti attività:
    bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
    1. Cambia il tipo di deployment in production.
    2. Configura server aggiuntivi per gestire il traffico di produzione. Consigliamo di utilizzare almeno tre server.

(Facoltativo) Disabilita logging

Richiedi logging

Per impostazione predefinita, App Engine registra le informazioni su ogni singola richiesta (ad esempio percorso della richiesta, parametri di query e così via) ricevuta. Se il tuo server di tagging gestisce molte richieste al mese (ad es. più di 1 milione), i messaggi di log potrebbero comportare costi di logging significativi. Per ridurre o eliminare gli addebiti per il logging, consigliamo di disabilitare il logging delle richieste di App Engine.

Per disabilitare il logging delle richieste di App Engine:

  1. Nella piattaforma Google Cloud, apri il router dei log. Assicurati di far parte del progetto corrispondente al tuo ID contenitore:
    Screenshot del selettore di progetti Google Cloud che mostra un ID contenitore di Tag Manager di esempio.
  2. Per la riga Tipo: Bucket Cloud Logging, Nome: _Default, seleziona il menu extra, quindi fai clic su Modifica sink.
  3. In Destinazione sink, seleziona il bucket dei log _Default.
  4. In Scegli i log da includere nel sink, aggiungi una nuova riga. Inserisci la seguente regola nel filtro di inclusione esistente:

    NOT LOG_ID("appengine.googleapis.com/nginx.request") AND NOT
    LOG_ID("appengine.googleapis.com/request_log")
    
  5. Per disabilitare anche il logging dal bilanciatore del carico, aggiungi una nuova riga e inserisci la seguente regola al filtro di inclusione esistente:

    NOT LOG_ID("requests")
    
  6. Aggiorna il sink per applicare le modifiche. Ora le richieste App Engine saranno escluse dal logging.

  7. Verifica che non vengano visualizzate nuove richieste nei log di Esplora log.

Logging della console

Il server di tagging, i client o i tag in un contenitore possono registrare messaggi nella console che potrebbero comportare costi di registrazione. Per ridurre o eliminare gli addebiti di logging, puoi disabilitare i messaggi di log della console indesiderati.

Identifica i log indesiderati della console:

  1. In Google Cloud, apri Esplora log.
  2. Cerca eventuali messaggi di log indesiderati provenienti dai tag. Ad esempio:

    Un tag potrebbe inviare i seguenti log:

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

    Cerca i messaggi di log corrispondenti nel campo textPayload:
    Screenshot di Esplora log di Google Cloud
che mostra i log di esempio.

Per disabilitare il messaggio di log della console:

  1. Nella piattaforma Google Cloud, apri il router dei log. Assicurati di far parte del progetto corrispondente al tuo ID contenitore:
    Screenshot del selettore di progetti Google Cloud che mostra un ID contenitore di Tag Manager di esempio.
  2. Per la riga Tipo: Bucket Cloud Logging, Nome: _Default, seleziona il menu extra, quindi fai clic su Modifica sink.
  3. In Destinazione sink, seleziona il bucket dei log _Default.
  4. In Scegli i log da includere nel sink, aggiungi una nuova riga. Inserisci la seguente regola nel filtro di inclusione esistente:

    NOT textPayload:"Custom message:"
    

    Per i log della console, sostituisci il testo Custom message: con una sottostringa del log della console che vuoi disabilitare. Per filtri più elaborati, utilizza il linguaggio di query di logging.

  5. Aggiorna il sink per applicare le modifiche. Il messaggio logToConsole corrispondente deve essere escluso dal logging.

  6. Verifica che non vengano visualizzati nuovi messaggi di log della console in Esplora log.

3. Mappa il deployment al tuo dominio personalizzato

La distribuzione predefinita del tagging lato server è ospitata su un dominio App Engine. Ti consigliamo di modificare il deployment in modo da utilizzare un sottodominio del tuo sito web.

Mappa il sottodominio del sito web al server di tagging.

4. Aggiungere l'URL del server a Google Tag Manager

Ora che hai un server, devi assicurarti che Google Tag Manager sappia che deve utilizzare il tuo server.

  1. Apri Google Tag Manager.

  2. Fai clic sul contenitore del server che vuoi indirizzare al server di tagging.

  3. Apri le impostazioni del contenitore del server nella scheda Amministrazione > Impostazioni container.

  4. Fai clic su Aggiungi URL e incolla l'URL del server.

  5. Salva e torna all'area di lavoro.

5. Dati di

Ora che hai configurato il server di tagging, assicurati che funzioni come previsto. Nell'area di lavoro di Tag Manager, fai clic sul pulsante Anteprima. Se la pagina dell'anteprima viene caricata, significa che tutto è configurato correttamente.

Anteprima di più URL

Se hai mappato più domini a un singolo server di tagging, assicurati che ogni URL venga aggiunto alle impostazioni del contenitore.

Se hai fornito più URL, tutti i percorsi (la stringa dopo il nome di dominio) devono corrispondere.

Funziona Non funziona
URL 1: example.com/abc
URL 2: example2.com/abc
URL 1: example.com/abc
URL 2: example2.com/def

Se vengono aggiunti più URL, vedrai un'icona accanto al pulsante Anteprima che ti consente di selezionare l'URL da visualizzare in anteprima.

Aggiorna la versione del server di tagging

I nuovi aggiornamenti del server di tagging contengono correzioni delle vulnerabilità di sicurezza e nuove funzionalità. Ti consigliamo almeno di aggiornare il server di tagging per ogni release della versione principale (ad es. eseguire l'upgrade dalla versione 1.x.x alla versione 2.x.x) quando Tag Manager ti avvisa di eseguire l'aggiornamento.

Per aggiornare il server di tagging, esegui nuovamente lo script di configurazione utilizzando le stesse impostazioni utilizzate in precedenza. Le impostazioni esistenti sono configurate per impostazione predefinita.

Per aggiornare il server di tagging:

  1. Apri Cloud Shell della piattaforma Google Cloud.
  2. Imposta il progetto della piattaforma Cloud in Cloud Shell. Sostituisci project ID con l'ID progetto Google Cloud che hai annotato in precedenza:
    gcloud config set project project ID
  3. Esegui lo script di configurazione utilizzando le stesse impostazioni utilizzate in precedenza. Le impostazioni esistenti sono configurate per impostazione predefinita.
    bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"

Per verificare che l'aggiornamento sia riuscito:

  1. Nel contenitore del server, fai clic sul pulsante Anteprima per avviare una nuova sessione di debug e inviare una richiesta in una scheda separata.
  2. In Riepilogo, seleziona la scheda Console e assicurati che non siano presenti messaggi che ti chiedono di aggiornare il server di tagging.

Tag Manager può mostrare messaggi in cui ti viene chiesto di aggiornare il server di tagging fino a un giorno dopo il corretto aggiornamento del server. Tuttavia, la pagina di anteprima mostrerà un messaggio aggiornato sulla versione del server di tagging.

Risolvere i problemi di timeout del deployment in produzione

Quando esegui lo script di configurazione per creare o riconfigurare il server di tagging, lo script potrebbe scadere. Ciò potrebbe verificarsi per diversi motivi. I due più comuni sono:

  1. Gli account di servizio hanno autorizzazioni errate: gli account di servizio Compute Engine e App Engine sono responsabili del deployment e della manutenzione del deployment di produzione. Per impostazione predefinita, sono preconfigurate con le autorizzazioni appropriate. Tuttavia, in alcuni casi, le norme di un'organizzazione possono causare un errore.

    1. Vai alla pagina IAM e amministrazione nella barra di navigazione a sinistra della console Google Cloud.
    2. Trova l'account di servizio Compute Engine <project_number>-compute@developer.gserviceaccount.com e l'account di servizio App Engine <project_name>@appspot.gserviceaccount.com.
    3. Entrambi gli account di servizio devono avere il ruolo Editor. Se uno dei due account non dispone del ruolo Editor, aggiorna il ruolo facendo clic sull'icona a forma di matita a destra dell'account, facendo clic sul menu a discesa del ruolo esistente, scorrendo verso l'alto, facendo clic su Progetto e poi su Editor.
  2. Quota insufficiente: il deployment di produzione consuma la quota di Compute Engine. Se il progetto non dispone di quota sufficiente, il deployment potrebbe scadere durante il tentativo di eseguire il provisioning delle risorse.

    1. Vai alla pagina IAM e amministrazione nella barra di navigazione a sinistra della console Google Cloud, quindi fai clic sulla scheda Quote nella barra di navigazione a sinistra.
    2. Nella parte superiore della pagina, fai clic sulla casella di testo Filtra tabella e digita Compute Engine API. Fai clic sull'unico risultato.
    3. Verifica che tutti gli stati della quota rientrino nei limiti o abbiano un segno di spunta verde.
    4. Individua e fai clic su CPU. Verifica che l'utilizzo attuale più il numero di istanze di cui viene eseguito il deployment sia ancora inferiore al limite per la regione di deployment.