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.yaml com o ID de acompanhamento. Por exemplo, no aplicativo de amostra abaixo:

    env_variables:
      GA_TRACKING_ID: YOUR-GA-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
    
  4. Execute o exemplo de código localmente usando a linha de comando. Por exemplo, se você usar o Maven:

    mvn clean appengine:run
    

  5. Integre o código a seguir ao aplicativo do App Engine para postar os dados de acompanhamento de eventos no Google Analytics:

    @SuppressWarnings("serial")
    @WebServlet(name = "analytics", value = "")
    public class AnalyticsServlet extends HttpServlet {
    
      @Override
      public void doGet(HttpServletRequest req, HttpServletResponse resp)
          throws IOException, ServletException {
        String trackingId = System.getenv("GA_TRACKING_ID");
        HttpClient client = HttpClientBuilder.create().build();
        URIBuilder builder = new URIBuilder();
        builder
            .setScheme("http")
            .setHost("www.google-analytics.com")
            .setPath("/collect")
            .addParameter("v", "1") // API Version.
            .addParameter("tid", trackingId) // Tracking ID / Property ID.
            // Anonymous Client Identifier. Ideally, this should be a UUID that
            // is associated with particular user, device, or browser instance.
            .addParameter("cid", "555")
            .addParameter("t", "event") // Event hit type.
            .addParameter("ec", "example") // Event category.
            .addParameter("ea", "test action"); // Event action.
        URI uri = null;
        try {
          uri = builder.build();
        } catch (URISyntaxException e) {
          throw new ServletException("Problem building URI", e);
        }
        HttpPost request = new HttpPost(uri);
        client.execute(request);
        resp.getWriter().println("Event tracked.");
      }
    }

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.