Crie experimentos de configuração remota do Firebase com testes A/B

Ao usar o Configuração remota do Firebase para implantar configurações em um aplicativo com uma base de usuários ativa, você quer ter certeza de que está fazendo tudo certo. Você pode usar experimentos de teste A/B para determinar melhor o seguinte:

  • A melhor forma de implementar um recurso para otimizar a experiência do usuário. Muitas vezes, os desenvolvedores de aplicativos não descobrem que seus usuários não gostam de um novo recurso ou de uma experiência de usuário atualizada até que a classificação de seu aplicativo na app store diminua. Os testes A/B podem ajudar a avaliar se seus usuários gostam de novas variantes de recursos ou se preferem o aplicativo tal como ele existe. Além disso, manter a maioria dos seus usuários em um grupo de linha de base garante que a maior parte da sua base de usuários possa continuar usando seu aplicativo sem sofrer quaisquer alterações em seu comportamento ou aparência até que o experimento seja concluído.
  • A melhor maneira de otimizar a experiência do usuário para uma meta de negócios. Às vezes, você implementa alterações no produto para maximizar uma métrica como receita ou retenção. Com os testes A/B, você define seu objetivo de negócios e o Firebase realiza a análise estatística para determinar se uma variante está superando a linha de base do objetivo selecionado.

Para testar variantes de recurso A/B com uma linha de base, faça o seguinte:

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

Crie um experimento

Um experimento do Configuração remota permite avaliar diversas variantes em um ou mais parâmetros do Configuração remota .

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

    Se você não habilitou o Google Analytics ao criar seu projeto, você pode habilitá-lo na guia Integrações , que pode ser acessada em > Configurações do projeto no console do Firebase .

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

  3. Clique em Criar experimento e selecione Configuração remota quando for solicitado o serviço que você deseja experimentar.

  4. Insira 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 aplicativo que usa seu experimento. Você também pode direcionar um subconjunto de usuários para participar da experiência clicando em e e escolhendo opções na lista a seguir:

    • Versão: uma ou mais versões do seu aplicativo
    • Número da versão: o código da versão do aplicativo
    • Idiomas: um ou mais idiomas e localidades 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 seleção de usuários que devem ser incluídos no experimento
    • Público-alvo de usuários: públicos-alvo do Analytics usados ​​para segmentar usuários que podem ser incluídos no experimento
    • Propriedade do usuário: uma ou mais propriedades do usuário do Analytics para selecionar usuários que podem ser incluídos na experiência
    • Primeira abertura: segmente usuários com base na primeira vez que abriram seu aplicativo

      A segmentação de usuários pelo primeiro horário de abertura está disponível depois que você seleciona um aplicativo Android ou iOS. Ele é compatível com as seguintes versões do SDK do Configuração remota: SDK das plataformas Apple v9.0.0+ e SDK do Android v21.1.1+ (Firebase BoM v30.3.0+).

      A análise também deve ter sido habilitada no cliente durante o primeiro evento de abertura.

  6. Defina a porcentagem de usuários-alvo: insira a porcentagem da base de usuários do seu aplicativo que corresponde aos critérios definidos em Usuários-alvo que você deseja dividir igualmente entre a linha de base e uma ou mais variantes em seu experimento. Pode ser qualquer porcentagem entre 0,01% e 100%. Os usuários são atribuídos aleatoriamente a cada experimento, incluindo experimentos duplicados.

  7. Opcionalmente, defina um evento de ativação para garantir que apenas os dados dos usuários que acionaram algum evento do Analytics pela primeira vez sejam contados em seu experimento. Observe que todos os usuários que corresponderem aos seus parâmetros de segmentação receberão valores experimentais da Configuração remota, mas somente aqueles que acionarem um evento de ativação serão incluídos nos resultados do seu experimento.

    Para garantir uma experiência válida, certifique-se de que o evento escolhido ocorra depois que seu aplicativo ativar os valores de configuração buscados. Além disso, os eventos a seguir não podem ser usados ​​porque sempre ocorrem antes dos valores buscados serem ativados:

    • app_install
    • app_remove
    • app_update
    • dynamic_link_first_open
  8. Para as Metas do experimento , selecione a métrica principal a ser acompanhada e adicione quaisquer métricas adicionais que você queira 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. Quando terminar, clique em Avançar .

  9. Na seção Variantes , escolha uma linha de base e pelo menos uma variante para o experimento. Use a lista Escolher ou criar novo para adicionar um ou mais parâmetros para experimentar. Você pode criar um parâmetro que não tenha sido usado anteriormente no console do Firebase, mas ele deve existir no seu aplicativo para que tenha algum efeito. Você pode repetir esta etapa para adicionar vários parâmetros à sua experiência.

  10. (opcional) Para adicionar mais de uma variante à sua experiência, clique em Adicionar outra variante .

  11. Altere um ou mais parâmetros para variantes específicas. Quaisquer parâmetros inalterados são os mesmos para usuários não incluídos no experimento.

  12. Expanda Pesos de variante para visualizar ou alterar o peso de variante do experimento. Por padrão, cada variante tem o mesmo peso. Observe que pesos desiguais podem aumentar o tempo de coleta de dados e os pesos não podem ser alterados após o início do experimento .

  13. Clique em Revisar para salvar seu experimento.

