Criar experimentos da Configuração remota do Firebase com o Teste A/B

Quando você usa o Firebase Remote Config para implantar configurações para um app com uma base de usuários ativa, o ideal é tomar a decisão correta. Use os experimentos do A/B Testing para determinar o seguinte da melhor maneira:

  • A melhor maneira de implementar o recurso para otimizar a experiência do usuário. Muitas vezes, os desenvolvedores de apps só ficam sabendo da insatisfação dos usuários em relação a um novo recurso ou experiência quando a classificação na app store começa a cair. O teste A/B pode ajudar a avaliar se os seus usuários gostam das novas variações dos recursos ou se preferem o app como está. Além disso, manter grande parte dos usuários em um grupo de referência garante que a maior parte da sua base de usuários continue a usar o app sem observar nenhuma mudança no comportamento ou na aparência dele até a conclusão do experimento.
  • A melhor maneira de otimizar a experiência do usuário para um objetivo comercial. Às vezes você está implementando mudanças no produto para maximizar uma métrica, como receita ou retenção. Com o teste A/B, você define seu objetivo comercial, e o Firebase faz a análise estatística para determinar se uma variante está apresentando desempenho melhor que o grupo de referência para o objetivo selecionado.

Para as variantes de recurso do teste A/B com um valor de referência, siga estas etapas:

  1. Crie um experimento.
  2. Valide o experimento em um dispositivo de teste.
  3. Gerencie o experimento.

Criar um experimento

Com um experimento do Remote Config, é possível avaliar várias variantes em um ou mais parâmetros do Remote Config.

  1. Faça login no console do Firebase e verifique se Google Analytics está ativado no projeto para que o experimento tenha acesso aos dados de Analytics.

    Se você não ativou o Google Analytics ao criar o projeto, ative-o na guia Integrações, que pode ser acessada usando > Configurações do projeto no console do Firebase.

  2. Na seção Engajar do menu de navegação do console do Firebase, clique em A/B Testing.

  3. Clique em Criar experimento e, em seguida, selecione Remote Config quando aparecer a opção para escolher o serviço com o qual você quer fazer experimentos.

  4. Digite um nome e uma descrição opcional para seu experimento e clique em Avançar.

  5. Preencha os campos de Segmentação, escolhendo primeiro o app que usa seu experimento. Também é possível segmentar um subconjunto dos usuários para participar do experimento clicando e escolhendo as opções na lista a seguir:

    • Versão: uma ou mais versões do seu app.
    • Número do build: o código da versão do app.
    • Idiomas: um ou mais idiomas e locais usados para selecionar usuários que podem ser incluídos no experimento.
    • País/região: um ou mais países ou regiões para selecionar usuários que podem ser incluídos no experimento.
    • Público a que o usuário pertence: públicos do Analytics utilizados para segmentar usuários que podem ser incluídos no experimento.
    • Propriedade do usuário: uma ou mais propriedades de usuário do Analytics para selecionar usuários que podem ser incluídos no experimento.
    • Primeiro acesso: segmente usuários com base na primeira vez que eles acessaram seu app.

      A segmentação de usuários por primeiro acesso fica disponível depois que você seleciona um app Android ou iOS. No momento, ele é compatível com estas versões do SDK do Remote Config: SDK das plataformas Apple v9.0.0+ e SDK do Android v21.1.1+ (Firebase BoM v30.3.0+).

      O Analytics também precisa estar ativado no cliente durante o evento de primeiro acesso.

  6. Porcentagem de usuários-alvo: insira a porcentagem da base de usuários do seu app correspondente aos critérios definidos em Usuários-alvo que você quer dividir igualmente entre o grupo de referência e uma ou mais variantes no experimento. Pode ser qualquer porcentagem entre 0,01% e 100%. Os usuários são atribuídos a cada experimento de forma aleatória, incluindo experimentos duplicados.

  7. Como opção, defina um evento de ativação para garantir que apenas os dados dos usuários que acionaram algum evento do Analytics sejam contados no seu experimento. Todos os usuários que corresponderem aos parâmetros de segmentação vão receber os valores experimentais do Remote Config, mas somente aqueles que acionarem um evento de ativação serão incluídos nos resultados do experimento.

    Para garantir um experimento válido, verifique se o evento escolhido ocorre depois que o app ativa os valores de configuração recuperados. Além disso, os seguintes eventos não podem ser usados porque sempre ocorrem antes da ativação dos valores buscados:

    • app_install
    • app_remove
    • app_update
    • dynamic_link_first_open
  8. Para as Metas do experimento, selecione a métrica principal a ser monitorada e adicione as outras métricas que você quer acompanhar na lista. Isso inclui objetivos integrados (compras, receita, retenção, usuários sem falhas etc.), Eventos de conversão do Analytics e outros eventos do Analytics. Ao final, clique em Avançar.

  9. Na seção Variantes, escolha um valor de referência e pelo menos uma variante para o experimento. Use a lista Escolher ou criar novo para adicionar um ou mais parâmetros para usar no experimento. É possível criar um parâmetro que ainda não tenha sido usado no console do Firebase, mas ele precisa existir no app para ter efeito. Repita essa etapa para adicionar múltiplos parâmetros ao seu experimento.

  10. (Opcional) Para adicionar mais de uma variante ao seu experimento, clique em Adicionar variante.

  11. Mude um ou mais parâmetros para variantes específicas. Todos os parâmetros inalterados são iguais aos parâmetros para usuários não incluídos no experimento.

  12. Expanda ponderações de variantes para visualizar ou alterar o peso da variante para o experimento. Por padrão, cada variante é ponderada igualmente. Pesos desiguais podem aumentar o tempo de coleta de dados, e não é possível alterar os pesos após o início do experimento.

  13. Clique em Revisar para salvar o experimento.

