Firebase fournit des outils permettant de personnaliser l'expérience utilisateur en ciblant des groupes d' utilisateurs via des services Firebase tels que Remote Config, Cloud Messaging, et la messagerie dans l'application. Avec un compte BigQuery associé, vous pouvez importer des segments que vous avez peut-être identifiés en dehors de Firebase pour créer des expériences ciblées avec les services Firebase.
Configurer les segments importés
Vous pouvez importer des données pour vos segments dans Firebase à l'aide de Google Cloud BigQuery. BigQuery propose plusieurs façons de charger des données. Vous pouvez donc choisir celle qui convient le mieux à votre configuration.

Une fois l'intégration activée :
- Firebase crée un ensemble de données dans BigQuery dont vous êtes propriétaire, mais auquel Firebase a accès en lecture.
- Firebase ingère régulièrement les données, ce qui rend vos segments mis à jour disponibles dans la Firebase console pour le ciblage.
- Firebase n'a accès à ces données qu'en lecture. Firebase conserve une copie de ces données dans son espace de stockage interne.
- Toutes les données supprimées de l'ensemble de données BigQuery sont également supprimées de l'espace de stockage de données Firebase.
Activer l'importation BigQuery
- Accédez à la page d'intégration BigQuery dans la console Firebase.
- Si vous n'avez pas encore configuré l'intégration BigQuery, suivez les instructions à l'écran pour activer BigQuery.
Console Firebase"> - Activez le bouton Segments importés.

Lorsque vous activez l'importation de segments depuis BigQuery :
- Firebase crée automatiquement un nouvel ensemble de données BigQuery
nommé
firebase_imported_segments. Cet ensemble de données contient des tables vides nomméesSegmentMembershipsetSegmentMetadata. - L'ensemble de données "firebase_imported_segments" est également partagé avec un compte de service Firebase dont le domaine est
@gcp-sa-firebasesegmentation.iam.gserviceaccount.com. - Firebase exécute une tâche au moins toutes les 12 heures pour lire cet ensemble de données et peut importer des données plus fréquemment que toutes les 12 heures.
Importer des données dans BigQuery
Vous pouvez utiliser n'importe quel mécanisme compatible pour
charger vos données dans BigQuery afin de
remplir les tables SegmentMemberships et SegmentMetadata. Les données doivent
suivre le schéma décrit ci-dessous :
SegmentMemberships
[
{
"name": "instance_id",
"type": "STRING"
},
{
"name": "segment_labels",
"type": "STRING",
"mode": "REPEATED"
},
{
"name": "update_time",
"type": "TIMESTAMP"
}
]
instance_id : ID d'installation Firebase pour une installation d'application spécifique. Vous devez récupérer l'ID d'installation pour chaque installation d'application que vous souhaitez inclure dans un segment, puis utiliser ces valeurs pour remplir ce champ.
segment_labels : segments dans lesquels les appareils ("instance_id") sont
inclus. Ces libellés ne doivent pas nécessairement être lisibles et peuvent être courts pour réduire l'utilisation du stockage BigQuery. Il doit y avoir une entrée correspondante dans la
SegmentMetadata table pour chaque "segment_labels" utilisé ici. Notez que ce libellé est au
pluriel, alors que la SegmentMetadata table comporte "segment_label".
update_time : n'est actuellement pas utilisé par Firebase, mais peut être utilisé pour supprimer de BigQuery les appartenances à des segments plus anciens qui ne sont plus utilisés.
SegmentMetadata
[
{
"name": "segment_label",
"type": "STRING"
},
{
"name": "display_name",
"type": "STRING"
}
]
segment_label : identifie un segment particulier. Il doit y avoir une entrée dans cette table pour chaque segment listé dans la table SegmentMemberships. Notez que ce libellé est au singulier, alors que la table SegmentMemberships comporte
"segment_labels".
display_name : nom lisible et convivial pour l'interface utilisateur du segment. Il est utilisé pour libeller votre segment dans la Firebase console.
Configurer la facturation pour BigQuery
Si vous essayez la nouvelle fonctionnalité pour une application avec très peu d'installations, vous n'aurez peut-être qu'à configurer le bac à sable BigQuery.
Toutefois, si vous utilisez cette fonctionnalité pour une application de production avec de nombreux utilisateurs, vous devez configurer la facturation pour l'utilisation de BigQuery afin de payer le stockage ainsi que le mécanisme utilisé pour charger les données dans BigQuery. Aucune lecture initiée par Firebase ne vous sera facturée.
Désactiver l'intégration
Pour désactiver cette intégration, accédez à la page d'intégration BigQuery dans la console Firebase et désactivez le bouton Segments personnalisés.
Utiliser des segments importés
Une fois les données ingérées, elles seront disponibles dans la console Firebase pour le ciblage avec des services tels que Remote Config ou la messagerie dans l'application. Cela fonctionne comme le ciblage avec des propriétés ou des audiences Google Analytics.