Você tem permissão para até 300 experimentos por projeto, que podem consistir em até 24 experimentos em execução, com o restante como rascunho ou concluído.

Valide seu experimento em um dispositivo de teste

Para cada instalação do Firebase, você pode recuperar o token de autenticação de instalação associado a ela. Você pode usar esse token para testar variantes específicas do experimento em um dispositivo de teste com seu aplicativo instalado. Para validar sua experiência em um dispositivo de teste, faça o seguinte:

  1. Obtenha o token de autenticação de instalação da seguinte maneira:

    Rápido

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

    Objetivo-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());
          }
        });
    

    Unidade

    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. Clique em Rascunho (e/ou Em execução para experimentos de configuração remota), passe o mouse sobre seu experimento, clique no menu de contexto ( ) e clique em 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 para esse dispositivo de teste.
  5. Execute o aplicativo e confirme se a variante selecionada está sendo recebida no dispositivo de teste.

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

Gerencie seu experimento

Independentemente de você criar um experimento com a Configuração remota, o compositor de notificações ou o Firebase In-App Messaging, você poderá validar e iniciar seu experimento, monitorá-lo enquanto ele estiver em execução e aumentar o número de usuários incluídos no experimento em execução.

Quando seu experimento for concluído, você poderá anotar as configurações usadas pela variante vencedora e, em seguida, distribuí-las para todos os usuários. Ou você pode realizar outro experimento.

Iniciar uma experiência

  1. Na seção Engajar do menu de navegação do console do Firebase , clique em Teste A/B .
  2. Clique em Rascunho e, em seguida, clique no título da sua experiência.
  3. Para validar se seu aplicativo tem usuários que seriam incluídos no experimento, expanda 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% de usuários que atendem aos critérios ).
  4. Para alterar sua experiência, clique em Editar .
  5. Para iniciar seu experimento, clique em Iniciar experimento . Você pode executar até 24 experimentos por projeto por vez.

Monitorar um experimento

Depois que um experimento estiver em execução há algum tempo, você poderá verificar seu progresso e ver como são os resultados para os usuários que participaram do experimento até o momento.

  1. Na seção Engajar do menu de navegação do console do Firebase , clique em Teste A/B .
  2. Clique em Executando e, em seguida, clique ou pesquise o título do seu experimento. Nesta página, você pode visualizar diversas estatísticas observadas e modeladas sobre seu experimento em execução, incluindo as seguintes:

    • % de diferença da linha de base : uma medida da melhoria de uma métrica para uma determinada variante em comparação com a linha de base. Calculado comparando o intervalo de valores da variante com o intervalo de valores da linha de base.
    • Probabilidade de superar a linha de base : a probabilidade estimada de que uma determinada variante supere a linha de base da métrica selecionada.
    • observed_metric por usuário : com base nos resultados do experimento, esse é o intervalo previsto em que o valor da métrica cairá ao longo do tempo.
    • Total observed_metric : o valor cumulativo observado para a linha de base ou variante. O valor é usado para medir o desempenho de cada variante do experimento e para calcular Melhoria , Intervalo de valor , Probabilidade de superar a linha de base e Probabilidade de ser a melhor variante . Dependendo da métrica que está sendo medida, esta coluna pode ser rotulada como “Duração por usuário”, “Receita por usuário”, “Taxa de retenção” ou “Taxa de conversão”.
  3. Após um período de execução do experimento (pelo menos sete dias para FCM e mensagens no aplicativo ou 14 dias para Configuração remota), os dados nesta página indicam qual variante, se houver, é a "líder". Algumas medições são acompanhadas por um gráfico de barras que apresenta os dados em formato visual.

Implemente um experimento para todos os usuários

