Integrazione con Google Analytics

Google Analytics Platform ti consente di misurare le interazioni degli utenti con la tua attività su diversi dispositivi e ambienti. Google Analytics fornisce le risorse per raccogliere, archiviare, elaborare e generare rapporti su queste interazioni degli utenti.

Puoi raccogliere dati analitici sul lato client e sul lato server.

Raccolta di analisi lato client

Utilizza le API e gli SDK di Google Analytics per misurare il modo in cui gli utenti interagiscono con i contenuti e le iniziative di marketing. Puoi visualizzare i dati sulle interazioni degli utenti nell'interfaccia utente di Google Analytics o utilizzare le API di reporting per recuperare i dati. Per ulteriori informazioni sulla raccolta dell'analisi lato client, seleziona il link di seguito in base al tipo di client:

  • Monitoraggio web (analytics.js): consente di misurare l'interazione degli utenti con siti web o applicazioni web.
  • Android: consente di misurare l'interazione degli utenti con le app Android.
  • iOS: misura l'interazione degli utenti con le applicazioni iOS.
  • Measurement Protocol: misura l'interazione dell'utente in qualsiasi ambiente con questo protocollo di basso livello.

Raccolta di analisi lato server

Sebbene App Engine fornisca un meccanismo per la registrazione degli eventi nell'applicazione, puoi utilizzare Google Analytics per monitorare specifici eventi lato server in Google Analytics in modo da poter:

  • Analisi dei dati storici: App Engine consente di configurare il numero massimo di giorni (o dimensioni) del file di log. Una volta superato tale limite, non potrai più accedere ai file di log. Il monitoraggio degli eventi in Google Analytics offre una durata maggiore della visibilità degli eventi passati.
  • Monitoraggio di eventi chiave: i file di log possono essere dettagliati tramite vari componenti dell'applicazione che scrivono i dati. Il monitoraggio eventi consente di individuare gli eventi chiave e monitorarli, nonché alcuni metadati.
  • Lavora nell'interfaccia utente: sfrutta la ricca interfaccia utente fornita da Google Analytics per visualizzare, generare rapporti ed esportare questi eventi lato server.

Per attivare la raccolta dell'analisi lato server, puoi utilizzare un client HTTP ed effettuare richieste HTTP tramite il Measurement Protocol di Google Analytics. Per ulteriori informazioni, consulta la guida per gli sviluppatori di Google Analytics per il monitoraggio eventi.

Applicazione di esempio

L'applicazione di esempio riportata di seguito mostra come monitorare gli eventi nell'applicazione App Engine. L'applicazione effettua una richiesta HTTP e pubblica dati sull'evento su Google Analytics.

Prima di utilizzare il Google Analytics Measurement Protocol su App Engine, procedi come segue:

  1. Crea una proprietà Google Analytics e recupera l'ID monitoraggio.

  2. Includi le variabili di ambiente in app.standard.yaml con il tuo ID monitoraggio. Ad esempio, per l'applicazione di esempio mostrata di seguito:

    env_variables:
      GA_TRACKING_ID: YOUR_TRACKING_ID
  3. Prima di eseguire l'app di esempio in locale, imposta le variabili di ambiente richieste dall'app:

    export GA_TRACKING_ID=YOUR_TRACKING_ID
    npm install
    
  4. Esegui il codice di esempio localmente utilizzando la riga di comando. Ad esempio:

    npm start
    

  5. Integra il seguente codice nell'applicazione App Engine per pubblicare i dati di monitoraggio eventi in Google Analytics:

    const express = require('express');
    const fetch = require('node-fetch');
    
    const app = express();
    app.enable('trust proxy');
    
    // The following environment variable is set by app.yaml when running on App
    // Engine, but will need to be set manually when running locally. See README.md.
    const {GA_TRACKING_ID} = process.env;
    
    const trackEvent = (category, action, label, value) => {
      const data = {
        // API Version.
        v: '1',
        // Tracking ID / Property ID.
        tid: GA_TRACKING_ID,
        // Anonymous Client Identifier. Ideally, this should be a UUID that
        // is associated with particular user, device, or browser instance.
        cid: '555',
        // Event hit type.
        t: 'event',
        // Event category.
        ec: category,
        // Event action.
        ea: action,
        // Event label.
        el: label,
        // Event value.
        ev: value,
      };
    
      return fetch('http://www.google-analytics.com/debug/collect', {
        params: data,
      });
    };
    
    app.get('/', async (req, res, next) => {
      // Event value must be numeric.
      try {
        await trackEvent(
          'Example category',
          'Example action',
          'Example label',
          '100'
        );
        res.status(200).send('Event tracked.').end();
      } catch (error) {
        // This sample treats an event tracking error as a fatal error. Depending
        // on your application's needs, failing to track an event may not be
        // considered an error.
        next(error);
      }
    });
    
    const PORT = parseInt(process.env.PORT) || 8080;
    app.listen(PORT, () => {
      console.log(`App listening on port ${PORT}`);
      console.log('Press Ctrl+C to quit.');
    });
    

Se hai attivato l'impostazione nella Console di amministrazione Google Analytics per escludere il traffico da spider e bot o se utilizzi Google Analytics 4 (che filtra automaticamente il traffico), potresti non visualizzare i risultati di Analytics dai client App Engine. Questi scenari filtrano lo user agent App Engine predefinito. Per visualizzare i risultati di App Engine, includi il parametro ua nei tuoi dati di monitoraggio e impostalo su un valore personalizzato.