Skip to main content

Aperçu de l'intégration OneSignal Snowflake


Aperçu

L’intégration OneSignal + Snowflake prend en charge deux pipelines de données puissants :
  • Exporter : Envoyez automatiquement les données d’événements de messagerie (push, email, SMS, in-app) depuis OneSignal vers Snowflake pour l’analyse et le reporting.
  • Importer : 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.
Ensemble, ces intégrations vous donnent un contrôle total sur les données d’engagement des utilisateurs, permettant des analyses avancées et une messagerie en temps réel basée sur le comportement.

Exporter les événements OneSignal vers Snowflake

Envoyez les événements de performance et d’engagement de messagerie (par exemple, 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 sur tous les canaux
  • Combiner les données OneSignal avec d’autres données métier pour l’analyse
Exigences
  • Plan Professional OneSignal (non disponible sur les applications gratuites).
  • Compte Snowflake
  • Assurez-vous que votre compte Snowflake dispose des rôles IMPORT SHARE et CREATE DATABASE.
    • Nous recommandons d’utiliser le rôle ACCOUNTADMIN pour accepter le partage.
Étapes de configuration

1. S’inscrire

Pour activer l’intégration Snowflake, vous devrez demander l’accès via la liste OneSignal Marketplace pour les données d’événements de messages. De là, nous contacterons votre équipe pour obtenir plus d’informations.

2. Fournir les informations du compte

Une fois que nous nous connectons avec votre équipe, vous devrez nous fournir quelques détails afin que nous puissions partager des données avec vous. Nous aurons besoin de votre ID de compte Snowflake et de votre ID d’organisation Snowflake. Le moyen le plus simple d’obtenir ces informations est de cliquer sur le bouton “Copier l’identifiant du compte” (comme indiqué ci-dessous).
Vous devriez être en contact avec nous via la liste OneSignal Marketplace. Cependant, si vous avez d’autres questions sur la fourniture d’informations de compte, vous pouvez envoyer un e-mail à [email protected]

Copie de l'identifiant du compte Snowflake

Une fois que vous êtes accepté dans le programme, soyez attentif à quelques éléments :
  • E-mail de OneSignal vous souhaitant la bienvenue dans le programme
  • E-mail de Snowflake notifiant que le partage de données est terminé

E-mail de notification de partage de données Snowflake

3. Accepter le partage de données dans Snowflake

Une fois que vous recevez un e-mail de Snowflake vous informant que le partage de données est terminé, vous devriez pouvoir vous connecter à l’application Snowflake et accepter le partage de données. Accédez à DataPrivate Sharing où vous devriez pouvoir voir une nouvelle liste partagée en privé. Une fois que vous cliquez sur Get, vos données commenceront à se répliquer dans votre région.

Interface de partage privé Snowflake

Remarque : Si le bouton Get n’est pas disponible mais qu’un bouton Request l’est, les autorisations du rôle tentant de faire le partage n’incluent pas CREATE DATABASE ou IMPORT SHARE. Nous suggérons de passer au rôle ACCOUNTADMIN. La réplication des données prendra un certain temps. Snowflake enverra un e-mail supplémentaire une fois les données disponibles. Vous devriez voir une boîte de dialogue qui ressemble à ceci

Boîte de dialogue de l'état de réplication des données

Une fois les données prêtes à être utilisées, votre liste devrait avoir un nouveau bouton Get disponible. Cliquez sur le bouton Get et vous serez accueilli avec une nouvelle boîte de dialogue

Boîte de dialogue de configuration de la base de données

Définissez le nom de la base de données et les rôles de base de données selon vos préférences. Ensuite, cliquez sur Get

Finalisation de la configuration du partage de données

C’est tout ! Les données sont maintenant synchronisées depuis OneSignal vers Snowflake. La cadence de synchronisation est définie à une fois toutes les 24 heures, donc les données initiales peuvent ne pas être disponibles avant le lendemain.

Événements et propriétés

Un aperçu des données disponibles sur le Marketplace de Snowflake

Données d’événements de messages

Voir Event Streams pour plus de détails. Pour chaque événement de message généré par un utilisateur, les métadonnées suivantes seront attachées à l’enregistrement.
Nom de colonneTypeDescriptionExemple
event_idUUIDUn ID unique qui représente l’événementdc76df03-287c-403a-aabd-b2d4fe44e5c6
event_kindstringLe type d’événement qui s’est produit. La liste des types d’événements peut être trouvée ici.message.email.opened
event_impression_timestampunix_timestampL’heure à laquelle OneSignal traite l’événement1684951205
subscription_idUUIDUn ID unique qui représente l’appareil/l’abonnement6e8b6978-75a4-4882-878c-2d15a78c2409
subscription_languagestringLa langue de cet abonnementen
subscription_timezoneintegerLe fuseau horaire spécifié de cet abonnement-25200
subscription_device_typestringLe type d’appareil que cet abonnement utilise.SMS
onesignal_idUUIDLe onesignal_id de l’utilisateur qui a fait l’impressiondc76df03-287c-403a-aabd-b2d4fe44e5c6
external_idstringLe external_id de l’utilisateur qui a fait l’impressionMyExternalId
message_idUUIDUn ID unique qui représente le messagedc76df03-287c-403a-aabd-b2d4fe44e5c6
message_namestringL’ID lisible par l’homme de la Notification/MessageCampaign 1
message_titlestringLe titre de la Notification/Message.Anglais uniquement pour le momentBonus 50 coins when you play!
message_bodystringLe corps du message. (Tronqué) Anglais uniquement pour le moment.Play against your friends and earn an additional...

Types d’événements de messages

Voir Event Streams pour plus de détails. Les événements de messages sont la première catégorie de données que nous offrirons sur le Marketplace de Snowflake. N’hésitez pas à nous contacter à [email protected] pour toute demande de catégories de données supplémentaires !

Rétention des données

Les données partagées depuis OneSignal via Snowflake sont conservées pendant une période de 30 jours. Pour assurer la préservation des données au-delà de ce délai, nous vous recommandons de copier les données pertinentes dans vos propres tables.

Importer des événements depuis Snowflake

Envoyez les données d’événements comportementaux depuis Snowflake vers OneSignal pour :
  • Déclencher des Journeys basés sur l’activité utilisateur
  • Personnaliser la messagerie basée sur les données comportementales
Exigences
  • 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 depuis OneSignal vers votre instance Snowflake
  • Identifiants utilisateur avec les autorisations appropriées
Étapes de configuration
1

Créer un rôle dédié pour OneSignal

Créez une hiérarchie de rôles en suivant les meilleures pratiques de Snowflake :
-- Create a role for the census user
CREATE ROLE CENSUS_ROLE;

-- Ensure the sysadmin role inherits any privileges the census role is granted
GRANT ROLE CENSUS_ROLE TO ROLE SYSADMIN;
2

Créer un entrepôt dédié

Créez un entrepôt optimisé en coûts pour les opérations OneSignal :
-- Create a warehouse for the census role, optimizing for cost over performance
CREATE WAREHOUSE CENSUS_WAREHOUSE WITH
    WAREHOUSE_SIZE = XSMALL
    AUTO_SUSPEND = 60
    AUTO_RESUME = TRUE
    INITIALLY_SUSPENDED = FALSE;

GRANT USAGE ON WAREHOUSE CENSUS_WAREHOUSE TO ROLE CENSUS_ROLE;
GRANT OPERATE ON WAREHOUSE CENSUS_WAREHOUSE TO ROLE CENSUS_ROLE;
GRANT MONITOR ON WAREHOUSE CENSUS_WAREHOUSE TO ROLE CENSUS_ROLE;
3

Créer un utilisateur et accorder des autorisations

Créez l’utilisateur OneSignal et accordez l’accès à vos données d’événements :
-- Create the census user
CREATE USER CENSUS WITH
    DEFAULT_ROLE = CENSUS_ROLE
    DEFAULT_WAREHOUSE = CENSUS_WAREHOUSE
    PASSWORD = '<strong-unique-password>';

GRANT ROLE CENSUS_ROLE TO USER CENSUS;

-- Grant access to your event data (replace with your actual database/schema)
GRANT USAGE ON DATABASE "<your-database>" TO ROLE CENSUS_ROLE;
GRANT USAGE ON SCHEMA "<your-database>"."<your-schema>" TO ROLE CENSUS_ROLE;
GRANT SELECT ON ALL TABLES IN SCHEMA "<your-database>"."<your-schema>" TO ROLE CENSUS_ROLE;
GRANT SELECT ON FUTURE TABLES IN SCHEMA "<your-database>"."<your-schema>" TO ROLE CENSUS_ROLE;
GRANT SELECT ON ALL VIEWS IN SCHEMA "<your-database>"."<your-schema>" TO ROLE CENSUS_ROLE;
GRANT SELECT ON FUTURE VIEWS IN SCHEMA "<your-database>"."<your-schema>" TO ROLE CENSUS_ROLE;
4

Créer une base de données de comptabilité (Moteur de synchronisation avancé)

Créez une base de données privée pour la gestion de l’état de synchronisation OneSignal :
-- Create a private bookkeeping database
CREATE DATABASE "CENSUS";
GRANT ALL PRIVILEGES ON DATABASE "CENSUS" TO ROLE CENSUS_ROLE;

CREATE SCHEMA "CENSUS"."CENSUS";
GRANT ALL PRIVILEGES ON SCHEMA "CENSUS"."CENSUS" TO ROLE CENSUS_ROLE;
GRANT CREATE STAGE ON SCHEMA "CENSUS"."CENSUS" TO ROLE CENSUS_ROLE;
Ignorez cette étape si vous utilisez le moteur de synchronisation de base ou le mode lecture seule.
5

Configurer l'authentification

Configurez l’authentification par paire de clés (recommandé) pour une sécurité renforcée :
  1. Générez une paire de clés publique/privée en suivant la documentation de Snowflake
  2. Configurez la clé publique sur votre utilisateur Snowflake
  3. Utilisez la clé privée dans les paramètres de connexion de OneSignal
Alternativement, vous pouvez utiliser l’authentification par mot de passe (obsolète - sera bloquée en novembre 2025).
6

Se connecter à OneSignal

Dans OneSignal, allez dans Data > Integrations et cliquez sur Add Integration.Sélectionnez Snowflake et fournissez les détails de connexion suivants :
  • Nom de compte : Votre identifiant de compte Snowflake (par exemple, 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 (fournissez la clé privée et la phrase secrète optionnelle)

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

Exemple de schéma de table d’événements

-- Example Snowflake event table
CREATE TABLE analytics.user_events (
    event_id STRING,
    event_name STRING NOT NULL,
    user_id STRING NOT NULL,
    event_timestamp TIMESTAMP_TZ DEFAULT CURRENT_TIMESTAMP(),
    event_properties VARIANT,
    session_id STRING,
    device_type STRING
);

Mode de requête SQL

Écrivez des requêtes SQL personnalisées pour transformer vos données d’événements :
-- Example: Recent high-value events
SELECT
    event_name,
    user_id,
    event_timestamp,
    event_properties
FROM analytics.user_events
WHERE event_timestamp >= DATEADD(day, -7, CURRENT_TIMESTAMP())
    AND event_properties:value::NUMBER > 100
ORDER BY event_timestamp DESC;

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

Support 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 :
ALTER TABLE "analytics"."user_events" SET CHANGE_TRACKING = TRUE;

Sécurité réseau

Si vous utilisez la politique réseau des 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 aux opérations OneSignal uniquement

Déconnecter le partage de données avec OneSignal

Veuillez nous envoyer un e-mail à [email protected] pour demander la désactivation de votre partage de données avec OneSignal.

FAQ

Quelle méthode d’authentification dois-je utiliser ?

Utilisez l’authentification par paire de clés (recommandé). 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 a 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