Passer au contenu principal

Vue d’ensemble

L’intégration OneSignal + BigQuery prend en charge deux pipelines de données puissants :
  • Exportation : Envoyez automatiquement les données d’événements de messagerie (push, e-mail, SMS, in-app) de OneSignal vers BigQuery pour l’analyse et le reporting.
  • Importation : Synchronisez les événements utilisateur personnalisés depuis vos ensembles de données BigQuery vers OneSignal pour déclencher des Journeys automatisés et une messagerie personnalisée.
Ensemble, ces intégrations vous donnent un contrôle complet sur les données d’engagement utilisateur, alimentant l’analytique avancée et la messagerie en temps réel basée sur le comportement.

Exporter les événements OneSignal vers BigQuery

Envoyez des événements de performance et d’engagement de messagerie (par exemple, envois, ouvertures, clics) vers BigQuery pour :
  • Créer des tableaux de bord et des rapports personnalisés
  • Suivre les tendances de livraison et d’engagement sur tous les canaux
  • Combiner les données OneSignal avec d’autres données métier pour l’analyse
Prérequis
  • Accès aux Event Streams pour les événements de message sortants (Les limitations de forfait et les dépassements s’appliquent)
  • Accès aux Événements personnalisés pour la synchronisation des événements entrants (Les limitations de forfait et les dépassements s’appliquent)
  • Forfait de compte mis à jour (non disponible sur les applications gratuites)
  • Projet Google Cloud Platform avec facturation activée
  • BigQuery activé dans votre projet GCP
  • Compte de service avec permissions d’écriture BigQuery
Étapes de configuration

1. Créer un compte de service

1

Connectez-vous à votre compte Google Cloud Platform

Après vous être connecté, assurez-vous que le bon projet est sélectionné.
2

Créer un compte de service

Visitez la page Créer un compte de service et cliquez sur Créer un compte de service.
3

Remplissez les champs.

Donnez-lui n’importe quel nom et ID de compte de service de votre choix.
4

Attribuer le rôle 'Utilisateur BigQuery'

Donnez au compte de service le rôle “Utilisateur BigQuery”.
5

Créer une clé JSON pour ce compte

Accédez à votre nouveau compte de service > Clés > Ajouter une clé > Créer une nouvelle clé > sélectionnez JSON. Enregistrez le fichier.
Vous collerez l’intégralité du contenu de ce fichier de clé JSON dans OneSignal pour activer l’intégration.

2. Activer l’intégration dans OneSignal

1

Accédez à OneSignal > Données > Intégrations > BigQuery

2

Collez votre clé JSON de compte de service

3

Configurer les paramètres

  • Fréquence de synchronisation : Aussi souvent que toutes les 15 minutes
  • Noms des ensembles de données/tables : Ne doivent contenir que des lettres minuscules, des chiffres et des underscores, et ne peuvent pas commencer par un chiffre.
  • Types d’événements : Sélectionnez des événements de message spécifiques (par exemple, envoyé, ouvert, cliqué)
    • Remarque : Vous pouvez sélectionner plusieurs types d’événements ou mettre à jour les événements sélectionnés ultérieurement.
4

Cliquez sur Enregistrer et attendez la confirmation

La synchronisation initiale des données peut prendre 15 à 30 minutes avant d’apparaître dans BigQuery.Pendant que vous attendez, envoyez des messages via push, e-mail, in-app ou SMS pour déclencher les événements sélectionnés.

3. Afficher les données dans BigQuery

Ouvrez votre console BigQuery et localisez l’ensemble de données (par exemple, onesignal_events_<app-id>) pour explorer les événements de message synchronisés.

Ensemble de données BigQuery contenant les événements de message exportés

Événements et propriétés de message

Types d’événements de message