É permitido ter até 300 experimentos por projeto, que podem consistir em até 24 experimentos em execução, com o restante como rascunho ou concluído.

Validar seu experimento em um dispositivo de teste

Para cada instalação do Firebase, é possível recuperar o token de autenticação de instalação associado a ele. Use esse token para testar variantes específicas do experimento em um dispositivo de teste com seu app instalado. Para validar seu experimento em um dispositivo de teste, siga as etapas a seguir:

  1. Consiga o token de autenticação de instalação da seguinte forma:

    Swift

    do {
      let result = try await Installations.installations()
        .authTokenForcingRefresh(true)
      print("Installation auth token: \(result.authToken)")
    } catch {
      print("Error fetching token: \(error)")
    }
    

    Objective-C

    [[FIRInstallations installations] authTokenForcingRefresh:true
                                                   completion:^(FIRInstallationsAuthTokenResult *result, NSError *error) {
      if (error != nil) {
        NSLog(@"Error fetching Installation token %@", error);
        return;
      }
      NSLog(@"Installation auth token: %@", [result authToken]);
    }];
    

    Java

    FirebaseInstallations.getInstance().getToken(/* forceRefresh */true)
            .addOnCompleteListener(new OnCompleteListener<InstallationTokenResult>() {
        @Override
        public void onComplete(@NonNull Task<InstallationTokenResult> task) {
            if (task.isSuccessful() && task.getResult() != null) {
                Log.d("Installations", "Installation auth token: " + task.getResult().getToken());
            } else {
                Log.e("Installations", "Unable to get Installation auth token");
            }
        }
    });

    Kotlin+KTX

    val forceRefresh = true
    FirebaseInstallations.getInstance().getToken(forceRefresh)
        .addOnCompleteListener { task ->
            if (task.isSuccessful) {
                Log.d("Installations", "Installation auth token: " + task.result?.token)
            } else {
                Log.e("Installations", "Unable to get Installation auth token")
            }
        }

    C++

    firebase::InitResult init_result;
    auto* installations_object = firebase::installations::Installations::GetInstance(
        firebase::App::GetInstance(), &init_result);
    installations_object->GetToken().OnCompletion(
        [](const firebase::Future& future) {
          if (future.status() == kFutureStatusComplete &&
              future.error() == firebase::installations::kErrorNone) {
            printf("Installations Auth Token %s\n", future.result()->c_str());
          }
        });
    

    Unity

    Firebase.Installations.FirebaseInstallations.DefaultInstance.GetTokenAsync(forceRefresh: true).ContinueWith(
      task => {
        if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) {
          UnityEngine.Debug.Log(System.String.Format("Installations token {0}", task.Result));
        }
      });
    
  2. Na barra de navegação do console do Firebase, clique em Teste A/B.
  3. Selecione Rascunho (e/ou Em execução para experimentos da Configuração remota), passe o cursor sobre seu experimento e clique no menu de contexto (). Depois disso, selecione Gerenciar dispositivos de teste.
  4. Insira o token de autenticação de instalação para um dispositivo de teste e escolha a variante do experimento a ser enviada a esse dispositivo.
  5. Execute o aplicativo e confirme se a variante selecionada está sendo recebida no dispositivo de teste.