Depois que um experimento for executado por tempo suficiente para que você tenha um "líder", ou variante vencedora, para sua métrica de meta, você poderá liberar o experimento para 100% dos usuários. Isso permite selecionar uma variante para publicar para todos os usuários daqui para frente. Mesmo que sua experiência não tenha criado um vencedor claro, você ainda pode optar por lançar uma variante para todos os seus usuários.

  1. Na seção Engajar do menu de navegação do console do Firebase , clique em Teste A/B .
  2. Clique em Concluído ou Em execução , clique em um experimento que você deseja liberar para todos os usuários, clique no menu de contexto ( ) Implementar variante .
  3. Distribua sua experiência para todos os usuários seguindo um destes procedimentos:

    • Para um experimento que usa o Notifications Composer , use a caixa de diálogo Lançar mensagem para enviar a mensagem aos demais usuários-alvo que não fizeram parte do experimento.
    • Para um experimento do Configuração remota , selecione uma variante para determinar quais valores de parâmetro do Configuração remota serão atualizados. Os critérios de segmentação definidos ao criar a experiência são adicionados como uma nova condição no seu modelo, para garantir que a implementação afete apenas os usuários segmentados pela experiência. Depois de clicar em Revisar na Configuração remota para revisar as alterações, clique em Publicar alterações para concluir a implementação.
    • Para um experimento de mensagens no aplicativo , use a caixa de diálogo para determinar qual variante precisa ser implementada como uma campanha autônoma de mensagens no aplicativo. Depois de selecionado, você será redirecionado para a tela de composição do FIAM para fazer alterações (se necessário) antes de publicar.

Expandir um experimento

Se você descobrir que um experimento não está atraindo usuários suficientes para o Teste A/B declarar um líder, você pode aumentar a distribuição do seu experimento para alcançar uma porcentagem maior da base de usuários do aplicativo.

  1. Na seção Engajar do menu de navegação do console do Firebase , clique em Teste A/B .
  2. Selecione o experimento em execução que você deseja editar.
  3. Na visão geral do experimento , clique no menu de contexto ( ) e, em seguida, clique em Editar experimento em execução .
  4. A caixa de diálogo Direcionamento 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 . A experiência será enviada para a porcentagem de usuários que você especificou.

Duplicar ou interromper uma experiência

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

Segmentação de usuários

Você pode segmentar os usuários a serem incluídos em seu experimento usando os seguintes critérios de segmentação de usuários.

Critério de segmentação Operador(es) Valor(es) Observação
Versão contém,
não contém,
corresponde exatamente,
contém regex
Insira um valor para uma ou mais versões do aplicativo que você deseja incluir na experiência.

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

Ao usar o operador contains regex , você pode criar expressões regulares no formato RE2 . Sua expressão regular pode corresponder a toda ou parte da string da versão de destino. Você também pode usar as âncoras ^ e $ para corresponder ao início, ao fim ou à totalidade de uma string de destino.

Público(s) de usuários inclui tudo,
inclui pelo menos um de,
não inclui todos,
não inclui pelo menos um dos
Selecione um ou mais públicos-alvo do Analytics para segmentar usuários que possam ser incluídos na sua experiência. Algumas experiências direcionadas aos públicos do Google Analytics podem levar alguns dias para acumular dados porque estão sujeitas à latência de processamento de dados do Analytics . É mais provável que você encontre esse atraso com novos usuários, que normalmente são inscritos em públicos-alvo qualificados 24 a 48 horas após a criação, ou para públicos-alvo criados recentemente .

Para a Configuração remota, isso significa que mesmo que um usuário se qualifique tecnicamente para um público-alvo, se o Google Analytics ainda não tiver adicionado o usuário ao público-alvo 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 uma experiência, com diversas opções para selecionar valores de propriedade do usuário.

No cliente, você pode definir apenas valores de sequência para propriedades do usuário. Para condições que usam operadores numéricos, o serviço Configuração remota converte o valor da propriedade do usuário correspondente em um número inteiro/flutuante.
Ao usar o operador contains regex , você pode criar expressões regulares no formato RE2 . Sua expressão regular pode corresponder a toda ou parte da string da versão de destino. Você também pode usar as âncoras ^ e $ para corresponder ao início, ao fim ou à totalidade de uma string de destino.
País/Região N / D Um ou mais países ou regiões usados ​​para selecionar usuários que podem ser incluídos no experimento.
línguas N / D Um ou mais idiomas e localidades usados ​​para selecionar usuários que podem ser incluídos no experimento.
Primeiro aberto Antes
Depois

