Importante!
Essa integração funciona com aplicativos iOS e Android que já têm o SDK do Google Analytics para Firebase implementado. Para que a integração seja bem-sucedida, o SDK da AppsFlyer deve coletar o valor app_instance_id do SDK do Firebase. Veja as instruções sobre como recuperar o app instance ID do SDK do Firebase.
Como funciona?
-
Quando uma nova instalação ocorre, a AppsFlyer envia as informações do ponto de contato - fonte de mídia, nome da campanha e ID da campanha - para o GA4. Ela também envia o
app_instance_iddo SDK do Firebase para garantir que o ponto de contato seja registrado no GA4 para aquele usuário. - Quando um evento in-app ocorre, o GA4 atribuirá o evento ao último ponto de contato.
Configurar a integração do Google Analytics (GA4)
Siga as instruções abaixo para configurar a integração com o Google Analytics (GA4).
1. Selecione o Google Analytics (GA4) no Partner Marketplace
Pré-requisito: Antes de criar uma integração, certifique-se de entrar em contato com o parceiro e abrir uma conta com ele.
Para ativar ou editar a integração:
- Para ativar: na AppsFlyer, no menu lateral, selecione Colaborar > Partner Marketplace. Para editar: na AppsFlyer, vá para o menu lateral e selecione colaborar > integrações ativas.
- Pesquise por Google Analytics (GA4) e selecione-o.
- Clique em Configurar a integração. Você será redirecionado para a página de configuração da integração.
A configuração do Google Analytics inclui apenas a aba Integração.
Para uma descrição detalhada do cabeçalho da janela de configuração de parceiros, clique aqui.
2. Configurar a integração do GA4 no AppsFlyer
Defina as seguintes configurações:
-
Na aba Integração, selecione o aplicativo e ative a opção Ativar parceiro.
Atenção: Essa opção deve permanecer ativada durante todo o tempo que você trabalhar com o parceiro.
Para mais detalhes sobre a ativação do parceiro, clique aqui.
- Em Firebase App ID, insira o identificador do aplicativo no Firebase. Para saber como localizá-lo, consulte a documentação do Firebase.
- Em API Secret, insira o API Secret para autenticar os postbacks para o Google Analytics. Um API Secret é gerado através da interface do usuário do Google Analytics. Para visualizar, editar ou criar essa informação (secret), siga as instruções na documentação do Google. Quando instruído a selecionar um fluxo de dados da web, escolha um fluxo de dados do Android ou iOS.
- Ative o Customer User ID para enviar o Customer User ID (CUID) em vez do advertising ID (IDFA).
-
Em Postbacks padrão, em para usuários de, selecione Todas as fontes de mídia, incluindo orgânicas.
Atenção:
O postback de instalação inclui apenas os detalhes do ponto de contato (fonte de mídia, nome da campanha e ID da campanha).
3. Configurar postbacks de eventos in-app
Na aba Integração, mapeie os eventos in-app da AppsFlyer para os eventos do Google Analytics (GA4), enviados via postbacks.
Atenção:
- Atualmente, postbacks de eventos in-app de aplicativos mobile enviados via S2S não são compatíveis.
- O GA4 não desduplica eventos enviados tanto do Firebase SDK quanto da AppsFlyer. Portanto, recomendamos que você configure postbacks de eventos in-app apenas para eventos que não são enviados ao GA4 via Firebase SDK.
- Ative os postbacks de eventos in-app.
-
Clique em Adicionar evento para adicionar um SDK ou evento de servidor para servidor à lista. A tabela a seguir descreve os campos a serem preenchidos:
Nome do parâmetro Descrição Evento AppsFlyer O nome do evento, conforme recebido do SDK integrado no aplicativo ou de eventos de servidor para servidor.
Dica: não encontrou o evento que está procurando?
- Certifique-se de ativar o evento em um dispositivo com uma instalação não orgânica e verifique novamente.
- Digite-o em evento da AppsFlyer, depois clique em criar evento personalizado.
Saiba mais sobre o mapeamento de eventos personalizados.
Mapeado para o evento do parceiro O nome exclusivo ou ID de cada evento, conforme definido pelo parceiro. As configurações de mapeamento possíveis são:
- Campo de texto: obtenha o ID do evento correspondente no parceiro.
- Caixa suspensa: selecione o evento predefinido mais adequado.
- Sem alterações: envie os eventos como eles estiverem, sem mapeamento de nomes.
para usuários de Selecione a opção de envio para o evento:
- Todas as fontes de mídia, incluindo orgânicas: Envie postbacks para eventos atribuídos a qualquer parceiro, bem como eventos orgânicos.
incluindo - Sem dados (padrão): Envie apenas o evento em si, sem qualquer valor de evento.
- Valores e receitas: envie todos os parâmetros de evento, incluindo o valor da receita (se existir no evento).
- Valores sem receita: envie todos os parâmetros exceto o valor de receita.
- [Opcional] Clique no ícone Adicionar condição (
) para definir condições para um evento.
- Clique em Salvar integração.
- Envie o mapeamento do postback para o evento
4. Enviar o mapeamento do postback ao seu desenvolvedor
Depois de configurar o mapeamento do evento in-app, envie ao seu desenvolvedor uma tabela onde cada evento mapeado corresponde a uma linha com as seguintes colunas:
- Evento AF: nome do evento da AppsFlyer.
-
Mapeado para evento do Google: nome do evento no Google Analytics.
Importante!
Não use nenhum dos eventos reservados do Google como nomes para eventos personalizados do Google Analytics.
-
Parâmetros do evento AF (OBRIGATÓRIO): Parâmetros de evento pré-definidos na AppsFlyer, que devem ser incluídos no postback enviado ao Google Analytics.
Importante!
É obrigatório incluir todos os parâmetros pré-definidos na AF dentro da definição do evento, exatamente como eles estão listados na tabela; caso contrário, o postback será rejeitado pelo Google Analytics.
Tabela de mapeamento de eventos
A tabela a seguir inclui todos os eventos do Google Analytics e seus parâmetros pré-definidos na AppsFlyer. Envie ao seu desenvolvedor uma tabela contendo apenas os eventos que você mapeou.
Nomes de eventos reservados - Google
Os seguintes nomes de eventos não podem ser usados como nomes de eventos personalizados:
ad_activeviewad_clickad_exposuread_queryad_rewardadunit_exposureapp_clear_dataapp_exceptionapp_installapp_removeapp_store_refundapp_updateapp_upgradedynamic_link_app_opendynamic_link_app_updatedynamic_link_first_openerrorfirebase_campaignfirebase_in_app_message_actionfirebase_in_app_message_dismissfirebase_in_app_message_impressionfirst_openfirst_visitin_app_purchasenotification_dismissnotification_foregroundnotification_opennotification_receivenotification_sendos_updatesession_startuser_engagement
5. Recuperar app instance ID no SDK da AppsFlyer
O app instance ID identifica exclusivamente uma instalação específica de um aplicativo no Firebase. Esse valor precisa ser recuperado pelo SDK a partir do SDK do Firebase.
Seu desenvolvedor deve implementar o código para:
- Coletar o campo
app_instance_iddo Firebase. - Chamar
setAddiotionalDataantes da primeira abertura para incluir o app instance ID em instalações, sessões e eventos no aplicativo.
Kotlin
FirebaseAnalytics.getInstance(this).appInstanceId.addOnCompleteListener { task ->
if (task.isSuccessful) {
AppsFlyerLib.getInstance().setAdditionalData("app_instance_id", task.result)
}
}
Java
FirebaseAnalytics.getInstance(this).getAppInstanceId().addOnCompleteListener(task -> {
if (task.isSuccessful()) {
AppsFlyerLib.getInstance().setAdditionalData("app_instance_id", task.getResult());
}
});
API reference: setAdditionalData
iOS native
let appInstanceId = Analytics.appInstanceID()
AppsFlyerLib.shared().customData = ["app_instance_id": appInstanceId]
Objective C
(void) fetchAnalyticsInstanceId {
NSString *instanceID = [FIRAnalytics appInstanceID];
[[AppsFlyerLib shared] setAdditionalData:@{@"app_instance_id": instanceID}];
}
API reference: customData
using Firebase.Analytics;
public class AnalyticsManager : MonoBehaviour
{
private async void Start()
{
AppsFlyer.initSDK(devKey, appID, this);
string appInstanceId = await FirebaseAnalytics.GetAnalyticsInstanceIdAsync();
Dictionary <string, string> customData = new Dictionary<string, string>();
customData.Add("app_instance_id", appInstanceId);
AppsFlyer.setAdditionalData(appInstanceId);
AppsFlyer.startSDK();
}
}
API reference: setAdditionalData
API reference: setAdditionalData
6. Recuperar o GA4 session ID no SDK da AppsFlyer
O ga_session_id identifica exclusivamente uma sessão de um aplicativo no Firebase. Esse valor deve ser recuperado do SDK do Firebase e enviado para o GA4 usando a API setAdditionalData.
Seu desenvolvedor deve implementar o código para:
- Coletar o campo
ga_session_iddo Firebase. - Chame
setAdditionalDataantes da primeira abertura do app para incluir o session ID. - Use a chave
ga_session_idao chamar a API.
Kotlin
FirebaseAnalytics.getInstance(this).sessionId.addOnCompleteListener { task ->
if (task.isSuccessful) {
AppsFlyerLib.getInstance().setAdditionalData("ga_session_id", task.result)
}
}
Java
FirebaseAnalytics.getInstance(this).getSessionId().addOnCompleteListener(task -> {
if (task.isSuccessful()) {
AppsFlyerLib.getInstance().setAdditionalData("ga_session_id", task.getResult());
}
});
API reference: setAdditionalData
Swift
if #available(iOS 14.0, *) {
Analytics.sessionID { sessionID, error in
if let sessionID = sessionID {
AppsFlyerLib.shared().customData = ["ga_session_id": sessionID]
}
}
}
Objective-C
- (void)fetchAnalyticsSessionId {
if (@available(iOS 14.0, *)) {
[FIRAnalytics sessionIDWithCompletion:^(NSString * _Nullable sessionID, NSError * _Nullable error) {
if (sessionID) {
[[AppsFlyerLib shared] setAdditionalData:@{@"ga_session_id": sessionID}];
}
}];
}
}
API reference: customData
using Firebase.Analytics;
using System.Threading.Tasks;
using AppsFlyerSDK;
using UnityEngine;
using System.Collections.Generic;
public class AnalyticsManager : MonoBehaviour
{
private async void Start()
{
AppsFlyer.initSDK("yourDevKey", "yourAppID", this);
// Get session ID
string sessionId = await FirebaseAnalytics.GetSessionIdAsync();
Dictionary<string, string> customData = new Dictionary<string, string>();
customData.Add("ga_session_id", sessionId);
AppsFlyer.setAdditionalData(customData);
AppsFlyer.startSDK();
}
}
API reference: setAdditionalData
7. Validar a integração do GA4
Certifique-se de que os eventos que você envia nos postbacks para o GA4 foram registrados e lidos pelo Google Analytics. Existem dois métodos que os anunciantes podem usar para visualizar seus dados:
- Usando GA4 Explorations, você pode explorar os dados de eventos brutos com todos os parâmetros associados. Pré-requisito: o Big Query export deve ser configurado em sua propriedade
-
O relatório de eventos permite que os anunciantes vejam seus eventos de postback. O relatório pode ser encontrado em uma ou mais coleções de relatórios.
Por exemplo, os relatórios de eventos podem ser encontrados na coleção Life cycle ou Games reporting em Engagement > Events.
Para mais informações sobre o relatório de eventos, consulte a documentação do Google. -
O relatório de aquisição de tráfego ajuda a entender de onde vêm os visitantes do seu site e aplicativo.
Na coleção Life cycle, vá para Acquisition > Traffic Acquisition).
Para mais informações sobre o relatório de aquisição de tráfego, consulte a documentação do Google.