Vous pouvez utiliser "Segment(s) importé(s)" comme l'un des attributs ciblables, et les segments que vous avez importés seront disponibles pour la sélection. Ils incluent également une estimation du nombre d'instances d'application appartenant à chaque segment.
Une estimation du nombre d'instances correspondant à l'ensemble des critères de ciblage est également disponible. Elle est mise à jour lorsque vous apportez des modifications aux critères de ciblage.
Cas d'utilisation
Vous pouvez utiliser des segments importés de différentes manières pour créer des expériences utilisateur ciblées. Cette section présente quelques scénarios courants dans lesquels vous pouvez utiliser cette fonctionnalité.
Envoyer des notifications à un groupe d'utilisateurs
Imaginez que vous disposez d'une application qui autorise les achats via une fonctionnalité de panier d'achat. Vous pouvez également utiliser des solutions d'analyse personnalisées ou tierces (qui ne sont pas basées sur Google Analytics) pour collecter différentes métriques associées au comportement des utilisateurs dans votre application. À l'aide de ces métriques, vous pouvez identifier un groupe d'utilisateurs qui ont ajouté des articles au panier, mais qui n'ont pas finalisé leur achat.
Imaginez maintenant que vous souhaitez utiliser Firebase Cloud Messaging pour envoyer une notification à ces utilisateurs afin de leur rappeler qu'ils ont des articles dans leur panier. Vous pouvez créer un segment appelé "incomplete-checkout" et inclure ces utilisateurs, identifiés par leur Firebase ID d'installation, puis l'importer dans BigQuery pour le partager avec Firebase.
Une fois que Firebase a ingéré ces données, elles sont disponibles dans le compositeur de notifications. Vous pouvez y créer une campagne de notifications ciblant "incomplete-checkout" pour envoyer un message incitant les utilisateurs à finaliser leur achat.
Configurer une application pour un sous-ensemble d'utilisateurs
Supposons que vous utilisiez une solution d'analyse interne qui indique que certains utilisateurs ont des difficultés à naviguer dans l'application. Pour les aider, vous souhaitez configurer le comportement de l'application pour ces utilisateurs afin d'inclure une courte vidéo de tutoriel.
Vous pouvez intégrer Remote Config dans votre application et utiliser un paramètre, nommé par exemple "needs_help", dans votre application pour afficher de manière conditionnelle la vidéo de tutoriel.
À l'aide de vos données d'analyse, créez un segment nommé "troubled-users" et incluez les utilisateurs appropriés, identifiés par leur ID d'installation Firebase. Importez ensuite ce segment et ses membres dans BigQuery pour les partager avec Firebase.
Une fois que Firebase a ingéré ces données, elles sont disponibles dans la Remote Config console en tant que segment ciblable. Vous pouvez ensuite créer une condition ciblant "troubled-users" et définir le paramètre "needs_help" sur "true" pour cette condition et sur "false" par défaut. Une fois cette configuration publiée, l'application n'affiche la vidéo de tutoriel qu'aux utilisateurs du segment "troubled-users".
Suivre les parcours utilisateur sur plusieurs appareils
Imaginez que vous avez créé une application d'avis sur les restaurants à l'aide de Firebase et Google Analytics. À l'aide des métriques collectées, vous constatez que les utilisateurs accèdent souvent à l'application à la fois depuis un appareil mobile et une tablette. Vous découvrez également que vos utilisateurs préfèrent rédiger des avis sur la tablette, mais qu'ils peuvent lire des avis depuis n'importe quel appareil.
Certains utilisateurs commencent à rédiger un avis sur leur téléphone, puis abandonnent, peut-être en raison de la taille réduite de l'écran. Vous décidez d'envoyer une notification à ces utilisateurs sur leur tablette pour leur demander de terminer leurs avis.
Pour ce faire, vous pouvez définir un reviewerId généré en interne comme UserId à l'aide de Google Analytics pour les utilisateurs connectés et déclencher un événement pour identifier les avis annulés. Vous pouvez ensuite exporter les données Google Analytics de votre application vers BigQuery.
En analysant ces données dans BigQuery, vous pouvez identifier l'ID d'installation Firebase des tablettes des utilisateurs qui n'ont pas terminé de rédiger un avis sur leur téléphone. Vous pouvez nommer ce groupe "tablets-of-users-who-cancelled-on-phone" et importer le segment dans BigQuery pour partager la liste des membres avec Firebase.
Une fois que Firebase a ingéré ces données, elles sont disponibles dans le compositeur de notifications en tant que segment ciblable. Vous pouvez ensuite créer une campagne de notifications ciblant "tablets-of-users-who-cancelled-on-phone" pour envoyer un message incitant ces utilisateurs à terminer leur avis sur leur tablette.