Como fazer a integração com o Google Analytics

O Google Analytics Platform permite mensurar as interações dos usuários com seus negócios em vários dispositivos e ambientes. O Google Analytics fornece os recursos necessários para coletar, armazenar, processar e gerar relatórios dessas interações do usuário.

É possível coletar dados de análises tanto do lado do cliente quanto do servidor.

Coleta de dados de análise do lado do cliente

Use as APIs e os SDKs do Google Analytics para mensurar como os usuários interagem com seu conteúdo e iniciativas de marketing. É possível ver os dados das interações de usuários na interface do Google Analytics ou usar APIs de relatórios para buscar esses dados. Para mais detalhes sobre a coleta de dados de análise do lado do cliente, selecione um link abaixo, de acordo com o tipo de cliente:

  • Web Tracking (analytics.js) - Meça a interação do usuário com sites ou aplicativos da Web.
  • Android - meça a interação do usuário com aplicativos para Android.
  • iOS - meça a interação do usuário com aplicativos para iOS.
  • Protocolo de avaliação - Meça a interação do usuário em qualquer ambiente com este protocolo de nível inferior.

Coleta de dados de análise do lado do servidor

O App Engine fornece um mecanismo para gerar registros de eventos no aplicativo. No entanto, é possível usar o Google Analytics para acompanhar eventos específicos do lado do servidor para diversos fins:

  • Analisar dados históricos: o App Engine permite configurar o tamanho ou número máximo de dias dos arquivos de registros. Depois que esse limite for ultrapassado, você perderá o acesso a esses arquivos de registros. Acompanhar eventos no Google Analytics permite visualizar eventos passados por muito mais tempo.
  • Acompanhar eventos importantes: os arquivos de registros podem ser muito complexos, incluindo e registrando dados de vários componentes de um aplicativo. Ao usar o acompanhamento de eventos, é possível identificar eventos importantes e acompanhá-los, além de alguns metadados.
  • Trabalhar na interface do usuário - Aproveite a sofisticada interface do usuário oferecida pelo Google Analytics para ver, gerar relatórios e exportar eventos do lado do servidor.

Para ativar a coleta de dados de análise do lado do servidor, use um cliente HTTP e faça solicitações desse tipo com o Protocolo de avaliação do Google Analytics. Para saber mais, consulte o tópico Acompanhamento de eventos no guia do desenvolvedor do Google Analytics.

Aplicativo de amostra

Veja como rastrear eventos no aplicativo do App Engine consultando o aplicativo de amostra abaixo. Uma solicitação HTTP é feita e os dados sobre o evento são postados no Google Analytics.

Antes de usar o Measurement Protocol do Google Analytics no App Engine, siga estas etapas:

  1. Crie uma propriedade do Universal Analytics e receba o ID de acompanhamento.

  2. Inclua as variáveis de ambiente no arquivo app.flexible.yaml com o ID de acompanhamento. Por exemplo, no aplicativo de amostra abaixo:

    env_variables:
      GA_TRACKING_ID: YOUR_TRACKING_ID
  3. Antes de executar o aplicativo de amostra localmente, defina as variáveis de ambiente obrigatórias:

    export GA_TRACKING_ID=YOUR_TRACKING_ID
    npm install
    
  4. Execute o exemplo de código localmente usando a linha de comando. Exemplo:

    npm start
    

  5. Integre o código a seguir ao aplicativo do App Engine para postar os dados de acompanhamento de eventos no 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 você tiver ativado a configuração no Admin Console do Google Analytics para excluir o tráfego de indexadores e bots ou se estiver usando o Google Analytics 4 (que filtra esse tráfego automaticamente), talvez o Analytics não exiba resultados de clientes do App Engine. Esses cenários filtram o user agent padrão do App Engine. Para ver os resultados do App Engine, inclua o parâmetro ua nos dados de acompanhamento e defina-o com um valor personalizado.