Descripción general
La integración de OneSignal + Snowflake admite dos potentes canales de datos:- Salida: Envía automáticamente datos de eventos de mensajería (push, correo electrónico, SMS, in-app) desde OneSignal a Snowflake para análisis y generación de informes.
- Entrada: Sincroniza eventos de usuario personalizados desde tus conjuntos de datos de Snowflake a OneSignal para activar Journeys automatizados y mensajería personalizada.
Configuración de salida
support@onesignal.com con:- El nombre de tu empresa
- Tu ID de organización de OneSignal
- Los ID de aplicación que deseas habilitar
- Crear paneles e informes personalizados
- Rastrear tendencias de entrega y participación entre canales
- Combinar datos de OneSignal con otros datos comerciales para análisis
- Plan Professional de OneSignal (no disponible en aplicaciones gratuitas)
- Cuenta de Snowflake
- Rol SECURITYADMIN o ACCOUNTADMIN en Snowflake (para configuración)
1. Recopila los detalles de tu cuenta de Snowflake
Antes de configurar la integración, recopila la siguiente información de tu cuenta de Snowflake:- Host de Snowflake: La URL de tu cuenta en el formato
<account_identifier>.snowflakecomputing.com - Nombre de la base de datos: La base de datos donde OneSignal escribirá los datos de eventos
- Nombre del esquema: El esquema dentro de la base de datos para las tablas de OneSignal (esto será creado automáticamente por OneSignal)
- Nombre del almacén: El almacén a utilizar para operaciones de carga de datos