Para saber mais sobre as instalações do Firebase, consulte Gerenciar instalações do Firebase.

Gerenciar seu experimento

Ao criar um experimento com o Remote Config, o Editor do Notificações ou o Firebase In-App Messaging, você pode validar e iniciar o experimento, monitorá-lo durante a execução e aumentar o número de usuários incluídos nele.

Quando seu experimento estiver concluído, será possível anotar as configurações usadas pela variante vencedora e implementar essas configurações para todos os usuários. Também é possível executar outro experimento.

Iniciar um experimento

  1. Na seção Engajar do menu de navegação do console do Firebase, clique em A/B Testing.
  2. Clique em Rascunho e, em seguida, no título do seu experimento.
  3. Para confirmar que seu app tem usuários que seriam incluídos no experimento, amplie os detalhes do rascunho e verifique se há um número maior que 0% na seção Segmentação e distribuição (por exemplo, 1% dos usuários que correspondam aos critérios).
  4. Para alterar o experimento, clique em Editar.
  5. Para iniciar o experimento, clique em Iniciar experimento. Você pode executar até 24 experimentos por projeto de cada vez.

Monitorar um experimento

É possível verificar o progresso de um experimento que já está sendo executado há um tempo e ver quais são os resultados para os usuários que participaram dele.

  1. Na seção Engajar do menu de navegação do console do Firebase, clique em A/B Testing.
  2. Clique em Executar e depois pesquise ou selecione o título do seu experimento. Nessa página, é possível ver várias estatísticas observadas e estimadas do experimento em execução, incluindo as seguintes:

    • Porcentagem de diferença do valor de referência: uma medida da melhoria de uma métrica para uma determinada variante em comparação com o valor de referência. É calculada pela comparação entre o intervalo de valores da variante e o intervalo de valores de referência.
    • Probabilidade de superar o valor de referência: a chance estimada de que uma determinada variante supere o valor de referência na métrica selecionada.
    • observed_metric por usuário: baseada nos resultados do experimento, é o intervalo previsto em que o valor da métrica vai se enquadrar ao longo do tempo.
    • observed_metric total: o valor cumulativo observado para o valor de referência ou variante. Ele é usado para avaliar o desempenho de cada variante do experimento e calcular a Melhoria, o Intervalo de valores, a Probabilidade de superar o valor de referência e a Probabilidade de ser a melhor variante. Dependendo da métrica avaliada, o nome dessa coluna pode ser Duração por usuário, Receita por usuário, Taxa de retenção ou Taxa de conversão.
  3. Depois que o experimento for executado por um tempo (pelo menos sete dias para FCM e In-App Messaging ou 14 dias para Remote Config), os dados nesta página indicarão qual variante, se houver, é a líder. Algumas medidas são acompanhadas por um gráfico de barras que apresenta os dados em um formato visual.

Implantar um experimento para todos os usuários

Após o experimento ser executado por tempo suficiente para que você tenha uma variante líder ou vencedora para sua métrica de objetivo, será possível implantar o experimento para 100% dos usuários. Isso permite selecionar uma variante a ser publicada para todos os usuários. Mesmo que seu experimento não tenha criado um vencedor claro, ainda é possível implantar uma variante para todos os usuários.

  1. Na seção Engajar do menu de navegação do console do Firebase, clique em A/B Testing.
  2. Clique em Concluído ou Em execução, selecione um experimento que você quer lançar para todos os usuários e clique no menu de contexto (). Lançar variante.
  3. Implante o experimento para todos os usuários com um dos seguintes procedimentos:

    • Para um experimento que usa o recurso Editor do Notificações, use a caixa de diálogo Implantar mensagem para enviar a mensagem aos usuários segmentados restantes que não fizeram parte do experimento.
    • Em um experimento do Remote Config, selecione uma variante para determinar quais valores de parâmetro do Remote Config serão atualizados. Os critérios de segmentação definidos ao criar o experimento serão adicionados como uma nova condição no seu modelo para garantir que o lançamento afete somente os usuários segmentados pelo experimento. Depois de clicar em Revisar na Configuração remota para analisar as mudanças, clique em Publicar alterações para concluir o lançamento.
    • Para um experimento do In-App Messaging, use a caixa de diálogo para determinar quais variantes precisam ser lançadas como uma campanha independente do In-App Messaging. Uma vez selecionado, você será redirecionado para a tela de edição do FIAM para fazer quaisquer alterações (se necessário) antes da publicação.

