Cómo funciona la importación de eventos del almacén de datos en Klaviyo
Nota: La importación desde almacén de datos forma parte de Advanced Klaviyo Data Platform y no está incluida en la aplicación de marketing estándar de Klaviyo. Se requiere una suscripción para acceder a esta funcionalidad.
Cómo funciona la importación de eventos del almacén de datos en Klaviyo
Objetivos del artículo
Aprende a utilizar la importación de eventos de almacenes de datos para sincronizar datos de eventos de tu almacén con Klaviyo, de modo que puedas impulsar segmentos, flujos e informes con un comportamiento que se origina fuera de las integraciones nativas de Klaviyo (por ejemplo, sistemas POS, plataformas de asistencia o aplicaciones personalizadas).
¿Qué es la importación de eventos del almacén de datos?
La importación de eventos del almacén de datos permite que Klaviyo se conecte directamente a tu almacén de datos y configure las sincronizaciones de importación desde tablas del almacén o vistas que contengan datos de eventos.
Cada fila de tu tabla de origen se trata como un único evento en Klaviyo:
- Las marcas de tiempo, el nombre de la métrica y los identificadores de la fila definen lo que sucedió, cuándo, y para quién.
- Las columnas adicionales se convierten en propiedades de evento que puedes usar en segmentación, flujos y análisis.
La importación de eventos se basa en la misma infraestructura de importación del almacén de datos que la importación de perfiles, pero se dirige a la canalización de ingesta de eventos de Klaviyo en lugar de a los perfiles.
¿Cómo funciona la importación de eventos del almacén de datos?
Después de conectar Klaviyo a tu almacén y configurar la sincronización de un evento:
- Klaviyo consulta tus almacenes para la tabla o vista configurada.
- En cada ejecución, Klaviyo solo lee las filas cuya marca de tiempo de detección de cambios sea más reciente que la última sincronización exitosa. Esto permite importaciones incrementales sin reprocesar toda la tabla.
- Cada fila se procesa de la siguiente manera:
- Klaviyo determina el nombre de la métrica (tipo de evento) con base en las opciones seleccionadas durante la configuración de la sincronización: ya sea una única métrica elegida o dinámicamente con base en el valor de una columna de nombre de métrica designada en la tabla de origen.
- La marca de tiempo del evento, los identificadores de perfil, y el ID único, el valor y la moneda de valor se establecen en función de las asignaciones de campos configuradas durante la configuración de la sincronización.
- Todas las columnas restantes se ingieren como propiedades del evento, usando los nombres de las columnas como nombres de propiedades. Los nombres de columna con tres guiones bajos (p. ej.,
parent___child1,parent___child2) se pueden usar para crear una propiedad del evento (parent) con propiedades secundarias.
- Klaviyo carga los eventos resultantes en tu cuenta, donde se comportan como otras métricas personalizadas de la API en segmentación, flujos y análisis.
Las importaciones se ejecutan con una cadencia recurrente (por ejemplo, cada hora), por lo que las filas nuevas o actualizadas de tu almacén se traducen regularmente en eventos en Klaviyo.
Antes de empezar
Asegúrate de que cumples con los siguientes requisitos antes de crear una sincronización de importación de eventos:
- Tu cuenta tiene acceso a Advanced KDP y a la importación de almacenes de datos.
- Creaste y validaste una conexión al almacén de datos en Klaviyo. Consulta los artículos del centro de asistencia de tu almacén de datos para obtener más información sobre la cuenta de servicio y los esquemas necesarios.
- Tu tabla o vista de origen contiene las columnas obligatorias que aparecen a continuación.
- Tienes privilegios suficientes en tu almacén para exponer las tablas/vistas necesarias al usuario del servicio de Klaviyo.
Estructura de la tabla de origen para los eventos
Para asegurarte de que los datos de tus eventos se puedan importar correctamente, tu tabla o vista de origen debe satisfacer la estructura y los campos obligatorios de Klaviyo.
Campos obligatorios
Las columnas siguientes son obligatorias en V1 de la importación de eventos del almacén de datos:
Columna | ¿Es obligatorio? | Tipo | Descripción |
|---|---|---|---|
Marca de tiempo del evento | Obligatorio | Marca de tiempo / fecha y hora | Cuando ocurrió el evento. |
Nombre de la métrica | Es obligatorio si no se selecciona una única métrica durante la configuración de la sincronización. | Cadena / texto | El nombre del evento o de la métrica (p. ej., |
Identificador de perfil | Obligatorio (al menos 1) | Cadena / texto | Uno de ellos: correo electrónico, número de teléfono, ID externa o ID de Klaviyo. Puedes incluir varios en la fila, pero debes asignar al menos uno. |
Marca de tiempo de detección de cambios | Obligatorio | Marca de tiempo | Marca de tiempo estable utilizada para detectar filas nuevas o actualizadas desde la última ejecución. Debes ser diferente de la marca de tiempo del evento para que puedas importar eventos históricos de forma segura. Esto debe reflejar cuándo se añadió la fila al conjunto de datos y debe ser estable para que la sincronización funcione correctamente. |
Campos opcionales
Estos campos se recomiendan cuando corresponda, pero no son estrictamente necesarios:
Columna | ¿Es obligatorio? | Tipo | Descripción |
|---|---|---|---|
ID único | Recomendado | Cadena / Número | Identificador único del evento (utilizado para la desduplicación). |
Valor | Recomendado | Número | Valor numérico del evento (p. ej., total del pedido, puntos usados). Se asigna al campo de nivel superior |
Moneda del valor | Recomendado | Cadena / texto | Código de moneda asociado a |
Propiedades del evento
Todas las demás columnas de la tabla se tratan como propiedades de evento:
- Las columnas se importan como propiedades aplanadas, y el nombre de la columna se utiliza directamente como nombre de la propiedad en Klaviyo.
- No tienes que asignar explícitamente todas las propiedades; las columnas no asignadas se incluirán como propiedades de evento.
- El JSON anidado se puede almacenar dentro de un valor de propiedad individual si es necesario (por ejemplo, un objeto JSON de elementos de línea), pero el nombre de la propiedad en sí proviene de una columna de nivel superior.
Klaviyo realiza el análisis del mejor tipo de esfuerzo para las propiedades de eventos y no proporciona una lógica de transformación por campo como parte de la configuración de la importación de eventos.
Casos de uso comunes
Los clientes suelen utilizar la importación de eventos del almacén de datos para lo siguiente:
1) Importación de eventos sin conexión o POS
Trae eventos en la tienda o fuera de ella (por ejemplo, compras en puntos de venta, devoluciones o citas) desde tu almacén para que se comporten como otros eventos y métricas de Klaviyo.
Ejemplos:
In-Store Purchaseeventos con totales de pedidos, ubicación de la tienda y tipo de método de pagoAppointment Completedeventos con miembro del personal, tipo de servicio y duración
2) Interacciones de servicio y asistencia
Sincroniza eventos de asistencia y servicio como la creación de tickets, la resolución o las devoluciones para enriquecer los plazos de tus clientes y potenciar la mensajería en función del historial del servicio.
Ejemplos:
Support Ticket CreatedySupport Ticket ResolvedOrder Returnedcon códigos de motivo y montos de reembolso
3) Eventos modelados o derivados
Convierte los comportamientos modelados en almacenes en eventos más fáciles de usar en Klaviyo.
Ejemplos:
High Churn Riskeventos generados a partir de un modelo en tu almacén de datosLifecycle Milestone Reachedeventos cuando un cliente cambia de etapa en un modelo de ciclo de vida personalizado
Configura una sincronización de importación de eventos del almacén de datos
1) Conecta tus almacenes de datos
Si aún no has conectado tu almacén:
- En Klaviyo, ve a Advanced KDP > Administración de datos > Sincronización.
- Haz clic en Añadir almacén de datos y selecciona el conector de tu almacén.
- Completa los pasos de conexión de tu plataforma siguiendo la guía de conexión aplicable vinculada desde el artículo de resumen de importación de almacenes de datos.
Klaviyo admite una conexión activa al almacén de datos por cuenta.
2) Crear una nueva sincronización de importación de eventos
Una vez que hayas conectado tu almacén:
- En Advanced KDP > Administración de datos > Sincronización, selecciona la conexión a tu almacén.
- Selecciona Importar datos (si configuras las importaciones por primera vez) o haz clic en Crear sincronización / Añadir sincronización para una conexión existente.
- Cuando se te pida el tipo de datos, selecciona Eventos (en lugar de Perfiles).
- Elige la tabla o vista en tu almacén que contenga los eventos que deseas importar.
3) Asigna los campos obligatorios
A continuación, asignarás columnas de la tabla de tu almacén a los campos de eventos obligatorios de Klaviyo.
La configuración de importación de eventos requiere que proporciones asignaciones para lo siguiente:
- Marca de tiempo del evento
- Nombre de la métrica (ya sea una constante que selecciones en la configuración o una columna que contenga el nombre de la métrica por fila)
- Identificador de perfil (al menos uno)
- Marca de tiempo de detección de cambios
También puedes asignar campos recomendados:
- ID único
- Valor
- Moneda del valor
Cualquier columna restante que no asignes explícitamente a estos campos principales se convertirá automáticamente en propiedades de evento.
La interfaz de usuario de configuración te impide asignar varias columnas al mismo campo de nivel superior y valida que todos los campos obligatorios estén presentes antes de permitirte guardar.
4) Elige la cadencia de sincronización y el alcance histórico
Cuando guardes tu evento, importa lo siguiente:
- Klaviyo programa sincronizaciones recurrentes para que se ejecuten con una cadencia regular (normalmente cada hora).
- En cada ejecución, solo se procesan las filas cuya marca de tiempo de detección de cambios sea más reciente que la última ejecución exitosa, lo que garantiza que las importaciones sean incrementales.
Para el relleno histórico, puedes hacer lo siguiente:
- Apunta la importación de tu evento a una mesa o vista que ya incluya todos los eventos históricos relevantes, o
- Comienza con una tabla histórica dedicada y luego cambia a una vista respaldada por la captura de datos para obtener actualizaciones continuas.
Cómo se comportan los eventos importados en Klaviyo
Una vez importada:
- Cada fila aparece como un evento de una métrica de API personalizada en Klaviyo.
- El nombre de la métrica que asignaste (o configuraste como una constante) determina el nombre del tipo de evento que ves en el producto (por ejemplo,
Placed Order). - Todos los identificadores de perfil se resuelven en perfiles existentes siempre que es posible; de lo contrario, Klaviyo crea nuevos perfiles utilizando los campos de identificador proporcionados, al igual que otras rutas de ingesta de eventos.
Puedes usar estos eventos para lo siguiente:
- Crea segmentos basados en lo que alguien ha hecho y filtra las propiedades de los eventos.
- Activar y filtrar flujos.
- Analiza el comportamiento en métricas e informes junto con eventos de otras fuentes.
Limitaciones y mejores prácticas
Ten en cuenta lo siguiente cuando utilices la importación de eventos del almacén de datos:
- La versión 1 de la importación de eventos se centra solo en los datos de eventos. Las propiedades del perfil deben actualizarse mediante la importación de perfiles u otras rutas compatibles.
- La marca de tiempo de detección de cambios debe ser diferente de la marca de tiempo del evento. Usar la misma columna para ambos puede evitar que importes de forma segura eventos históricos después de tu primera sincronización.
- Para obtener una velocidad óptima, configura el campo de detección de cambios en la marca de tiempo de la creación de la nueva tabla. Los registros se agrupan en ciclos de sincronización utilizando este valor, por lo que el tiempo de importación de registros históricos se puede reducir si todos los registros históricos tienen marcas de tiempo de detección de cambios en un intervalo estrecho (por ejemplo, la marca de tiempo de un trabajo que crea la nueva tabla).
- Utiliza un ID único estable por evento siempre que sea posible para mejorar la deduplicación y facilitar la depuración posterior.
- Si tu tabla contiene varios tipos de eventos (métricas) con diferentes conjuntos de columnas, generalmente está bien mantenerlas juntas: las columnas que son NULAS para filas particulares simplemente se ignoran para esos eventos en Klaviyo.
- En el caso de objetos anidados complejos (por ejemplo, matrices de elementos de línea), te recomendamos aplanarlos en varias columnas cuando sea factible, especialmente para las propiedades que esperas utilizar en la segmentación o los flujos.
```
- Mantén la marca de tiempo de detección de cambios agrupada cerca de la fecha actual. Klaviyo lee los datos en periodos de 1 hora, iterando hacia adelante desde la marca de tiempo de detección de cambios más antigua de tu tabla. Si alguna fila tiene una marca de tiempo de detección de cambios en el pasado (por ejemplo, un solo registro de 2023, cuando todas las demás son recientes), Klaviyo escanea cada ventana de 1 hora a partir de esa fecha en cada ciclo de sincronización, lo que resulta en un tiempo de sincronización de relleno histórico lento.
- No excedas aproximadamente 100 000 filas en una sola ventana de marca de tiempo de detección de cambios de 1 hora. Si demasiadas filas comparten el mismo periodo de 1 hora, es posible que se agote el tiempo de espera de la consulta de sincronización.
Se recomienda la configuración de la clave de agrupamiento de Snowflake
Para las tablas de Snowflake, el agrupamiento en la columna de marca de tiempo de detección de cambios ayuda a que las consultas de Klaviyo omitan las microparticiones innecesarias, lo que reduce el tiempo de sincronización y los costos de computación de Snowflake:
ALTER TABLE your_schema.your_table CLUSTER BY (your_change_timestamp_column);