Importação de segmentos

O Firebase oferece ferramentas para personalizar a experiência de um usuário segmentando grupos de usuários usando os serviços do Firebase, como Configuração remota, Cloud Messaging e Mensagens no app. Usando uma conta vinculada do BigQuery, é possível importar segmentos identificados fora do Firebase para criar experiências direcionadas com serviços do Firebase.

Configurar segmentos importados

É possível importar dados dos seus segmentos para o Firebase usando o Google Cloud BigQuery. O BigQuery fornece várias maneiras de carregar dados e você pode escolher o que funciona melhor para sua configuração.

Fluxo de dados de segmentos importados

Quando a integração estiver ativada:

  • O Firebase cria um conjunto de dados no BigQuery que você possui, mas a que o Firebase tem acesso de leitura.
  • O Firebase processa periodicamente os dados, disponibilizando seus segmentos atualizados no Console do Firebase para segmentação.
  • O Firebase só tem acesso de leitura a esses dados. O Firebase mantém uma cópia desses dados no armazenamento interno.
  • Todos os dados excluídos do conjunto de dados do BigQuery também são excluídos do armazenamento de dados do Firebase.

Ativar a importação do BigQuery

  1. Acesse a página Integração do BigQuery no Console do Firebase.
  2. Se você ainda não configurou a integração do BigQuery, siga as instruções exibidas na tela para ativá-la. Tela "Integrações" no Console do Firebase
  3. Ative a opção Segmentos importados. Os segmentos importados ficam no estado desativado

Quando você ativa a importação de segmentos do BigQuery:

  • o Firebase cria automaticamente um novo conjunto de dados do BigQuery chamado firebase_imported_segments. Este conjunto de dados contém tabelas vazias chamadas SegmentMemberships e SegmentMetadata;
  • o conjunto de dados "firebase_imported_segments" também é compartilhado com uma conta de serviço do Firebase com o domínio @gcp-sa-firebasesegmentation.iam.gserviceaccount.com;
  • o Firebase executa um job pelo menos a cada 12 horas para ler esse conjunto de dados e pode importar com frequência maior do que a cada 12 horas.

Importar dados para o BigQuery.

Use qualquer mecanismo compatível para carregar os dados no BigQuery para preencher as tabelas SegmentMemberships e SegmentMetadata. Os dados precisam seguir o esquema descrito abaixo:

SegmentMemberships

[
  {
    "name": "instance_id",
    "type": "STRING"
  },
  {
    "name": "segment_labels",
    "type": "STRING",
    "mode": "REPEATED"
  },
  {
    "name": "update_time",
    "type": "TIMESTAMP"
   }
]

instance_id: o ID de instalação do Firebase para uma instalação específica do app. Você precisa recuperar o ID de instalação para cada instalação de app que quer incluir em um segmento e usar esses valores para preencher esse campo.

segment_labels: os segmentos em que os dispositivos ("instance_id") são incluídos. Eles não precisam ser legíveis e podem ser curtos para reduzir o uso de armazenamento do BigQuery. É preciso haver uma entrada correspondente na tabela SegmentMetadata para cada "segment_labels" usado aqui. Observe que essa tabela é plural, enquanto a tabela SegmentMetadata tem "segment_label".

update_time: não usado atualmente pelo Firebase, mas pode ser usado para excluir associações de segmentos mais antigas do BigQuery que não são mais usadas.

SegmentMetadata

[
   {
      "name": "segment_label",
      "type": "STRING"
   },
   {
      "name": "display_name",
      "type": "STRING"
   }
]

segment_label: identifica um segmento específico. É preciso haver uma entrada nessa tabela para cada segmento listado na tabela SegmentMemberships. Observe que essa tabela é singular, enquanto a tabela SegmentMemberships tem "segment_labels".

display_name: um nome legível e compatível com a IU para o segmento. Isso é usado para rotular seu segmento no Console do Firebase.

Configurar o faturamento do BigQuery

Se você estiver testando o novo recurso para um app com poucas instalações, talvez seja necessário configurar o sandbox do BigQuery.

No entanto, se você usar essa função para um app de produção com muitos usuários, configure o faturamento para uso do BigQuery para pagar pelo armazenamento e o mecanismo usado para carregar dados no BigQuery. Você não será cobrado por leituras iniciadas pelo Firebase.

Desativar a integração

Para desativar essa integração, acesse a página de integração do BigQuery no Console do Firebase e desative a opção Segmentos personalizados.