Expandir um experimento

Se você acreditar que um experimento não alcança usuários suficientes no A/B Testing para declarar um líder, aumente a distribuição do experimento para que ele alcance uma porcentagem maior da base de usuários do app.

  1. Na seção Engajar do menu de navegação do console do Firebase, clique em A/B Testing.
  2. Selecione o experimento em execução que você quer editar.
  3. Na Visão geral do experimento, clique no menu de contexto () e em Editar experimento em execução.
  4. A caixa de diálogo Segmentação exibe uma opção para aumentar a porcentagem de usuários que estão no experimento em execução. Selecione um número maior que a porcentagem atual e clique em Publicar. O experimento vai ser enviado para a porcentagem de usuários especificada.

Duplicar ou interromper um experimento

  1. Na seção Engajar do menu de navegação do console do Firebase, clique em A/B Testing.
  2. Clique em Concluído ou Em execução, mantenha o ponteiro em cima do experimento, clique no menu de contexto () e depois em Duplicar experimento ou Interromper experimento.

Segmentação de usuários

Você pode segmentar os usuários para incluí-los no seu experimento usando os critérios mostrados a seguir.

Critério de segmentação Operadores Valores Observação
Versão contém,
não contém,
corresponde exatamente,
contém regex
Digite um valor para uma ou mais versões do aplicativo que você quer incluir no experimento.

Ao usar qualquer um dos operadores contém, não contém ou corresponde exatamente, é possível fornecer uma lista de valores separados por vírgula.

Ao usar o operador contém regex, é possível criar expressões regulares no RE2 (em inglês). A expressão regular precisa corresponder à toda a string de versão de destino ou parte dela. Use as âncoras ^ e $ para corresponder ao começo, ao final ou a toda uma string de destino.

Públicos-alvo Inclui todos os itens de,
inclui pelo menos um item de,
não inclui todos os itens de,
não inclui pelo menos um item de
Selecione um ou mais públicos do Analytics para segmentar usuários que podem ser incluídos no experimento. Alguns experimentos que segmentam públicos do Google Analytics podem exigir alguns dias para acumular dados porque estão sujeitos à latência de processamento de dados do Analytics. É mais provável que esse atraso aconteça com novos usuários, que normalmente estão inscritos em públicos qualificados de 24 a 48 horas após a criação ou em públicos criados recentemente.

Para o Remote Config, isso significa que, mesmo no caso de um usuário tecnicamente qualificado para um público, se o Analytics ainda não o tiver adicionado ao público quando fetchAndActivate() for executado, o usuário não será incluído no experimento.

Propriedade do usuário Para texto:
contém,
não contém,
corresponde exatamente,
contém regex

Para números:
<, ≤, =, ≥, >
Uma propriedade do usuário do Analytics é usada para selecionar usuários que podem ser incluídos em um experimento, com um intervalo de opções para seleção de valores de propriedades do usuário.

No cliente, é possível definir apenas valores de string para as propriedades do usuário. Para condições que usam operadores numéricos, o serviço Remote Config converte o valor da propriedade do usuário correspondente em um inteiro/float.
Ao usar o operador contém regex, é possível criar expressões regulares no RE2 (em inglês). A expressão regular precisa corresponder à toda a string de versão de destino ou parte dela. Use as âncoras ^ e $ para corresponder ao começo, ao final ou a toda uma string de destino.
País/região N/A Um ou mais países ou regiões utilizados para selecionar usuários que podem ser incluídos no experimento.  
Idiomas N/A Um ou mais idiomas e locais usados para selecionar usuários que podem ser incluídos no experimento.  
Primeiro acesso Antes
Depois