Ubicación del identificador de cuenta de Snowflake
2. Ejecuta el script de configuración en Snowflake
Ejecuta el siguiente script SQL en tu almacén de Snowflake para crear el rol, usuario, almacén y base de datos necesarios para OneSignal:3. Genera un par de claves para autenticación
OneSignal requiere autenticación de par de claves para un acceso seguro a tu cuenta de Snowflake. Sigue estos pasos para generar y configurar las claves:Genera una clave privada
Genera la clave pública
Asigna la clave pública a tu usuario de Snowflake
<YOUR_PUBLIC_KEY_CONTENT> con el contenido de la clave (sin las líneas -----BEGIN PUBLIC KEY----- y -----END PUBLIC KEY-----).4. Conecta OneSignal
Activa la integración
Ingresa los detalles
- Host:
<your_account>.snowflakecomputing.com - Puerto: Opcional, por defecto es
443 - Base de datos: p. ej.,
ONESIGNAL - Rol: Opcional, usa el rol predeterminado del usuario si se omite
- Usuario: p. ej.,
ONESIGNAL_USER - Clave privada: Pega el contenido de tu archivo de clave privada (
rsa_key.p8) - Frase de contraseña de clave privada: Opcional, solo si tu clave privada está cifrada
- Ubicación de procesamiento de datos: Dónde se procesan los datos antes de enviarlos a Snowflake
Configura la integración
- Frecuencia de sincronización: tan frecuente como cada 15 minutos
- Nombres de esquema/tabla: preestablecidos como
onesignal_events_<app-id>ymessage_events(editable) - Tipos de eventos: elige cuáles sincronizar: selecciona todos o solo los que necesitas
Selecciona eventos
Completa la configuración
5. Ver datos en Snowflake
Una vez que se complete la sincronización inicial, consulta los datos de eventos de OneSignal:support@onesignal.com.Eventos y propiedades de mensajes
Tipos de eventos de mensajes
Propiedad:event_kind
Tipo: String
El tipo de mensaje y evento (por ejemplo, message.push.received, message.push.sent).
Esquema de datos de eventos
Para cada evento de mensaje generado por un usuario, los siguientes metadatos se adjuntarán al registro.Notas
- Las sincronizaciones después de guardar/activar pueden tardar de 15 a 30 minutos adicionales en completarse.
- Desactivar aún puede resultar en una sincronización final después de la desactivación.
- Para garantizar una sincronización de datos eficiente, nuestro sistema crea y gestiona automáticamente conjuntos de datos de preparación. Estos conjuntos de datos, nombrados con un patrón como
fivetran_{dos palabras aleatorias}_staging, almacenan temporalmente datos durante el procesamiento antes de que se integren en su esquema principal. Estos conjuntos de datos de preparación son esenciales para mantener un flujo de trabajo optimizado y no deben eliminarse, ya que se recrearán automáticamente.
Migración desde la versión heredada
Si actualmente estás usando la integración heredada de Snowflake, esta sección cubre las diferencias clave y cómo migrar tus consultas.Diferencias clave
Cambios de esquema
La nueva integración crea columnas bajo demanda. Si ningún evento contiene datos para un campo particular, esa columna no existirá en tu tabla. Cuando aparezcan datos para ese campo, la columna se creará automáticamente.Cambios de nombre de columnas
Inferencia de tipos
La nueva integración utiliza inferencia automática de tipos. Si todos los valores en una columna son numéricos (p. ej., todos tus valoresEXTERNAL_ID son números), la columna puede ser tipada como NUMBER. Si aparece un valor no numérico más tarde, el tipo de columna se promociona a VARCHAR.
Usa conversión explícita si es necesario:
Migración de consultas
Para migrar consultas existentes:- Actualiza las referencias a la base de datos heredada para apuntar a tu nueva base de datos de Snowflake
- Ten en cuenta los cambios de nombre de columnas listados arriba
- Añade conversión de tipos explícita donde sea necesario
ONESIGNAL_DB.ONESIGNAL_EVENTS_XXXXX.MESSAGE_EVENTS con tus nombres reales de base de datos, esquema y tabla.Configuración de entrada
Importa datos de eventos de comportamiento desde Snowflake a OneSignal para:- Activar Journeys basados en la actividad del usuario
- Personalizar mensajes basados en datos de comportamiento
- Acceso a flujos de eventos para eventos de mensajes salientes (Se aplican limitaciones del plan y sobrecargos)
- Acceso a eventos personalizados para sincronización de eventos entrantes (Se aplican limitaciones del plan y sobrecargos)
- Plan de cuenta actualizado (no disponible en aplicaciones gratuitas)
- Cuenta de Snowflake con acceso al almacén
- Datos de eventos almacenados en tablas o vistas de Snowflake
- Conectividad de red desde OneSignal a tu instancia de Snowflake
- Credenciales de usuario con los permisos apropiados
Crear rol dedicado para OneSignal
Crear almacén dedicado
Crear usuario y otorgar permisos
Crear base de datos de contabilidad (Motor de sincronización avanzado)
Configurar autenticación
- Genera un par de claves pública/privada siguiendo la documentación de Snowflake
- Configura la clave pública en tu usuario de Snowflake
- Usa la clave privada en la configuración de conexión de OneSignal
Conectar a OneSignal
- Nombre de cuenta: Tu identificador de cuenta de Snowflake (p. ej.,
abc123.us-east-1) - Almacén:
CENSUS_WAREHOUSE - Usuario:
CENSUS - Base de datos: El nombre de tu base de datos de eventos
- Esquema: El nombre de tu esquema de datos de eventos
- Autenticación: Par de claves (proporciona la clave privada y la frase de contraseña opcional)
Mapeo de datos de eventos
Mapee su de al formato de eventos personalizados de OneSignal:Esquema de tabla de eventos de ejemplo
Modo de consulta SQL
Escribe consultas SQL personalizadas para transformar tus datos de eventos:Configuración avanzada
Gestión de costos del almacén
- Usa tamaño de almacén X-Small para optimización de costos
- Configura suspensión automática (60 segundos) y reanudación automática
- Programa sincronizaciones durante horas de menor actividad
- Considera compartir el almacén con otros sistemas de procesamiento por lotes
Soporte de sincronizaciones en vivo
Para el procesamiento de eventos en tiempo real, habilita el seguimiento de cambios en tus tablas de eventos:Seguridad de red
Si utilizas la política de red de IPs permitidas de Snowflake, agrega las direcciones IP de OneSignal a tu lista de permitidos. Contacta al soporte de OneSignal para conocer los rangos de IP actuales.Limitaciones
- Las consultas analíticas complejas pueden afectar el rendimiento y los costos del almacén
- La autenticación por Usuario/Contraseña quedará obsoleta en noviembre de 2025
- La base de datos CENSUS está reservada solo para operaciones de OneSignal
Preguntas frecuentes
¿Qué método de autenticación debo usar?
Usa autenticación de par de claves (recomendado). La autenticación por Usuario/Contraseña será bloqueada por Snowflake a partir de noviembre de 2025.¿Puedo usar un almacén existente?
Sí, puedes compartir un almacén con otros sistemas de procesamiento por lotes como dbt o Fivetran para optimizar costos. Asegúrate de que el almacén tenga capacidad suficiente para tus necesidades de procesamiento de eventos.¿Cómo puedo optimizar los costos?
- Usa tamaño de almacén X-Small
- Configura suspensión automática agresiva (60 segundos)
- Programa sincronizaciones durante horas de menor actividad
- Usa sincronizaciones por hora/diarias en lugar de sincronización continua