Segmente usuários com base na primeira vez que eles abrem seu aplicativo:

  • Selecione Novos usuários para segmentar os usuários que abrem seu aplicativo pela primeira vez após uma data e hora futuras especificadas.
  • Selecione Intervalo de tempo para segmentar os usuários que abrem seu aplicativo pela primeira vez dentro do intervalo antes ou depois da data e hora especificadas. Combine as condições Antes e Depois para atingir usuários dentro de um intervalo de tempo específico.

A segmentação de usuários por primeiro acesso está disponível depois que você seleciona um aplicativo Android ou iOS. Atualmente, ele é compatível com as seguintes versões do SDK do Configuração remota: SDK das plataformas Apple v9.0.0+ e SDK do Android v21.1.1+ (Firebase BoM v30.3.0+).

A análise também deve ter sido habilitada no cliente durante o primeiro evento de abertura.

Métricas de teste A/B

Ao criar seu experimento, você escolhe uma métrica primária ou de meta que é usada para determinar a variante vencedora. Você também deve acompanhar outras métricas para ajudar a entender melhor o desempenho de cada variante do experimento e acompanhar tendências importantes que podem ser diferentes para cada variante, como retenção de usuários, estabilidade do aplicativo e receita de compras no aplicativo. Você pode acompanhar até cinco métricas não relacionadas à meta em seu experimento.

Por exemplo, digamos que você esteja usando a Configuração remota para iniciar dois fluxos de jogo diferentes no seu aplicativo e queira otimizar as compras no aplicativo e a receita de anúncios, mas também queira acompanhar a estabilidade e a retenção de usuários de cada variante. Nesse caso, você pode considerar escolher a receita total estimada como sua métrica de meta, pois ela inclui a receita de compras no aplicativo e a receita de anúncios e, em seguida, em Outras métricas a serem rastreadas , você pode adicionar o seguinte:

  • Para monitorar sua retenção diária e semanal de usuários, 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 Crash .
  • Para ver visualizações mais detalhadas de cada tipo de receita, adicione Receita de compra e Receita estimada de anúncios .

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

Métricas de meta

Métrica Descrição
Usuários sem falhas A porcentagem de usuários que não encontraram erros no seu app detectados pelo SDK do Firebase Crashlytics durante o experimento.
Receita estimada de anúncios Ganhos estimados com anúncios.
Receita total estimada Valor combinado para compra e receitas de publicidade estimadas.
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 aplicativo diariamente.
Retenção (2-3 dias) O número de usuários que retornam ao seu aplicativo dentro de 2 a 3 dias.
Retenção (4-7 dias) O número de usuários que retornam ao seu aplicativo dentro de quatro a sete dias.
Retenção (8-14 dias) O número de usuários que retornam ao seu aplicativo dentro de 8 a 14 dias.
Retenção (mais de 15 dias) O número de usuários que retornam ao seu aplicativo 15 dias ou mais após a última utilização.
primeiro_abrir Um evento do Analytics que é acionado quando um usuário abre um aplicativo pela primeira vez após instalá-lo ou reinstalá-lo. Usado como parte de um funil de conversão.

Outras métricas