Segmente usuários com base no primeiro acesso deles ao app:

  • Selecione Novos usuários para segmentar usuários que fizeram o primeiro acesso do app após uma data e hora especificadas.
  • Selecione Intervalo de tempo para segmentar usuários fizeram o primeiro acesso do app dentro do intervalo antes ou depois da data e da hora especificadas. Combine as condições Antes e Depois para segmentar usuários em um período específico.

A segmentação de usuários por primeiro acesso fica disponível depois que você seleciona um app Android ou iOS. No momento, ele é compatível com estas versões do SDK do Remote Config: SDK das plataformas Apple v9.0.0+ e SDK do Android v21.1.1+ (Firebase BoM v30.3.0+).

O Analytics também precisa estar ativado no cliente durante o evento de primeiro acesso.

Métricas do A/B Testing

Ao criar um experimento, você escolhe uma métrica principal ou de objetivo. Ela é usada para determinar a variante vencedora. Além disso, é necessário acompanhar outras métricas para entender melhor o desempenho de cada variante do experimento e monitorar tendências importantes que podem variar entre elas, como retenção de usuários, estabilidade do app e receita de compras no aplicativo. É possível acompanhar até cinco métricas sem objetivo no seu experimento.

Por exemplo, imagine que você usa o Remote Config para iniciar dois fluxos de jogo diferentes no app e quer otimizar as compras nele e a receita de publicidade, mas também quer acompanhar a estabilidade e a retenção de usuários de cada variante. Nesse caso, recomendamos escolher a Receita total estimada como métrica de meta já que ela inclui receita de publicidade e de compras no app. Depois, em Outras métricas de rastreamento, é possível adicionar as seguintes opções:

  • Para monitorar a retenção de usuários diária e semanal, adicione Retenção (2 a 3 dias) e Retenção (4 a 7 dias).
  • Para comparar a estabilidade entre os dois fluxos de jogo, adicione Usuários sem falhas.
  • Para conferir mais detalhes sobre cada tipo de receita, adicione Receita de compra e Receita de publicidade estimada.

As tabelas a seguir fornecem detalhes sobre como as métricas de objetivos e outras métricas são calculadas.

Métricas da meta

Métrica Descrição
Usuários sem falhas A porcentagem de usuários que não encontraram erros no app e que foram detectados pelo SDK do Firebase Crashlytics durante o experimento.
Estimativa de receita com anúncios Ganhos estimados com anúncios.
Receita total estimada Valor combinado para compra e receitas de publicidade estimada.
Receita de compra Valor combinado para todos os eventos purchase e in_app_purchase.
Retenção (1 dia) O número de usuários que retornam ao seu app diariamente.
Retenção (2 a 3 dias) O número de usuários que retornam ao seu app dentro de 2 a 3 dias.
Retenção (4 a 7 dias) O número de usuários que retornam ao seu app dentro de 4 a 7 dias.
Retenção (8 a 14 dias) O número de usuários que retornam ao seu app dentro de 8 a 14 dias.
Retenção (15 dias ou mais) O número de usuários que retornam ao seu app dentro de 15 dias ou mais, após o último uso.
first_open Um evento do Analytics acionado quando um usuário abre um app pela primeira vez depois de instalar ou reinstalar o app. Usado como parte de um acompanhamento de conversão.

Outras métricas

Métrica Descrição
notification_dismiss Um evento do Analytics acionado quando uma notificação enviada pelo Editor do Notificações é descartada (apenas Android).
notification_receive Um evento do Analytics acionado quando uma notificação enviada pelo Editor do Notificações é recebida enquanto o app está em segundo plano (apenas Android).
os_update Um evento do Analytics que rastreia quando o sistema operacional do dispositivo é atualizado para uma nova versão. Para saber mais, consulte Eventos coletados automaticamente.
screen_view Um evento do Analytics que rastreia as telas visualizadas no app. Para saber mais, consulte Acompanhar exibições de tela.
session_start Um evento do Analytics que conta as sessões dos usuários no app. Para saber mais, consulte Eventos coletados automaticamente.

Exportação de dados do BigQuery

Além de conferir os dados do experimento do A/B Testing no console do Firebase, é possível inspecionar e analisar esses dados no BigQuery. Embora o A/B Testing não tenha uma tabela separada do BigQuery, as associações de experimentos e variantes são armazenadas em todos os eventos do Google Analytics nas tabelas de eventos do Analytics.

