Conexión de Klaviyo y Redshift
Advanced Klaviyo Data Platform no está incluida en la aplicación de marketing estándar de Klaviyo, y se requiere una suscripción para acceder a las funciones asociadas. Consulta nuestra guía de facturación para saber cómo comprar este plan.
Información general
En esta guía, se explica a los administradores de Redshift cómo preparar Amazon Redshift para Klaviyo, conceder el acceso mínimo requerido y completar la conexión para que puedas importar datos de perfil en un horario concreto. Aprenderás a:
- Crear los esquemas
KLAVIYO_TMPyKLAVIYO_IMPORT_FROM_DWH - Crear un usuario de servicio dedicado para Klaviyo
- Conceder permisos de menos privilegios
- (Opcional) Valida los permisos y la conectividad
- Conecta Redshift a Klaviyo y empieza a crear sincronizaciones
Para obtener información general sobre cómo funciona la Importación de almacén de datos, incluidos los objetos compatibles y las prácticas recomendadas para la estructura de tablas, consulta Información sobre la Importación de almacén de datos en Klaviyo.
Crear esquemas obligatoriosCrear esquemas obligatorios
Crea dos esquemas en la base de datos que Redshift utilizará para Klaviyo:
-- Ejecutar como administrador de Redshift DB o un rol con CREATE SCHEMA CREATE SCHEMA IF NOT EXISTS klaviyo_import_from_dwh; CREATE SCHEMA IF NOT EXISTS klaviyo_tmp;
-
KLAVIYO_IMPORT_FROM_DWH– Coloca tus tablas o vistas finales listas para sincronizar aquí. Durante la configuración, Klaviyo enumera los objetos de este esquema entre los que puedes elegir, así que incluye solo las tablas que quieras importar. -
KLAVIYO_TMP: lo usa Klaviyo exclusivamente para tablas temporales o de almacenamiento provisional durante las tareas de sincronización. No modifiques los datos aquí: Klaviyo gestiona y limpia este esquema automáticamente.
Crea el usuario del servicio de Klaviyo
Crea una base de datos de usuarios dedicada para Klaviyo con una contraseña segura que puedas rotar de forma independiente.
-- Sustituir por tus propios nombres y una contraseña segura CREAR USUARIO klaviyo_data_transfer_user CON CONTRASEÑA 'REPLACE_WITH_STRONG_PASSWORD';
Crea un rol para gestionar subvenciones para el usuario del servicio:
CREAR ROL klaviyo_data_transfer_role; OTORGAR ROL klaviyo_data_transfer_role A klaviyo_data_transfer_user;
Almacena el nombre de usuario y la contraseña de forma segura. Los usarás al conectar Klaviyo con Redshift.
Conceder los permisos necesarios (el mínimo de privilegios)Conceder los permisos necesarios (el mínimo de privilegios)
-- 1) Permitir tablas temporales CONCEDER USO TEMPORAL EN TU BASE DE DATOS_Klaviyo_database_role; -- 2) Permisos en el esquema de almacenamiento provisional Klaviyo gestiona CONCEDER USO EN EL ESQUEMA klaviyo_tmp A ROLE klaviyo_data_transfer_role; CONCEDER CREAR EN EL ESQUEMA klaviyo_tmp A ROLE klaviyo_data_transfer_role; -- 3) Acceso de solo lectura a tu esquema de importación CONCEDER USO EN EL ESQUEMA klaviyo_import_from_dwh A ROLE klaviyo_data_transfer_role; CONCEDER SELECCIONAR EN TODAS LAS TABLAS DEL ESQUEMA klaviyo_import_from_dwh A ROLE klaviyo_data_transfer_role; -- Recuerda conceder acceso a nuevas tablas en el futuro -- 3a) Conceder SELECT en vistas específicas (repetir según sea necesario) CONCEDER SELECT ON VIEW klaviyo_import_from_dwh.example_view_name A ROLE klaviyo_data_transfer_role;(Opcional) Verifica tu configuración
(Opcional) Verifica tu configuración
Haz algunas comprobaciones rápidas como usuario de Klaviyo para confirmar que las subvenciones sean correctas.
-- Cambiar a la base de datos objetivo SET search_path TO klaviyo_tmp; -- 4.1 Validar create/read in KLAVIYO_TMP CREATE TABLE IF NOT EXISTS permission_check (id INT); INSERTAR EN permission_check VALUES (1); SELECCIONAR COUNT(*) DE permission_check; -- esperar 1 SOLTAR TABLE permission_check; -- 4.2 Confirmar la visibilidad de las tablas de importación SET search_path TO klaviyo_import_from_dwh; SELECCIONAR nombre de tabla DE pg_table_def DONDE scheme name = 'klaviyo_import_from_dwh' LÍMITE 25; -- 4.3 Confirmar SELECT en una tabla de origen o ver SELECCIONAR * DE klaviyo_import_from_dwh.EXAMPLE_TABLE;Acceso a la red
Acceso a la red
Klaviyo debe poder alcanzar tus puntos de conexión de Redshift.
- punto de conexión público de Redshift: lista de permitidos las IP estáticas de Klaviyo en tu firewall o grupo de seguridad.
- punto de conexión privado (por ejemplo, PrivateLink): asegúrate de que la conectividad se realice a través de tu ruta de red interna y tus políticas de seguridad.
Si utilizas grupos de seguridad, permite el acceso entrante en tu puerto de Redshift (predeterminado 5439) para los rangos de IP de Klaviyo:
184.72.183.187/32 52.206.71.52/32 3.227.146.32/32 44.198.39.11/32 35.172.58.121/32 3.228.37.244/32 54.88.219.8/32 3.214.211.176/32Prepara tus tablas de importación (estructura y rendimiento)
Prepara tus tablas de importación (estructura y rendimiento)
Asegúrate de que todas las tablas que quieras importar sigan estas convenciones para que las sincronizaciones incrementales sean precisas y eficientes:
-
Columna de marca de tiempo: incluye una marca de tiempo de creación o última actualización por fila (por ejemplo,
insertado_en,actualizado_en,modificado_en). - Actualizaciones monótonas: la marca de tiempo debe aumentar cada vez que cambie una fila.
- Zona horaria: usa UTC o incluye información sobre la zona horaria. Si faltan, Klaviyo asume el UTC.
-
Identificadores coherentes: utiliza los mismos identificadores de perfil (
correo electrónico,teléfono,external_id, etc.) en todas las tablas de importación para evitar duplicados. - Formatos de consentimiento: al sincronizar los datos de consentimiento, sigue los mismos valores o formatos válidos que se utilizan en las subidas de archivos o SFTP.
- Rendimiento: considera ordenar o dist las claves en tu columna de marca de tiempo para que las lecturas incrementales sean eficientes.
-
Visualizaciones: Puedes importar desde tablas o vistas, siempre que una simple
SELECCIÓNfuncione para el usuario de Klaviyo.
Conecta Redshift a Klaviyo
- En Klaviyo, abre la barra lateral izquierda y ve a Advanced → Syncing (Sincronización avanzada).
- Haz clic en Crear sincronización.
- Selecciona Importar datos de tu almacén de datos.
- Elige Redshift.
- Haz clic en Conectarse a Redshift e introduce los siguientes datos de conexión:
| Campo | Descripción |
|---|---|
| Host | Tu punto de conexión de Redshift (por ejemplo, example-cluster.abc123.us-east-1.redshift.amazonaws.com) |
| Puerto | 5439 (o tu puerto personalizado) |
| Base de datos | La base de datos que contiene klaviyo_tmp y klaviyo_import_from_dwh
|
| Nombre de usuario/contraseña | Las credenciales de usuario del servicio de Klaviyo |
Una vez que te hayas conectado, Klaviyo probará tus credenciales y la conectividad de red. Una vez verificada, puedes crear sincronizaciones y seleccionar tablas o vistas desde klaviyo_import_from_dwh.
Consejos para solucionar problemas
Error en la prueba de conexión
- Comprueba que las reglas de cortafuegos o grupos de seguridad permitan que las IP de Klaviyo lleguen a tu punto de conexión de Redshift en el puerto correcto.
- Confirma la configuración de SSL y que estés usando el punto de conexión, la región y el puerto correctos (clúster o grupo de trabajo).
Las tablas no aparecen
- Asegúrate de que las tablas estén en
klaviyo_import_from_dwh. - Confirma que el usuario de Klaviyo tenga
USOen el esquema ySELECCIONAen las tablas o vistas.
No hay nuevas filas sincronizadas
- Verifica las actualizaciones de tus columnas de marca de tiempo en los cambios de fila y usa UTC o incluye información sobre la zona horaria.
Errores de permisos en tiempo de ejecución
- Vuelve a ejecutar la validación de SQL como usuario de Klaviyo.
- Vuelve a aplicar las subvenciones o los privilegios predeterminados si es necesario.
Seguridad y mantenimiento
- Gira la contraseña del usuario del servicio con regularidad y después de que el personal cambie.
- Limita el usuario de Klaviyo a los dos esquemas anteriores y concede
USOsolo cuando sea necesario. - Mantén un simple runbook que documente tus declaraciones
GRANTexactas y los rangos de IP que has permitido en la lista.
PREGUNTA FRECUENTE
¿Puedo importar datos de varias bases de datos de Redshift?
Sí. Crea los dos esquemas en cada base de datos y conecta objetos de cada uno como sincronizaciones separadas.
¿Puedo usar vistas materializadas?
Sí. Concede SELECT en la vista materializada al usuario de Klaviyo.
Apéndice: Ejemplo de DDL para una tabla de importación simple
CREAR TABLA klaviyo_import_from_dwh.profile_base ( external_id VARCHAR(128), email VARCHAR(320), phone VARCHAR(32), first_name VARCHAR(128), last_name VARCHAR(128), country VARCHAR(64), inserted_at TIMESTAMP ); -- asegúrate de que la marca de tiempo de los insertos o actualizaciones aumente de forma monótona -- (usa tu ETL/ELT para establecer INSERT_at = GETDATE() en el momento de la carga)