Propriété : event_kind Type : String Le type de message et d’événement (par exemple message.push.received, message.push.sent).
Événement de message (OneSignal)event_kindDescription
Push Sentmessage.push.sentNotification push envoyée avec succès.
Push Receivedmessage.push.receivedPush livrée (voir Confirmed Delivery).
Push Clickedmessage.push.clickedL’utilisateur a cliqué sur la push.
Push Failedmessage.push.failedÉchec de la livraison. Voir les rapports de message.
Push Unsubscribedmessage.push.unsubscribedL’utilisateur s’est désabonné de la push.
In-App Impressionmessage.iam.displayedMessage In-App affiché.
In-App Clickedmessage.iam.clickedMessage In-App cliqué.
In-App Page Viewedmessage.iam.pagedisplayedPage In-App affichée.
Email Sentmessage.email.sentEmail livré.
Email Receivedmessage.email.receivedEmail accepté par le serveur de messagerie du destinataire.
Email Openedmessage.email.openedEmail ouvert. Voir Email Reports.
Email Link Clickedmessage.email.clickedLien dans l’email cliqué.
Email Unsubscribedmessage.email.unsubscribedDestinataire désabonné.
Email Marked Spammessage.email.resporedasspamMarqué comme spam. Voir Email Deliverability.
Email Bouncedmessage.email.hardbouncedRebond dû à un échec de livraison permanent.
Email Failedmessage.email.failedÉchec de la livraison.
Email Suppressedmessage.email.supressedSupprimé en raison de la liste de suppression.
SMS Sentmessage.sms.sentSMS envoyé.
SMS Deliveredmessage.sms.deliveredSMS livré avec succès.
SMS Failedmessage.sms.failedÉchec de la livraison du SMS.
SMS Undeliveredmessage.sms.undeliveredSMS rejeté ou injoignable.

Schéma des données d’événement

Pour chaque événement de message généré par un utilisateur, les métadonnées suivantes seront jointes à l’enregistrement.
Nom de colonneTypeDescription
event_idUUIDIdentifiant unique de l’événement
event_timestampTimestampHeure de l’occurrence de l’événement
event_kindStringLe Type d’événement
subscription_device_typeStringType d’appareil (par exemple, iOS, Android, Web, Email, SMS)
languageStringCode de langue de l’abonnement
versionStringVersion de l’intégration
device_osStringVersion du système d’exploitation de l’appareil
device_typeNumberType d’appareil numérique
tokenStringJeton push, numéro de téléphone ou email
subscription_idUUIDID d’abonnement
subscribedBooleanStatut d’abonnement
onesignal_idUUIDID utilisateur OneSignal
last_activeStringHorodatage de dernière activité
sdkStringVersion du SDK OneSignal
external_idStringID utilisateur externe qui doit correspondre à l’ID utilisateur de l’intégration
app_idUUIDApp ID de OneSignal
template_idUUIDTemplate ID (le cas échéant)
message_idUUIDID du lot/requête de message
message_nameStringNom du message
message_titleStringTitre du message (anglais uniquement)
message_contentsStringCorps du message tronqué (anglais uniquement)
_created, _id, _index, _fivetran_syncedUsage interneMétadonnées de synchronisation Fivetran

Notes

  • Les synchronisations après l’enregistrement/l’activation peuvent prendre 15 à 30 minutes supplémentaires pour se terminer.
  • La désactivation peut toujours entraîner une dernière synchronisation finale après la désactivation.
  • Pour garantir une synchronisation efficace des données, notre système crée et gère automatiquement des ensembles de données intermédiaires. Ces ensembles de données, nommés selon un modèle comme fivetran_{deux mots aléatoires}_staging, stockent temporairement les données pendant le traitement avant qu’elles ne soient intégrées dans votre schéma principal. Ces ensembles de données intermédiaires sont essentiels pour maintenir un flux de travail rationalisé et ne doivent pas être supprimés, car ils seront automatiquement recréés.

Importer des événements depuis BigQuery

Envoyez des données d’événements comportementaux depuis BigQuery vers OneSignal pour :
  • Déclencher des Journeys basés sur l’activité utilisateur
  • Personnaliser la messagerie en fonction des données comportementales
Prérequis
  • Accès aux Event Streams pour les événements de message sortants (Les limitations de forfait et les dépassements s’appliquent)
  • Accès aux Événements personnalisés pour la synchronisation des événements entrants (Les limitations de forfait et les dépassements s’appliquent)
  • Forfait de compte mis à jour (non disponible sur les applications gratuites)
  • Projet GCP avec BigQuery et tables de données d’événements
  • Compte de service avec permissions de lecture
  • Tables de données d’événements contenant des données comportementales dans des ensembles de données BigQuery
Étapes de configuration
1

Créer un compte de service BigQuery

OneSignal générera automatiquement un compte de service lorsque vous créerez la connexion. Alternativement, vous pouvez fournir votre propre fichier JSON de clé de compte de service.Si vous créez votre propre compte de service, assurez-vous qu’il dispose des permissions requises listées ci-dessous.
2