As propriedades do usuário que contêm informações de experimentos estão no formato userProperty.key like "firebase_exp_%" ou userProperty.key = "firebase_exp_01", em que 01 é o ID do experimento e userProperty.value.string_value contém o índice (baseado em zero) da variante do experimento.

Use essas propriedades do usuário para extrair dados do experimento. Assim, é possível dividir os resultados do experimento de várias formas diferentes e verificar os resultados de A/B Testing de maneira independente.

Para começar, siga as etapas abaixo, conforme descrito neste guia:

  1. Ativar a exportação do BigQuery para o Google Analytics no console do Firebase
  2. Acessar dados do A/B Testing usando o BigQuery
  3. Analisar exemplos de consultas

Ativar a exportação do BigQuery para o Google Analytics no console do Firebase

No plano do Spark, você pode usar o sandbox do BigQuery para acessar o BigQuery sem custos financeiros, sujeito aos limites do sandbox. Consulte Preços e o sandbox do BigQuery para mais informações.

Primeiro, verifique se você está exportando seus dados do Analytics para o BigQuery:

  1. Abra a guia Integrações, que pode ser acessada usando > Configurações do projeto no console do Firebase.
  2. Se você já estiver usando BigQuery com outros serviços do Firebase, clique em Gerenciar. Caso contrário, clique em Vincular.
  3. Consulte Sobre a vinculação entre o Firebase e BigQuery e clique em Próxima.
  4. Na seção Configurar integração, ative o botão de alternância Google Analytics.
  5. Selecione uma região e escolha as configurações de exportação.

  6. Clique em Vincular a BigQuery.

Dependendo de como você escolheu exportar dados, a disponibilização das tabelas pode demorar até um dia. Para mais informações sobre como exportar dados de projetos para o BigQuery, consulte Exportar dados de projetos para o BigQuery.

Acessar dados do A/B Testing no BigQuery

Antes de consultar dados de um experimento específico, é preciso ter acesso a alguns ou todos os itens a seguir para usar na sua consulta:

  • ID do experimento: aparece no URL da página Visão geral do experimento. Por exemplo, se o URL for semelhante a https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25, o ID do experimento será 25.
  • ID de propriedade do Google Analytics: seu ID de propriedade de 9 dígitos do Google Analytics. Você pode encontrá-lo no Google Analytics. Ele também aparece no BigQuery quando você expande o nome do projeto para mostrar o nome da tabela de eventos do Google Analytics (project_name.analytics_000000000.events).
  • Data do experimento: para criar uma consulta mais rápida e eficiente, é recomendável limitar as consultas às partições da tabela de eventos diários do Google Analytics que contêm os dados do experimento, ou seja, tabelas identificadas com um sufixo YYYYMMDD. Portanto, se o experimento tiver sido realizado de 2 de fevereiro a 2 de maio de 2024, você especificará _TABLE_SUFFIX between '20240202' AND '20240502'. Confira um exemplo em Selecionar os valores de um experimento específico.
  • Nomes de eventos: normalmente, eles correspondem às métricas da meta que você configurou no experimento. Por exemplo, eventos in_app_purchase, ad_impression ou user_retention.

Depois de coletar as informações necessárias para gerar a consulta:

  1. Abra BigQuery no console do Google Cloud.
  2. Selecione seu projeto e clique em Criar consulta SQL.
  3. Adicione sua consulta. Para conferir exemplos de consultas, acesse Analisar exemplos de consultas.
  4. Clique em Executar.

Consultar dados do experimento usando a consulta gerada automaticamente pelo Console do Firebase

Se você estiver usando o plano Blaze, a página Visão geral do experimento fornece um exemplo de consulta que retorna o nome, as variantes, os nomes e o número de eventos do experimento que está sendo visualizado.

Para receber e executar a consulta gerada automaticamente:

  1. No console do Firebase, abra A/B Testing e selecione o experimento do A/B Testing que você quer consultar para abrir a Visão geral do experimento.
  2. No menu Opções, abaixo de Integração com o BigQuery, selecione Consultar dados do experimento. O projeto vai ser aberto no BigQuery no console do Google Cloud e vai fornecer uma consulta básica que pode ser usada para consultar os dados do experimento.

