Passer au contenu principal

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, e-mail, SMS, in-app) de OneSignal vers Snowflake pour l’analyse et les rapports.
  • Import : Synchronisez les événements utilisateur personnalisés depuis 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 complet sur les données d’engagement des utilisateurs, alimentant 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 commerciales pour l’analyse
Exigences
  • OneSignal Forfait professionnel (non disponible sur les applications gratuites).
  • Compte Snowflake
  • Assurez-vous que votre compte Snowflake possède les 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 message. De là, nous contacterons votre équipe pour obtenir plus d’informations.

2. Fournir les informations de 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. La façon la plus simple d’obtenir ces informations est de cliquer sur le bouton “Copier l’identifiant de compte” (comme indiqué ci-dessous).
Vous devriez être en contact avec nous via la liste OneSignal Marketplace. Cependant, si vous avez des questions supplémentaires sur la fourniture d’informations de compte, vous pouvez envoyer un e-mail à snowflake-data-sharing@onesignal.com

Copie de l'identifiant de compte Snowflake

Une fois que vous êtes accepté dans le programme, soyez à l’affût de 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. Naviguez vers DonnéesPartage privé où vous devriez pouvoir voir une nouvelle liste partagée privée. Une fois que vous cliquez sur Obtenir, vos données commenceront à se répliquer dans votre région.

Interface de partage privé Snowflake

Remarque : Si le bouton Obtenir n’est pas disponible mais qu’un bouton Demander l’est, les autorisations du rôle tentant d’effectuer le partage n’incluent pas CREATE DATABASE ou IMPORT SHARE. Nous suggérons de passer au rôle ACCOUNTADMIN. Il faudra un certain temps pour que les données soient répliquées. Snowflake vous 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 statut de réplication des données

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

Boîte de dialogue de configuration de 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 Obtenir

Achèvement de la configuration du partage de données

C’est tout ! Les données sont maintenant synchronisées de OneSignal vers Snowflake. La cadence de synchronisation est définie sur 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 message

Consultez 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_kindchaîneLe 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/abonnement6e8b6978-75a4-4882-878c-2d15a78c2409
subscription_languagechaîneLa langue de cet abonnementen
subscription_timezoneentierLe fuseau horaire spécifié de cet abonnement-25200
subscription_device_typechaîneLe type d’appareil utilisé par cet abonnement.SMS
onesignal_idUUIDL’onesignal_id de l’utilisateur qui a fait l’impressiondc76df03-287c-403a-aabd-b2d4fe44e5c6
external_idchaîneL’external_id de l’utilisateur qui a fait l’impressionMyExternalId
message_idUUIDUn ID unique qui représente le messagedc76df03-287c-403a-aabd-b2d4fe44e5c6
message_namechaîneL’ID lisible de la Notification/MessageCampaign 1
message_titlechaîneLe titre de la Notification/Message.Anglais uniquement pour le momentBonus 50 coins when you play!
message_bodychaîneLe corps du message. (Tronqué) Anglais uniquement pour le moment.Play against your friends and earn an additional...

Types d’événements de message

Consultez Event Streams pour plus de détails. Les événements de message sont la première catégorie de données que nous offrirons sur le Marketplace de Snowflake. Veuillez nous contacter à snowflake-data-sharing@onesignal.com 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 garantir 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 des données d’événements comportementaux depuis Snowflake vers OneSignal pour :
  • Déclencher des Journeys basés sur l’activité des utilisateurs
  • Personnaliser la messagerie en fonction des 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 de 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 selon les meilleures pratiques 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é pour les 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 de 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 (dépréciée - 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 de passe 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 d’entrepôt

  • Utilisez la 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 d’é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 IP actuelles.

Limitations

  • Les requêtes analytiques complexes peuvent impacter les performances de l’entrepôt et les coûts
  • L’authentification utilisateur/mot de passe sera dépréciée 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 à snowflake-data-sharing@onesignal.com 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 dispose d’une capacité suffisante pour vos besoins de traitement d’événements.

Comment puis-je optimiser les coûts ?

  • Utilisez la 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