Configurare il tagging lato server con App Engine

Questa guida spiega come:

  • Esegui il provisioning di un server di tagging nell'App Engine di Google Cloud Platform (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 di Google Tag Manager.
  • Mantieni aggiornata la versione del server di tagging dopo aver eseguito il provisioning del server.

Prerequisiti

  1. È necessario un account Google Cloud. Se non ne hai uno, crea un nuovo account Google Cloud.
  2. Devi disporre di un account di fatturazione Google Cloud. Se non ne hai uno, crea un account di fatturazione Google Cloud (è richiesto il ruolo Creatore account di fatturazione).
  3. Devi disporre del ruolo Creatore 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 in un'istanza App Engine, devi:

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

Creare un contenitore del server 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 del contenitore. 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. Per praticità, ti consigliamo di utilizzare l'ID contenitore. Questo nome viene utilizzato solo in Google Cloud.

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

Esegui il provisioning di un nuovo server di tagging

Per creare il server di tagging:

  1. Apri Cloud Shell.

  2. Impostare 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 il seguente 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 del test è appropriata per esplorare il prodotto inviando piccole quantità di traffico di test e utilizzando la funzionalità Anteprima in Tag Manager. Questa configurazione è una classe di istanze F1 di App Engine nell'ambiente Standard e, nella maggior parte dei casi, non ti verranno addebitati costi.

2. Utilizzo di App Engine in produzione

Nella configurazione 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 la sezione Gestire i costi di App Engine per comprendere la fatturazione di App Engine e come configurare gli avvisi di fatturazione. Ti consigliamo vivamente di configurare un avviso di fatturazione.

Consigliamo di utilizzare almeno 3 server per ridurre il rischio di perdita di dati in caso di interruzione del servizio di un server. Tuttavia, puoi scegliere di eseguire meno (o più) server. Prevediamo che l'autoscaling di 3-6 server (il valore predefinito) gestirà 50-200 richieste al secondo. Il rendimento dipende dal numero di tag e dal loro funzionamento.

Per configurare il server di tagging:

  1. Apri Cloud Shell della piattaforma Google Cloud.
  2. Imposta il progetto 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. Modifica il tipo di deployment in production.
    2. Configura altri server per gestire il traffico di produzione. Consigliamo un minimo di tre server.

(Facoltativo) Disattiva il logging

Log delle richieste

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

Per disattivare il logging delle richieste di App Engine:

  1. Nella piattaforma Google Cloud, apri Logs Router. Assicurati di trovarti nel progetto corrispondente all'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: _Predefinito, seleziona il menu di overflow, quindi fai clic su Modifica sink.
  3. In Destinazione sink, seleziona il bucket di 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 disattivare anche il logging dal bilanciatore del carico, aggiungi una nuova riga e inserisci la seguente regola nel filtro di inclusione esistente:

    NOT LOG_ID("requests")
    
  6. Aggiorna il sink per applicare le modifiche. Ora le richieste di App Engine verranno escluse dalla registrazione.

  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 addebiti per i log. Per ridurre o eliminare gli addebiti di logging, puoi disabilitare i messaggi di log indesiderati della console.

Identifica i log della console indesiderati:

  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 textPayload campo:
    screenshot di Esplora log di Google Cloud che mostra log di esempio.

Per disattivare il messaggio del log della console:

  1. Nella piattaforma Google Cloud, apri il router dei log. Assicurati di trovarti nel progetto corrispondente all'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: _Predefinito, seleziona il menu di overflow, quindi fai clic su Modifica sink.
  3. In Destinazione sink, seleziona il bucket di 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 disattivare. Per filtri più elaborati, utilizza il linguaggio delle query di logging.

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

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

3. Mappa il deployment al dominio personalizzato

Il deployment del tagging lato server predefinito è ospitato in un dominio App Engine. Ti consigliamo di modificare il deployment per utilizzare un sottodominio del tuo sito web.

Mappa il sottodominio del tuo sito web al tuo 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 utilizzarlo.

  1. Apri Google Tag Manager.

  2. Fai clic sul contenitore del server a cui vuoi indirizzare il server di tagging.

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

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

  5. Salva e torna alla tua area di lavoro.

5. Convalida

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 di 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 sia 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, accanto al pulsante Anteprima viene visualizzata un'icona che consente di selezionare l'URL di cui visualizzare l'anteprima.

Aggiornare la versione del server di tagging

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

Per aggiornare il server di tagging, esegui di nuovo lo script di configurazione utilizzando le stesse impostazioni utilizzate in precedenza. Le impostazioni esistenti sono predefinite.

Per aggiornare il server di tagging:

  1. Apri Cloud Shell della piattaforma Google Cloud.
  2. Imposta il progetto Cloud in Cloud Shell. Sostituisci project ID con l'ID progetto Google Cloud 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 vengono impostate 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 ci siano messaggi che ti chiedono di aggiornare il server di tagging.

Tag Manager potrebbe mostrare messaggi che ti chiedono di aggiornare il server di tagging per un massimo di un giorno dopo l'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. Questo potrebbe accadere 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 gestione del deployment di produzione. Per impostazione predefinita, sono preconfigurati con le autorizzazioni appropriate. Tuttavia, in alcuni casi, i criteri di un'organizzazione possono causare errori.

    1. Vai alla pagina IAM e amministrazione nella barra di navigazione a sinistra nella 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 degli account non dispone del ruolo Editor, aggiornalo facendo clic sull'icona a forma di matita sulla destra dell'account, poi sul menu a discesa del ruolo esistente, scorri verso l'alto fino in cima e fai clic su Progetto, quindi su Editor.
  2. Quota insufficiente: il deployment di produzione utilizza 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 delle quote rientrino nel limite o siano contrassegnati da un segno di spunta verde.
    4. Individua e fai clic su CPU. Verifica che l'utilizzo corrente più il numero di istanze di cui è in corso il deployment sia ancora inferiore al limite per la regione di deployment.