Enviar eventos do app para o GA4 usando o Measurement Protocol

Enviar eventos do app para o GA4 usando o Measurement Protocol

Sobre este codelab

subjectÚltimo nov. 28, 2023 atualizado
account_circleEscrito por Surath Sarma

1. Introdução

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

O que você vai criar

Neste codelab, você vai aprender a enviar eventos externos para o GA4 usando o Measurement Protocol.

Este codelab pressupõe que você já tenha um app com o Google Analytics para Firebase implementado. Se você quiser saber como fazer a integração com o Google Analytics para Firebase, consulte primeiro este codelab. Se você quiser aprender a criar um app com o Firebase, consulte o Codelab do Firebase para Android: criar um chat amigável.

O que você aprenderá

  • Etapas para fazer sua primeira chamada de MP
  • Entender os parâmetros necessários para a chamada
  • Enviar e validar sua chamada de teste
  • Criar um script de exemplo em Python para fazer a chamada

O que é necessário

  • Seu app Android ou iOS
  • Qualquer ambiente de desenvolvimento integrado para fazer mudanças
  • Conta do GA4
  • Opcional: ambiente de desenvolvimento Python (ou Colab)

2. Coletar os campos obrigatórios

Criar uma chave secreta da API no GA4

Acesse o GA4 e crie uma nova chave secreta da API em Administrador > Fluxos de dados > escolha seu fluxo > Measurement Protocol > Criar

6e4afca63054d291.png

c9e9ccd2ffba98eb.png

e714cd969fca4a4d.png

Você pode fornecer qualquer apelido, e o valor secreto será exibido para uso na chamada.

Caso não saiba como acessar o GA4, acesse seu projeto do Firebase, verifique as configurações do projeto > Integrações > Google Analytics e clique em "Gerenciar". A conexão do Google Analytics vai aparecer, e você também pode navegar diretamente dela.

73b4d77a57eddfba.png

Coletar app_instance_id

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

  1. Como usar o BigQuery Export
  2. Como buscar de forma nativa no código-fonte do app

Confira abaixo as explicações detalhadas sobre cada um deles.

  1. Como usar o BigQuery Export

Se você ativou a exportação do BigQuery , siga as etapas abaixo.

  • Fazer login no Firebase
  • Acesse Configurações do projeto > Integrações > BigQuery.
  • Clique em "Visualizar no BigQuery" perto do conjunto de dados.

Observação : o conjunto de dados só fica disponível depois que a opção é ativada por cerca de 24 a 48 horas.

63d061088b622961.png

  • No BigQuery, é possível verificar se há user_pseudo_id na tabela. Esse é o app_instance_id que você pode usar na chamada

4b1b80bdc2884581.png

  1. Como fazer a busca de forma nativa no código-fonte do app

Se o app for criado usando Java, use algo como este 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, tente 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 app iOS, poderá usar o seguinte em 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
*/

Confira abaixo mais links, dependendo da sua infraestrutura.

3. Como criar a chamada

Você pode criar um exemplo de chamada usando o Criador de eventos no GA4. Para isso, você precisa fazer login e ter cookies ativados. Verifique se a chave está definida como "firebase".

fd78d961f3e48238.png

Você precisa preencher os seguintes campos:

  • api_secret: já criado anteriormente no GA4
  • firebase_app_id: para conseguir isso, acesse Administrador > Fluxos de dados > escolha seu fluxo . Ele deve ser exibido como abaixo

19801c8e5cb29222.png

  • app_instance_id: você já extraiu esse valor.
  • user_id não é obrigatório. Você pode deixar em branco por enquanto
  • Categoria: mude para "Personalizado" no menu suspenso e insira o nome do evento que você escolher (não use eventos coletados automaticamente). Aqui, estamos usando "test_from_codelab".

54cce53df64d697.png

Também é possível fornecer parâmetros de evento e/ou propriedades do usuário clicando nos botões abaixo.

16a8f531a3894021.png

Depois de preencher tudo, você verá algo como isso, com um botão para "Validar evento".

475801f25c3caf26.png

Quando chegar a esse ponto, clique em "VALIDAR EVENTO" , o botão destacado em laranja. A mensagem abaixo vai aparecer, especificando que o evento é válido, e você vai encontrar um botão "ENVIAR PARA O GA". Nesse ponto, se o evento aparecer como inválido, a ferramenta vai informar o campo exato em que há um problema e você poderá corrigir e tentar novamente.

23e4e6800705b4aa.png

Agora você pode clicar no botão, e ele vai enviar um evento de teste para o GA4.

4. Como validar eventos no GA4

Depois de enviar o evento, acesse sua conta do GA4 e verifique a seção "Tempo real". O evento vai aparecer

994b51ca46bb1973.png

Pode levar cerca de 24 horas para que os eventos sejam propagados da visualização em tempo real para a guia de relatórios de eventos real. Portanto, não se preocupe se não encontrar isso nos relatórios de eventos normais imediatamente.

Se você tiver problemas ou discrepâncias, confira as limitações conhecidas do Measurement Protocol.

5. Como criar um script Python

Agora que você testou, pode examinar a chamada de API e o payload do evento para criar uma arquitetura semelhante em Python (ou em qualquer linguagem de sua escolha) que possa fazer essa chamada. Depois, você pode programar isso na frequência desejada e operacionalizar. Para esta parte, você pode usar qualquer ambiente de desenvolvimento integrado (IDE) que ofereça suporte a Python ou apenas um notebook do Google Colab, que não requer nenhuma instalação no dispositivo.

No Criador de eventos do GA4, o endpoint é como mostrado abaixo.

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

O payload do evento foi o 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 como este:

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 essa ação com os valores corretos, o evento vai aparecer no GA4 em tempo real.

6. Parabéns

Parabéns! Você usou o Measurement Protocol no GA4. Agora você pode criar arquiteturas de solução eficientes para enviar dados mais significativos ao Google Analytics e melhorar suas análises de marketing e de negócios. Para aproveitar ao máximo essa oportunidade, sugerimos que você se conecte ao Google Ads e importe esses eventos como conversões. Consulte a etapa 6 neste codelab para conferir instruções detalhadas. Para fins de acompanhamento de conversões, o Google Ads só vai mostrar dados associados ao IDFA ou IDs de dispositivos coletados do SDK do Firebase nos últimos 60 dias. Lembre-se de que esta ainda é uma API Alfa. Confira as limitações listadas aqui que precisam ser resolvidas antes do lançamento completo.

Você aprendeu

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