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 la funcionalidad asociada. Visita nuestra guía de facturación para saber cómo contratar este plan.
Configuración del entorno y conexión
Descripción general: 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 requeridos, verificarás la configuración y conectarás BigQuery a Klaviyo.
Para obtener detalles sobre cómo funciona la importación desde almacén de datos en Klaviyo (incluida la estructura del esquema, las tablas requeridas y las asignaciones de campos), consulta Cómo funcionan las importaciones desde almacén de datos en Klaviyo.
1) Crear esquemas/conjuntos de datos obligatorios
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 pueda leer/escribir.KLAVIYO_TMP: Datos temporales o de entorno de pruebas que se usan durante las operaciones de sincronización.
2) Crear 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 para esta cuenta y guárdala de forma segura.
- Ve a IAM & Administrador → Cuentas de servicio en la consola de GCP.
- Crea una nueva cuenta de servicio (o selecciona una existente dedicada a Klaviyo).
- En la pestaña Claves, crea una clave nueva de tipo JSON. Mantén este archivo de clave seguro: lo necesitarás al configurar la conexión en Klaviyo.
3) Asignar 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 requeridos | Descripción |
|---|---|---|
|
| Permite que Klaviyo cree y administre 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 Confirma que existan 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 de la cuenta de servicio
Usa la clave de la cuenta de servicio para autenticarte con la CLI o la interfaz de programación de aplicaciones (API) de BigQuery y ejecutar una consulta simple:
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 Revisar 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 auditoría.
5) Conectar Klaviyo con BigQuery
Una vez que el 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 la conexión:
Campo | Descripción | Dónde encontrarlo |
|---|---|---|
ID del proyecto | El ID del 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 (p. ej., | 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 conectarte: 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: Después de conectarte correctamente, crea la primera sincronización de importación o exportación en Klaviyo y comienza a mover datos hacia o desde BigQuery.