Envie eventos de aplicativos para o GA4 usando o Measurement Protocol

1. Introdução

Última atualização: 08/06/2021

O que você construirá

Neste codelab, você aprenderá como enviar eventos externos ao GA4 usando o Measurement Protocol .

Este codelab pressupõe que você já tenha um aplicativo com Google Analytics para Firebase implementado. Se você quiser saber como integrar com o Google Analytics para Firebase, consulte primeiro este codelab . Se você quiser aprender como construir um aplicativo com o Firebase, consulte Firebase Android Codelab-Build Friendly Chat .

O que você aprenderá

  • Passos para fazer sua primeira chamada MP
  • Entenda os parâmetros necessários para a chamada
  • Envie e valide sua chamada de teste
  • Crie um script de exemplo em Python para fazer a chamada

O que você precisará

  • Seu aplicativo Android ou iOS
  • Qualquer IDE para fazer alterações
  • Conta GA4
  • Opcional - ambiente de desenvolvimento Python (ou Colab )

2. Colete os campos obrigatórios

Criar segredo de API no GA4

Navegue até GA4 e crie seu novo segredo de API navegando até Admin > Fluxos de dados > escolha seu fluxo > Protocolo de medição > Criar

6e4afca63054d291.png

c9e9ccd2ffba98eb.png

e714cd969fca4a4d.png

Você pode fornecer qualquer apelido e o valor secreto será exibido, que você pode usar em sua chamada

Caso você não tenha certeza de como acessar o GA4, você pode visitar seu projeto Firebase, verificar Configurações do projeto > Integrações > Google Analytics e clicar em “Gerenciar”. A conexão do Google Analytics deve estar visível e você também pode navegar diretamente a partir daí

73b4d77a57eddfba.png

Coletar app_instance_id

Você pode usar qualquer um dos métodos abaixo para coletar seu app_instance_id.

  1. Usando a exportação do BigQuery
  2. Buscando nativamente no código-fonte do seu aplicativo

Ambos são explicados em detalhes abaixo

  1. Usando a exportação do BigQuery

Se a exportação do BigQuery estiver ativada, você pode seguir as etapas abaixo

  • Faça login no Firebase
  • Navegue até Configurações do projeto > Integrações > BigQuery
  • Clique em "Visualizar no BigQuery" próximo ao conjunto de dados

Observação: o conjunto de dados estará disponível somente depois que a alternância for ativada por cerca de 24 a 48 horas

63d061088b622961.png

  • No BigQuery, você pode verificar user_pseudo_id na tabela. Este é o app_instance_id que você pode usar em sua chamada

4b1b80bdc2884581.png

  1. Buscando nativamente no código-fonte do seu aplicativo

Se seu aplicativo for desenvolvido em Java, você poderá usar algo assim para recuperar o app_instance_id

 FirebaseAnalytics.getInstance(this).getAppInstanceId().addOnCompleteListener(new OnCompleteListener<String>() {
        @Override
        public void onComplete(@NonNull Task<String> task) {
            if (task.isSuccessful()) {
                String user_pseudo_id = task.getResult();
            }
        }
    });

Para Kotlin, você pode tentar o seguinte

Thread {
   Firebase.analytics.appInstanceId.addOnSuccessListener { user_pseudo_id ->
       Log.d("Firebase", "user_pseudo_id using appInstanceId is $user_pseudo_id")
       /*
       Store the value to your server or do something with the retrieved id
        */
   }
}.start()

Se você tiver um aplicativo iOS, poderá usar o seguinte no Swift

let user_pseudo_id = Analytics.appInstanceID()
print("user_pseudo_id = \(user_pseudo_id)")
/*
Store the value to your server or do something with the retrieved id
*/

Abaixo estão mais links dependendo da sua infraestrutura

3. Construindo a Chamada

Você pode criar uma chamada de exemplo usando o Event Builder no GA4. (Isso requer que você faça login e tenha os cookies ativados). Certifique-se de que o botão de alternância esteja definido como "firebase"

fd78d961f3e48238.png

Você precisará preencher os seguintes campos

  • api_secret – Já criado anteriormente no GA4
  • firebase_app_id - Para fazer isso, você pode navegar até Admin > Data Streams > escolher seu stream . Deve ser exibido como abaixo