O exemplo a seguir mostra uma consulta gerada para um experimento com três variantes, incluindo o valor de referência, chamada Winter Welcome experiment. Ela retorna o nome ativo do experimento, o nome da variante, o evento único e a contagem de eventos de cada evento. O criador de consultas não especifica o nome do projeto no nome da tabela, já que ele é aberto diretamente no projeto.

  /*
    This query is auto-generated by Firebase A/B Testing for your
    experiment "Winter welcome experiment".
    It demonstrates how you can get event counts for all Analytics
    events logged by each variant of this experiment's population.
  */
  SELECT
    'Winter welcome experiment' AS experimentName,
    CASE userProperty.value.string_value
      WHEN '0' THEN 'Baseline'
      WHEN '1' THEN 'Welcome message (1)'
      WHEN '2' THEN 'Welcome message (2)'
      END AS experimentVariant,
    event_name AS eventName,
    COUNT(*) AS count
  FROM
    `analytics_000000000.events_*`,
    UNNEST(user_properties) AS userProperty
  WHERE
    (_TABLE_SUFFIX BETWEEN '20240202' AND '20240502')
    AND userProperty.key = 'firebase_exp_25'
  GROUP BY
    experimentVariant, eventName

Para mais exemplos de consultas, acesse Analisar exemplos de consultas.

Analisar exemplos de consultas

As seções a seguir mostram exemplos de consultas que podem ser usadas para extrair dados de experimentos do A/B Testing das tabelas de eventos do Google Analytics.

Extrair valores de desvio padrão de compra e experimento de todos os experimentos

Você pode usar os dados dos resultados do experimento para verificar de maneira independente os resultados do Firebase A/B Testing. A instrução SQL do BigQuery a seguir extrai variantes do experimento, o número de usuários únicos em cada variante e soma a receita total dos eventos de in_app_purchase e ecommerce_purchase, além dos desvios padrão de todos os experimentos no período especificado como as datas de início e término de _TABLE_SUFFIX. É possível usar os dados obtidos dessa consulta com um gerador de significância estatística para testes t de uma cauda para verificar se os resultados fornecidos pelo Firebase correspondem à sua própria análise.

Para mais informações sobre como o A/B Testing calcula a inferência, consulte Interpretar resultados de testes.

  /*
    This query returns all experiment variants, number of unique users,
    the average USD spent per user, and the standard deviation for all
    experiments within the date range specified for _TABLE_SUFFIX.
  */
  SELECT
    experimentNumber,
    experimentVariant,
    COUNT(*) AS unique_users,
    AVG(usd_value) AS usd_value_per_user,
    STDDEV(usd_value) AS std_dev
  FROM
    (
      SELECT
        userProperty.key AS experimentNumber,
        userProperty.value.string_value AS experimentVariant,
        user_pseudo_id,
        SUM(
          CASE
            WHEN event_name IN ('in_app_purchase', 'ecommerce_purchase')
              THEN event_value_in_usd
            ELSE 0
            END) AS usd_value
      FROM `PROJECT_NAME.analytics_ANALYTICS_ID.events_*`
      CROSS JOIN UNNEST(user_properties) AS userProperty
      WHERE
        userProperty.key LIKE 'firebase_exp_%'
        AND event_name IN ('in_app_purchase', 'ecommerce_purchase')
        AND (_TABLE_SUFFIX BETWEEN 'YYYYMMDD' AND 'YYYMMDD')
      GROUP BY 1, 2, 3
    )
  GROUP BY 1, 2
  ORDER BY 1, 2;

Selecione os valores de um experimento específico

O exemplo de consulta a seguir ilustra como receber dados de um experimento específico no BigQuery. Essa consulta de exemplo retorna o nome do experimento, os nomes das variantes (incluindo o valor de referência), os nomes e as contagens de eventos.

  SELECT
    'EXPERIMENT_NAME' AS experimentName,
    CASE userProperty.value.string_value
      WHEN '0' THEN 'Baseline'
      WHEN '1' THEN 'VARIANT_1_NAME'
      WHEN '2' THEN 'VARIANT_2_NAME'
      END AS experimentVariant,
    event_name AS eventName,
    COUNT(*) AS count
  FROM
    `analytics_ANALYTICS_PROPERTY.events_*`,
    UNNEST(user_properties) AS userProperty
  WHERE
    (_TABLE_SUFFIX BETWEEN 'YYYMMDD' AND 'YYYMMDD')
    AND userProperty.key = 'firebase_exp_EXPERIMENT_NUMBER'
  GROUP BY
    experimentVariant, eventName