
Aperçu de l'intégration OneSignal Snowflake
Aperçu
L’intégration OneSignal + Snowflake prend en charge deux pipelines de données puissants :- Export : Envoyez automatiquement les données d’événements de messagerie (push, email, SMS, in-app) de OneSignal vers Snowflake pour l’analyse et les rapports.
- Import : Synchronisez les événements utilisateur personnalisés de vos ensembles de données Snowflake vers OneSignal pour déclencher des Journeys automatisés et une messagerie personnalisée.
Exporter les événements OneSignal vers Snowflake
Envoyez les événements de performance et d’engagement de messagerie (par ex., envois, ouvertures, clics) vers Snowflake pour :- Créer des tableaux de bord et des rapports personnalisés
- Suivre les tendances de livraison et d’engagement entre les canaux
- Combiner les données OneSignal avec d’autres données commerciales pour l’analyse
- Plan Professional de OneSignal (non disponible pour les applications gratuites)
- Compte Snowflake
- Rôle SECURITYADMIN ou ACCOUNTADMIN dans Snowflake (pour la configuration)
1. Rassemblez les détails de votre compte Snowflake
Avant de configurer l’intégration, collectez les informations suivantes de votre compte Snowflake :- Hôte Snowflake : L’URL de votre compte au format
<account_identifier>.snowflakecomputing.com - Nom de la base de données : La base de données où OneSignal écrira les données d’événements
- Nom du schéma : Le schéma dans la base de données pour les tables OneSignal (sera créé automatiquement par OneSignal)
- Nom de l’entrepôt : L’entrepôt à utiliser pour les opérations de chargement de données

Emplacement de l'identifiant de compte Snowflake
2. Exécutez le script de configuration dans Snowflake
Exécutez le script SQL suivant dans votre entrepôt Snowflake pour créer le rôle, l’utilisateur, l’entrepôt et la base de données nécessaires pour OneSignal :3. Générez une paire de clés pour l’authentification
OneSignal nécessite une authentification par paire de clés pour un accès sécurisé à votre compte Snowflake. Suivez ces étapes pour générer et configurer les clés :Générer une clé privée
Générer la clé publique
Attribuer la clé publique à votre utilisateur Snowflake
<YOUR_PUBLIC_KEY_CONTENT> par le contenu de la clé (sans les lignes -----BEGIN PUBLIC KEY----- et -----END PUBLIC KEY-----).4. Connectez OneSignal
Activer l'intégration
Saisir les détails
- Hôte :
<your_account>.snowflakecomputing.com - Base de données : par ex.,
ONESIGNAL - Schéma
- Table : par ex.,
message_events - Utilisateur :
ONESIGNAL_USER(ou le nom d’utilisateur que vous avez créé) - Clé privée : Collez le contenu de votre fichier de clé privée (
rsa_key.p8) - Phrase secrète de clé privée (facultatif, seulement si votre clé privée est chiffrée)
Configurer l'intégration
- Fréquence de synchronisation : aussi souvent que toutes les 15 minutes
- Noms de schéma/table : prédéfinis comme
onesignal_events_<app-id>etmessage_events(modifiable) - Types d’événements : choisissez lesquels synchroniser—sélectionnez tous ou seulement ceux dont vous avez besoin
Sélectionner les événements
Terminer la configuration
5. Afficher les données dans Snowflake
Une fois la synchronisation initiale terminée, interrogez vos données d’événements OneSignal :[email protected].É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 Snowflake
Envoyez des données d’événements comportementaux de Snowflake vers OneSignal pour :- Déclencher des Journeys basés sur l’activité des utilisateurs
- 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)
- Compte Snowflake avec accès à l’entrepôt
- Données d’événements stockées dans des tables ou vues Snowflake
- Connectivité réseau de OneSignal vers votre instance Snowflake
- Identifiants utilisateur avec les permissions appropriées
Créer un rôle dédié pour OneSignal
Créer un entrepôt dédié
Créer un utilisateur et accorder les permissions
Créer une base de données de comptabilité (Moteur de synchronisation avancé)
Configurer l'authentification
- Générez une paire de clés publique/privée en suivant la documentation de Snowflake
- Configurez la clé publique sur votre utilisateur Snowflake
- Utilisez la clé privée dans les paramètres de connexion de OneSignal
Se connecter à OneSignal
- Nom du compte : Votre identifiant de compte Snowflake (par ex.,
abc123.us-east-1) - Entrepôt :
CENSUS_WAREHOUSE - Utilisateur :
CENSUS - Base de données : Le nom de votre base de données d’événements
- Schéma : Le nom de votre schéma de données d’événements
- Authentification : Paire de clés (fournir la clé privée et la phrase secrète facultative)
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 |
Schéma de table d’événements exemple
Mode requête SQL
Écrivez des requêtes SQL personnalisées pour transformer vos données d’événements :Configuration avancée
Gestion des coûts de l’entrepôt
- Utilisez une taille d’entrepôt X-Small pour l’optimisation des coûts
- Configurez la suspension automatique (60 secondes) et la reprise automatique
- Planifiez les synchronisations pendant les heures creuses
- Envisagez de partager l’entrepôt avec d’autres systèmes de traitement par lots
Prise en charge des synchronisations en direct
Pour le traitement des événements en temps réel, activez le suivi des modifications sur vos tables d’événements :Sécurité réseau
Si vous utilisez la politique réseau d’adresses IP autorisées de Snowflake, ajoutez les adresses IP de OneSignal à votre liste d’autorisation. Contactez le support OneSignal pour les plages d’IP actuelles.Limitations
- Les requêtes analytiques complexes peuvent impacter les performances et les coûts de l’entrepôt
- L’authentification Utilisateur/Mot de passe sera obsolète en novembre 2025
- La base de données CENSUS est réservée uniquement aux opérations OneSignal
FAQ
Quelle méthode d’authentification dois-je utiliser ?
Utilisez l’authentification par paire de clés (recommandée). L’authentification Utilisateur/Mot de passe sera bloquée par Snowflake à partir de novembre 2025.Puis-je utiliser un entrepôt existant ?
Oui, vous pouvez partager un entrepôt avec d’autres systèmes de traitement par lots comme dbt ou Fivetran pour optimiser les coûts. Assurez-vous que l’entrepôt dispose d’une capacité suffisante pour vos besoins de traitement d’événements.Comment puis-je optimiser les coûts ?
- Utilisez une taille d’entrepôt X-Small
- Configurez une suspension automatique agressive (60 secondes)
- Planifiez les synchronisations pendant les heures creuses
- Utilisez des synchronisations horaires/quotidiennes au lieu d’une synchronisation continue