Accorder les permissions requises

Le compte de service OneSignal a besoin de ces rôles IAM BigQuery :
  • bigquery.dataViewer - Accès en lecture aux ensembles de données et tables contenant les données d’événements
  • bigquery.jobUser - Permission de créer des tâches pour les requêtes de données
  • bigquery.metadataViewer - Accès aux métadonnées au niveau du projet (recommandé)
Accordez les permissions en utilisant la console Google Cloud ou CLI :
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
  --member serviceAccount:ONESIGNAL_SERVICE_ACCOUNT_EMAIL \
  --role roles/bigquery.dataViewer

gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
  --member serviceAccount:ONESIGNAL_SERVICE_ACCOUNT_EMAIL \
  --role roles/bigquery.jobUser
3

Ajouter l'intégration dans OneSignal

Dans OneSignal, allez dans Data > Integrations et cliquez sur Add Integration.

Ajouter l'intégration BigQuery

  • Moteur de synchronisation : La synchronisation avancée est recommandée pour les grands ensembles de données ou les requêtes de données d’événements complexes. Vous pouvez commencer avec la synchronisation de base et passer à la synchronisation avancée plus tard si nécessaire.
  • ID de projet Google Cloud : Votre projet GCP contenant les ensembles de données BigQuery
  • Région de l’ensemble de données : Emplacement où vos ensembles de données BigQuery sont stockés
  • Clé de compte de service (optionnel) : Fichier de clé JSON si vous utilisez votre propre compte de service
4

Configurer la source de données d'événements

Spécifiez l’ensemble de données BigQuery et la table contenant vos données d’événements :
  • Ensemble de données : Nom de l’ensemble de données BigQuery (par exemple, analytics_events)
  • Table/Vue : Table ou vue contenant les enregistrements d’événements
  • Requête d’événement : Requête SQL optionnelle pour filtrer ou transformer les données d’événements
Votre table d’événements doit contenir des colonnes pour :
  • Nom/type d’événement
  • Identifiant utilisateur
  • Horodatage de l’événement
  • Propriétés d’événement supplémentaires
5

Tester la connexion

Cliquez sur Tester la connexion pour vérifier que OneSignal peut accéder à votre projet BigQuery et lire les données d’événements.

Mappage des données d’événement

Mappez vos au format des événements personnalisés de OneSignal :
Champ OneSignalDescriptionRequis
nameevent_nameIdentifiant de l’événementOui
external_iduser_idIdentifiant de l’utilisateurOui
timestampevent_timestampQuand l’événement s’est produitNon
propertiesevent_dataNon

Configuration avancée

Requêtes SQL personnalisées

Utilisez du SQL personnalisé pour filtrer ou transformer les données d’événements avant de les synchroniser vers OneSignal :
SELECT
  event_name,
  user_id,
  event_timestamp,
  STRUCT(
    product_id,
    purchase_amount,
    category
  ) as payload
FROM `project.dataset.events`
WHERE event_timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)

Accès multi-projets

Si vos données d’événements s’étendent sur plusieurs projets BigQuery, accordez au compte de service OneSignal l’accès à chaque projet contenant les tables ou vues référencées.
La région de connexion BigQuery doit correspondre à la région de la table spécifique pour des performances optimales.

FAQ

Pourquoi ma synchronisation échoue-t-elle ?

Il existe quelques raisons courantes pour lesquelles votre synchronisation peut échouer :
  • Le compte de service ne dispose pas des permissions requises
  • L’ensemble de données source est trop volumineux pour une synchronisation de base et vous devez utiliser la synchronisation avancée
Passez en revue les étapes de configuration ci-dessus et assurez-vous de les avoir suivies correctement. Si vous rencontrez toujours des problèmes, veuillez contacter support@onesignal.com.

Pourquoi vois-je plusieurs ID de message pour le même contenu ?

Cela se produit généralement lorsqu’un modèle de message est réutilisé sur plusieurs envois ou flux déclenchés.

À quelle fréquence OneSignal synchronise-t-il les données ?

Les intégrations d’exportation et d’importation peuvent se synchroniser aussi fréquemment que toutes les 15 minutes.

Puis-je utiliser des vues BigQuery ?

Oui. Assurez-vous simplement que le compte de service a accès à toutes les tables référencées dans la vue.

Ressources associées