Usar segmentos importados

Depois que os dados forem ingeridos, eles estarão disponíveis no Console do Firebase para segmentar com serviços como a Configuração remota ou as Mensagens no app. Isso funcionará como a segmentação com propriedades ou públicos do Google Analytics.

Exemplo de uso de segmentos importados com o Editor do Notificações

É possível usar "Segmentos importados" como um dos atributos segmentáveis, e os segmentos que você importou estarão disponíveis para seleção. Elas também incluem uma estimativa do número de instâncias do app que pertencem a cada segmento.

Também está disponível uma estimativa do número de instâncias que correspondem a todos os critérios de segmentação. Ela é atualizada à medida que você altera os critérios de segmentação.

Casos de uso

Há várias maneiras de usar os segmentos importados para criar experiências do usuário segmentadas. Nesta seção, você verá alguns cenários comuns em que pode usar esse recurso.

Enviar notificações para um grupo de usuários

Imagine que você tenha um app que permite compras no aplicativo com um carrinho. Também é possível usar soluções de análise personalizadas ou de terceiros (que não são do Google Analytics) para coletar várias métricas associadas ao comportamento do usuário no seu app. Usando essas métricas, é possível identificar um grupo de usuários que adicionaram itens ao carrinho, mas não finalizaram a compra.

Agora imagine que você quer usar o Firebase Cloud Messaging para enviar uma notificação a esses usuários para lembrar que eles têm itens no carrinho. É possível criar um segmento chamado "incomplete-checkout" e incluir esses usuários, identificados pelo ID de instalação do Firebase e fazer upload dele no BigQuery para compartilhar com o Firebase.

Depois que o Firebase processar esses dados, eles ficarão disponíveis no Editor do Notificações. Nele, será possível criar uma nova campanha de notificação segmentando "incomplete-checkout" para enviar uma mensagem aos usuários para finalizar a compra.

Configurar um app para um subconjunto de usuários

Suponha que você use uma solução de análise interna que indique que alguns usuários estão tendo problemas para navegar no app. Para ajudá-los, configure o comportamento do app para esses usuários para incluir um breve tutorial em vídeo.

Incorpore a Configuração remota ao seu app e use um parâmetro, chamado "needs_help", para que o vídeo do tutorial seja mostrado de maneira condicional.

Usando seus dados de análise, crie um segmento chamado "troubled-users" e inclua os usuários apropriados, identificados pelo ID de instalação do Firebase. Em seguida, faça upload desse segmento e dos respectivos membros no BigQuery para compartilhar com o Firebase.

Depois que o Firebase processar esses dados, eles serão disponibilizados no console da Configuração remota como um segmento segmentável. Em seguida, crie uma condição de segmentação "troubled-users" e defina o parâmetro "needs_help" como "true" para essa condição e "false" por padrão. Depois que essa configuração for publicada, o app mostrará o vídeo do tutorial somente para os usuários no segmento "troubled-users".

Seguir a jornada do usuário em vários dispositivos

Imagine que você tenha criado um app de avaliação de restaurantes com o Firebase e o Google Analytics. Usando as métricas coletadas, você descobrirá que os usuários geralmente acessam o app em um dispositivo móvel e um tablet. Você também descobrirá que os usuários preferem escrever avaliações no tablet, mas leem as avaliações em qualquer dispositivo.

Alguns usuários começam a escrever uma avaliação no smartphone e desistem, possivelmente devido ao formato menor. Você decide enviar uma notificação a esses usuários nos tablets e solicitar que eles concluam a avaliação.

Para fazer isso, defina um reviewerId gerado internamente, como o UserId, por meio do Google Analytics para usuários que fizeram login e acione um evento para identificar avaliações canceladas. Em seguida, exporte os dados do Google Analytics do seu app para o BigQuery.

Ao analisar esses dados no BigQuery, é possível identificar o ID de instalação do Firebase de tablets para usuários que não concluíram a avaliação no smartphone. É possível nomear esse grupo como "tablets-of-users-who-cancelled-on-phone" e fazer upload do segmento no BigQuery para compartilhar a lista de membros com o Firebase.

Quando o Firebase processar esses dados, eles ficarão disponíveis no Editor do Notificações como um segmento segmentável. Em seguida, você poderá criar uma nova campanha de notificações com segmentação para "tablets-of-users-who-cancelled-on-phone" para enviar uma mensagem incentivando esses usuários a concluir a análise no tablet.