19801c8e5cb29222.png

  • app_instance_id – Você já recuperou este valor
  • user_id não é obrigatório. Você pode deixar em branco por enquanto
  • Categoria - altere para "Personalizado" no menu suspenso e coloque qualquer nome de evento de sua escolha (não use nenhum evento coletado automaticamente ). Aqui estamos usando "test_from_codelab"

54cce53df64d697.png

Opcionalmente, você também pode optar por fornecer parâmetros de evento e/ou propriedades do usuário clicando nos botões abaixo

16a8f531a3894021.png

Depois de preencher tudo, você deverá ver algo assim, com um botão para "Validar Evento"

475801f25c3caf26.png

Ao chegar aqui, clique em "VALIDAR EVENTO" , botão destacado em laranja. Deverá exibir a mensagem abaixo, especificando que o evento é válido, e você verá um botão para agora "ENVIAR PARA GA". Neste ponto, se o evento for considerado inválido, a ferramenta informará o campo exato onde há um problema, e você poderá corrigir isso e tentar novamente

23e4e6800705b4aa.png

Agora você pode clicar no botão e ele deverá enviar um evento de teste para o GA4

4. Validando eventos no GA4

Depois de enviar o evento, você pode navegar até sua conta GA4 e verificar Tempo real. Você deve ver o evento acontecer

994b51ca46bb1973.png

Pode levar cerca de 24 horas para que os eventos se propaguem da visualização em tempo real para a guia de relatórios de eventos reais, portanto, não se preocupe se você não vir isso imediatamente nos relatórios regulares de eventos!

Se você estiver enfrentando problemas ou discrepâncias, pode ser útil verificar as limitações conhecidas do Protocolo de Medição aqui

5. Construindo um script Python

Agora que você testou, você pode examinar a chamada de API e a carga útil do evento para construir uma arquitetura semelhante em Python (ou em qualquer linguagem de sua escolha) que possa fazer essa chamada. Você pode então agendar isso na frequência desejada e operacionalizá-lo. Para esta parte, você pode usar qualquer IDE de sua escolha que suporte Python ou apenas usar um notebook Google Colab que não requer nenhuma instalação em seu dispositivo

Referindo-se ao GA4 Event Builder, você verá que o endpoint é o seguinte

POST /mp/collect?firebase_app_id=XXXX&api_secret=XXXX 
HTTP/1.1
Host: www.google-analytics.com

A carga útil do evento foi a seguinte

{
  "app_instance_id": XXXX,
  "non_personalized_ads": false,
  "events": [
    {
      "name": "test_from_codelab",
      "params": {
        "test_param": "test_123"
      }
    }
  ]
}

Você pode traduzir isso para python usando algo assim

import requests
import json
url = "https://www.google-analytics.com/mp/collect?firebase_app_id=XXXX&api_secret=XXXX"
payload = {
  "app_instance_id": XXXX,
  "non_personalized_ads": False,
  "events": [
    {
      "name": "test_from_codelab",
      "params": {
        "test_param": "test_123"
      }
    }
  ]
}
r = requests.post(url,data=json.dumps(payload),verify=True)
print(r.status_code)

Depois de executar isso com os valores corretos, você deverá ver o evento refletido em tempo real no GA4.

6. Parabéns

Parabéns, você usou o Measurement Protocol no GA4 com sucesso. Agora você pode criar arquiteturas de soluções poderosas para enviar dados mais significativos ao Google Analytics e melhorar suas análises de marketing e negócios. Para aproveitar ao máximo, sugerimos também conectar-se ao Google Ads e importar esses eventos como conversões. Consulte a etapa 6 deste codelab para obter instruções detalhadas sobre isso. Para fins de acompanhamento de conversões, o Google Ads mostrará apenas dados associados ao IDFA ou IDs de dispositivos coletados do SDK do Firebase nos últimos 60 dias. Tenha em mente que esta ainda é uma API alfa e certifique-se de passar pelas limitações listadas aqui , que devem ser abordadas antes do lançamento completo

Você aprendeu

  • Como coletar as variáveis ​​certas para fazer chamadas MP
  • Como enviar e validar eventos de teste
  • Como construir um script para enviar chamadas MP