Conectar Klaviyo y BigQuery (ETL inverso)
Advanced Klaviyo Data Platform no está incluido 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 adquirir este plan.
Configuración del entorno y conexión
Resumen: Sigue estos pasos para preparar BigQuery para Klaviyo. Crearás los esquemas necesarios (en un conjunto de datos/proyecto), configurarás una cuenta de servicio dedicada y una clave, asignarás los privilegios mínimos necesarios, verificarás la configuración y conectarás BigQuery a Klaviyo.
Para obtener más información sobre cómo funciona la importación de almacén de datos en Klaviyo (incluida la estructura del esquema, las tablas obligatorias y las asignaciones de campos), consulta Cómo funcionan las importaciones de almacén de datos en Klaviyo.
1) Crea esquemas obligatorios/datasets
En BigQuery, crea dos conjuntos de datos en el proyecto que usarás para Klaviyo.
CREATE SCHEMA `KLAVIYO_IMPORT_FROM_DWH`;
CREATE SCHEMA `KLAVIYO_TMP`; KLAVIYO_IMPORT_FROM_DWH: Las tablas y vistas creadas en este conjunto de datos estarán disponibles para que Klaviyo las lea y escriba.KLAVIYO_TMP: datos temporales o de preproducción utilizados durante las operaciones de sincronización.
2) Crea la cuenta y la clave de Klaviyo Service
Crea una cuenta de servicio de Google (p. ej., KLAVIYO_DATA_TRANSFER_USER) que Klaviyo usará exclusivamente para esta integración. Descarga una clave JSON de esta cuenta y guárdala de forma segura.
- Ve a IAM y Administrador → Cuentas de servicio en la consola de GCP.
- Crea una cuenta de servicio nueva (o selecciona una existente dedicada a Klaviyo).
- En la pestaña Claves, crea una nueva clave de tipo JSON. Mantén este archivo de clave seguro (lo necesitarás al configurar la conexión en Klaviyo).
3) Asignar los permisos obligatorios
Concede a la cuenta de servicio los siguientes roles, con alcance a los dos conjuntos de datos que creaste:
Conjunto de datos | Roles mínimos necesarios | Descripción |
|---|---|---|
|
| Permite que Klaviyo cree y gestione tablas temporales, trabajos, etc. |
|
| Permite que Klaviyo lea tus tablas. |
-- Example commands in GCP CLI (replace placeholders):
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
--member="serviceAccount:KLAVIYO_DATA_TRANSFER_USER@YOUR_PROJECT_ID.iam.gserviceaccount.com" \
--role="roles/bigquery.dataEditor" \
--condition=None \
--dataset="KLAVIYO_TMP"
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
--member="serviceAccount:KLAVIYO_DATA_TRANSFER_USER@YOUR_PROJECT_ID.iam.gserviceaccount.com" \
--role="roles/bigquery.dataViewer" \
--condition=None \
--dataset="KLAVIYO_IMPORT_FROM_DWH" 4) Verifica tu configuración (opcional)
4.1 Confirmar que existen los conjuntos de datos
SELECT schema_name
FROM `YOUR_PROJECT_ID.INFORMATION_SCHEMA.SCHEMATA`
WHERE schema_name IN ('KLAVIYO_IMPORT_FROM_DWH','KLAVIYO_TMP'); 4.2 Confirmar el acceso a la cuenta de servicio
Usa la clave de cuenta de servicio para autenticarte con BigQuery CLI o API y ejecutar una consulta sencilla:
bq --project_id=YOUR_PROJECT_ID \
--dataset_id=KLAVIYO_IMPORT_FROM_DWH \
query --use_legacy_sql=false \
'SELECT COUNT(*) FROM `YOUR_PROJECT_ID.KLAVIYO_IMPORT_FROM_DWH.some_table` LIMIT 1' 4.3 Comprueba los permisos de cada conjunto de datos
SELECT *
FROM `YOUR_PROJECT_ID.KLAVIYO_IMPORT_FROM_DWH.INFORMATION_SCHEMA.OBJECT_PRIVILEGES`
WHERE grantee = 'KLAVIYO_DATA_TRANSFER_USER@YOUR_PROJECT_ID.iam.gserviceaccount.com'; 4.4 Opcional: validar operaciones de creación/lectura
-- Test create in KLAVIYO_TMP
CREATE TABLE `YOUR_PROJECT_ID.KLAVIYO_TMP.test_permissions` (id INT64);
DROP TABLE `YOUR_PROJECT_ID.KLAVIYO_TMP.test_permissions`;
-- Test select in KLAVIYO_IMPORT_FROM_DWH
SELECT * FROM `YOUR_PROJECT_ID.KLAVIYO_IMPORT_FROM_DWH.some_existing_table` LIMIT 1; Consejo: Ejecuta estas comprobaciones con la misma cuenta de servicio y la misma clave que proporcionarás a Klaviyo. Conserva una copia de los resultados para las auditorías.
5) Conectar Klaviyo con BigQuery
Una vez que tu entorno de BigQuery esté configurado, completa la conexión en Klaviyo.
- En Klaviyo, ve a Avanzado → Sincronización en la barra lateral izquierda.
- Haz clic en Crear sincronización.
- Selecciona Importar o exportar datos a tu almacén de datos.
- Elige BigQuery como tu almacén de datos.
- Haz clic en Conectar con BigQuery.
Cuando se te solicite, proporciona los siguientes detalles de configuración de conexión:
Campo | Descripción | Dónde encontrarlo |
|---|---|---|
ID del proyecto | El ID de tu proyecto de Google Cloud. | Se encuentra en la consola de GCP en la parte superior de la página del proyecto. |
Conjunto de datos | El conjunto de datos (esquema) que contiene tus tablas de Klaviyo (por ejemplo, | Usa el conjunto de datos que creaste en el paso 1. Selecciona ese conjunto de datos al configurar la conexión. |
Clave de la cuenta de servicio (JSON) | El archivo de clave JSON que descargaste para la cuenta de servicio. | Carga o pega el contenido del archivo de clave JSON que creaste en el paso 2. |
Después de conectar: Klaviyo validará la conexión, probará el acceso a tus conjuntos de datos y luego te permitirá configurar sincronizaciones (tanto para importar datos a Klaviyo como para exportar datos de Klaviyo a BigQuery).
Siguiente paso: tras conectarte correctamente, crea tu primera sincronización de importación o exportación en Klaviyo y empieza a mover datos hacia o desde BigQuery.