Métrica Descrição
notificação_dismiss Um evento do Analytics que é acionado quando uma notificação enviada pelo compositor de Notificações é dispensada (somente Android).
notificação_receber Um evento do Analytics que é acionado quando uma notificação enviada pelo compositor de Notificações é recebida enquanto o aplicativo está em segundo plano (somente 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 .
visualização_da_tela Um evento do Analytics que rastreia as telas visualizadas no seu aplicativo. Para saber mais, consulte Rastrear visualizações de tela .
sessão_início Um evento do Analytics que conta sessões de usuários no seu aplicativo. Para saber mais, consulte Eventos coletados automaticamente .

Exportação de dados do BigQuery

Além de visualizar os dados do experimento de teste A/B no Firebase Console, você pode inspecionar e analisar os dados do experimento no BigQuery. Embora o teste A/B não tenha uma tabela separada do BigQuery, as associações de experimentos e variantes são armazenadas em cada evento do Google Analytics nas tabelas de eventos do Analytics.

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

Você pode usar essas propriedades de usuário experimental para extrair dados experimentais. Isso lhe dá o poder de dividir os resultados do seu experimento de muitas maneiras diferentes e verificar de forma independente os resultados do teste A/B.

Para começar, faça o seguinte conforme descrito neste guia:

  1. Ative a exportação do BigQuery para Google Analytics no console do Firebase
  2. Acesse dados de testes A/B usando o BigQuery
  3. Explorar exemplos de consultas

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

Se você estiver no plano Spark, poderá usar o sandbox do BigQuery para acessar o BigQuery sem nenhum custo, sujeito aos limites do sandbox . Consulte Preços e sandbox do BigQuery para mais informações.

Primeiro, certifique-se de exportar seus dados do Analytics para o BigQuery:

  1. Abra a guia Integrações , que você pode acessar em > Configurações do projeto no console do Firebase .
  2. Se você já usa o BigQuery com outros serviços do Firebase, clique em Gerenciar . Caso contrário, clique em Link .
  3. Revise Sobre como vincular o Firebase ao BigQuery e clique em Avançar .
  4. Na seção Configurar integração , ative a alternância do Google Analytics .
  5. Selecione uma região e escolha as configurações de exportação.

  6. Clique em Vincular ao BigQuery .

Dependendo de como você escolheu exportar os dados, pode levar até um dia para que as tabelas fiquem disponíveis. Para obter mais informações sobre como exportar dados do projeto para o BigQuery, consulte Exportar dados do projeto para o BigQuery .

Acesse dados de testes A/B no BigQuery

Antes de consultar dados de uma experiência específica, convém obter alguns ou todos os itens a seguir para usar em sua consulta:

  • ID do experimento: você pode obtê-lo no URL da página de visão geral do experimento . Por exemplo, se o seu 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 : este é o seu ID de propriedade do Google Analytics de 9 dígitos. Você pode encontrar isso 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 da experiência: para compor uma consulta mais rápida e eficiente, é uma boa prática limitar suas consultas às partições da tabela de eventos diários do Google Analytics que contêm os dados da experiência (tabelas identificadas com um sufixo YYYYMMDD ). Portanto, se seu experimento foi executado de 2 de fevereiro de 2024 a 2 de maio de 2024, você especificaria um _TABLE_SUFFIX between '20240202' AND '20240502' . Por exemplo, consulte Selecionar os valores de um experimento específico .
  • Nomes de eventos: normalmente, correspondem às métricas de meta que você configurou no experimento. Por exemplo, eventos in_app_purchase , eventos ad_impression ou user_retention .

Depois de reunir as informações necessárias para gerar sua consulta:

  1. Abra o BigQuery no console do Google Cloud.
  2. Selecione seu projeto e selecione Criar consulta SQL .
  3. Adicione sua consulta. Para obter exemplos de consultas a serem executadas, consulte Explorar exemplos de consultas .
  4. Clique em Executar .

Consultar dados do experimento usando a consulta gerada automaticamente no 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 do experimento, as variantes, os nomes dos eventos e o número de eventos do experimento que você está visualizando.

Para obter e executar a consulta gerada automaticamente:

  1. No console do Firebase, abra o Teste A/B e selecione o experimento de teste A/B que você deseja consultar para abrir a visão geral do experimento .
  2. No menu Opções, abaixo de Integração do BigQuery , selecione Consultar dados do experimento . Isso abre seu projeto no BigQuery no console do Google Cloud e fornece uma consulta básica que você pode usar para consultar os dados do experimento.

O exemplo a seguir mostra uma consulta gerada para um experimento com três variantes (incluindo a linha de base) denominada "Experiência de boas-vindas de inverno". Ele retorna o nome do experimento ativo, o nome da variante, o evento exclusivo e a contagem de eventos para cada evento. Observe que o construtor de consultas não especifica o nome do seu projeto no nome da tabela, pois ele abre diretamente no seu 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 obter exemplos de consultas adicionais, vá para Explorar exemplos de consultas .

Explorar exemplos de consultas

As seções a seguir fornecem exemplos de consultas que você pode usar para extrair dados de experimentos de teste A/B de tabelas de eventos do Google Analytics.

Extraia 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 forma 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 in_app_purchase e ecommerce_purchase , além dos desvios padrão de todos os experimentos dentro do intervalo de tempo especificado como datas de início e término _TABLE_SUFFIX . Você pode usar os dados obtidos nesta consulta com um gerador de significância estatística para testes t unilaterais para verificar se os resultados fornecidos pelo Firebase correspondem à sua própria análise.

Para obter mais informações sobre como o teste A/B calcula a inferência, consulte Interpretar os resultados do teste .

  /*
    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 obter dados para um experimento específico no BigQuery. Este exemplo de consulta retorna o nome do experimento, os nomes das variantes (incluindo a linha de base), os nomes dos eventos 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