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.
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
- 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
1. Créer un compte de service
Connectez-vous à votre compte Google Cloud Platform

Créer un compte de service

Remplissez les champs.

Attribuer le rôle 'Utilisateur BigQuery'

Créer une clé JSON pour ce compte
2. Activer l’intégration dans OneSignal
Accédez à OneSignal > Données > Intégrations > BigQuery
Collez votre clé JSON de compte de service
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.
Cliquez sur Enregistrer et attendez la confirmation
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_kind | Description |
|---|---|---|
| Push Sent | message.push.sent | Notification push envoyée avec succès. |
| Push Received | message.push.received | Push livrée (voir Confirmed Delivery). |
| Push Clicked | message.push.clicked | L’utilisateur a cliqué sur la push. |
| Push Failed | message.push.failed | Échec de la livraison. Voir les rapports de message. |
| Push Unsubscribed | message.push.unsubscribed | L’utilisateur s’est désabonné de la push. |
| In-App Impression | message.iam.displayed | Message In-App affiché. |
| In-App Clicked | message.iam.clicked | Message In-App cliqué. |
| In-App Page Viewed | message.iam.pagedisplayed | Page In-App affichée. |
| Email Sent | message.email.sent | Email livré. |
| Email Received | message.email.received | Email accepté par le serveur de messagerie du destinataire. |
| Email Opened | message.email.opened | Email ouvert. Voir Email Reports. |
| Email Link Clicked | message.email.clicked | Lien dans l’email cliqué. |
| Email Unsubscribed | message.email.unsubscribed | Destinataire désabonné. |
| Email Marked Spam | message.email.resporedasspam | Marqué comme spam. Voir Email Deliverability. |
| Email Bounced | message.email.hardbounced | Rebond dû à un échec de livraison permanent. |
| Email Failed | message.email.failed | Échec de la livraison. |
| Email Suppressed | message.email.supressed | Supprimé en raison de la liste de suppression. |
| SMS Sent | message.sms.sent | SMS envoyé. |
| SMS Delivered | message.sms.delivered | SMS livré avec succès. |
| SMS Failed | message.sms.failed | Échec de la livraison du SMS. |
| SMS Undelivered | message.sms.undelivered | SMS 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 colonne | Type | Description |
|---|---|---|
event_id | UUID | Identifiant unique de l’événement |
event_timestamp | Timestamp | Heure de l’occurrence de l’événement |
event_kind | String | Le Type d’événement |
subscription_device_type | String | Type d’appareil (par exemple, iOS, Android, Web, Email, SMS) |
language | String | Code de langue de l’abonnement |
version | String | Version de l’intégration |
device_os | String | Version du système d’exploitation de l’appareil |
device_type | Number | Type d’appareil numérique |
token | String | Jeton push, numéro de téléphone ou email |
subscription_id | UUID | ID d’abonnement |
subscribed | Boolean | Statut d’abonnement |
onesignal_id | UUID | ID utilisateur OneSignal |
last_active | String | Horodatage de dernière activité |
sdk | String | Version du SDK OneSignal |
external_id | String | ID utilisateur externe qui doit correspondre à l’ID utilisateur de l’intégration |
app_id | UUID | App ID de OneSignal |
template_id | UUID | Template ID (le cas échéant) |
message_id | UUID | ID du lot/requête de message |
message_name | String | Nom du message |
message_title | String | Titre du message (anglais uniquement) |
message_contents | String | Corps du message tronqué (anglais uniquement) |
_created, _id, _index, _fivetran_synced | Usage interne | Mé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
- 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
Créer un compte de service BigQuery
Accorder les permissions requises
bigquery.dataViewer- Accès en lecture aux ensembles de données et tables contenant les données d’événementsbigquery.jobUser- Permission de créer des tâches pour les requêtes de donnéesbigquery.metadataViewer- Accès aux métadonnées au niveau du projet (recommandé)
Ajouter l'intégration dans OneSignal

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
Configurer la source de 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
- Nom/type d’événement
- Identifiant utilisateur
- Horodatage de l’événement
- Propriétés d’événement supplémentaires
Tester la connexion
Mappage des données d’événement
Mappez vos au format des événements personnalisés de OneSignal :| Champ OneSignal | Description | Requis | |
|---|---|---|---|
name | event_name | Identifiant de l’événement | Oui |
external_id | user_id | Identifiant de l’utilisateur | Oui |
timestamp | event_timestamp | Quand l’événement s’est produit | Non |
properties | event_data | Non |
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 :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.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
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
- Création de clés de compte de service dans GCP
- Documentation OneSignal Journeys
- Documentation d’exportation de données OneSignal