Cargar datos de Klaviyo en BigQuery

Puedes cargar datos de Klaviyo en BigQuery mediante el conector de BigQuery Data Transfer Service para Klaviyo. Con BigQuery Data Transfer Service, puedes programar tareas de transferencia periódicas que añadan tus datos más recientes de Klaviyo a BigQuery.

Antes de empezar

En las siguientes secciones se describen los requisitos previos que debes cumplir antes de crear una transferencia de datos de Klaviyo.

Requisitos previos de Klaviyo

Debe tener una clave de API privada de solo lectura para permitir que el conector de Klaviyo transfiera datos a BigQuery. Para obtener más información, consulta Crear una clave privada.

Requisitos previos de BigQuery

Roles de BigQuery necesarios

Para obtener los permisos que necesitas para crear una transferencia de datos de BigQuery Data Transfer Service, pide a tu administrador que te asigne el rol de gestión de identidades y accesos Administrador de BigQuery (roles/bigquery.admin) en tu proyecto. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para crear una transferencia de datos de BigQuery Data Transfer Service. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:

Permisos obligatorios

Para crear una transferencia de datos de BigQuery Data Transfer Service, se necesitan los siguientes permisos:

  • Permisos de BigQuery Data Transfer Service:
    • bigquery.transfers.update
    • bigquery.transfers.get
  • Permisos de BigQuery:
    • bigquery.datasets.get
    • bigquery.datasets.getIamPolicy
    • bigquery.datasets.update
    • bigquery.datasets.setIamPolicy
    • bigquery.jobs.create

También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.

Para obtener más información, consulta Conceder acceso a bigquery.admin.

Si quieres configurar las notificaciones de Pub/Sub sobre las transferencias, asegúrate de que tienes el permiso pubsub.topics.setIamPolicyIAM. No se necesitan permisos de Pub/Sub si solo configuras notificaciones por correo electrónico. Para obtener más información, consulta el artículo sobre las notificaciones de ejecución de BigQuery Data Transfer Service.

Configurar una transferencia de datos de Klaviyo

Añada datos de Klaviyo a BigQuery configurando una transferencia con una de las siguientes opciones:

Consola

  1. Ve a la página Transferencias de datos de la Google Cloud consola.

    Ir a Transferencias de datos

  2. Haz clic en Crear transferencia.

  3. En la sección Tipo de fuente, en Fuente, elija Klaviyo - Vista previa.

  4. En la sección Detalles de la fuente de datos, haga lo siguiente:

    • En Clave de API privada, introduce tu clave de API privada. Para obtener más información, consulta los requisitos previos de Klaviyo.
    • Opcional: En Fecha de inicio, especifica una fecha de inicio para que los nuevos registros se incluyan en la transferencia de datos. En la transferencia de datos solo se incluyen los registros creados a partir de esta fecha. El valor predeterminado es 3 meses antes de la fecha de la transferencia.
    • En Objetos de Klaviyo que se van a transferir, haga clic en Examinar para seleccionar los objetos que quiera transferir al conjunto de datos de destino de BigQuery. También puedes introducir manualmente los objetos que quieras incluir en la transferencia de datos en este campo.
  5. En la sección Configuración de destino, en Conjunto de datos, elija el conjunto de datos que haya creado para almacenar sus datos.

  6. En la sección Nombre de la configuración de transferencia, en Nombre visible, indica un nombre para la transferencia de datos.

  7. En la sección Opciones de programación:

    • En la lista Frecuencia de repetición, selecciona una opción para especificar con qué frecuencia se ejecuta esta transferencia de datos. Para especificar una frecuencia de repetición personalizada, selecciona Personalizar. Si seleccionas Bajo demanda, la transferencia se realizará cuando la inicies manualmente.
    • Si procede, selecciona Empezar ahora o Empezar a una hora determinada y proporciona una fecha de inicio y un tiempo de ejecución.
  8. Opcional: En la sección Opciones de notificación, haz lo siguiente:

    • Para habilitar las notificaciones por correo, haz clic en el interruptor Notificación por correo. Si habilitas esta opción, el administrador de las transferencias recibirá una notificación por correo cuando falle una ejecución de transferencia.
    • Para habilitar las notificaciones de Pub/Sub sobre la transferencia, haz clic en el interruptor Notificaciones de Pub/Sub. Puedes seleccionar el nombre del tema o hacer clic en Crear un tema para crear uno.
  9. Haz clic en Guardar.

bq

Introduce el comando bq mk y proporciona la marca de creación de transferencia --transfer_config:

bq mk
    --transfer_config
    --project_id=PROJECT_ID
    --data_source=DATA_SOURCE
    --display_name=NAME
    --target_dataset=DATASET
    --params='PARAMETERS'

Haz los cambios siguientes:

  • PROJECT_ID (opcional): su ID de proyecto. Google Cloud Si no se proporciona --project_id para especificar un proyecto concreto, se usará el proyecto predeterminado.
  • DATA_SOURCE: la fuente de datos klaviyo.
  • NAME: el nombre visible de la configuración de transferencia de datos. El nombre de la transferencia puede ser cualquier valor que te permita identificarla si necesitas modificarla más adelante.
  • DATASET: el conjunto de datos de destino de la configuración de la transferencia.
  • PARAMETERS: los parámetros de la configuración de transferencia creada en formato JSON. Por ejemplo: --params='{"param":"param_value"}'. Estos son los parámetros de una transferencia de datos de Klaviyo:

    • assets: la ruta a los objetos de Klaviyo que se van a transferir a BigQuery.
    • connector.authentication.privateApiKey: la clave de API privada de la cuenta de Klaviyo.
    • connector.startDate: (opcional) fecha de inicio de los nuevos registros que se incluirán en la transferencia de datos, en el formato YYYY-MM-DD. En la transferencia de datos solo se incluyen los registros creados a partir de esta fecha. El valor predeterminado es 3 meses antes de la fecha de la transferencia.

El siguiente comando crea una transferencia de datos de Klaviyo en el proyecto predeterminado.

    bq mk
        --transfer_config
        --target_dataset=mydataset
        --data_source=klaviyo
        --display_name='My Transfer'
        --params= ' {
            "assets": [ "Events" , "Flows"] ,
            "connector.authentication.privateApiKey" : "pk_123456789123",
            "connector.startDate": "2025-10-20"
            }'
Cuando guardas la configuración de la transferencia, el conector de Klaviyo activa automáticamente una ejecución de la transferencia según la opción de programación que hayas elegido. En cada ejecución de transferencia, el conector de Klaviyo transfiere todos los datos disponibles de Klaviyo a BigQuery.

Para ejecutar manualmente una transferencia de datos fuera de tu programación habitual, puedes iniciar una ejecución de rellenado.

Asignación de tipos de datos

En la siguiente tabla se asignan los tipos de datos de Klaviyo a los tipos de datos de BigQuery correspondientes:

Tipo de datos de Klaviyo Tipo de datos de BigQuery
String STRING
Text STRING
Integer INTEGER
Boolean BOOLEAN
Date (YYYY-MM-DD HH:MM:SS) TIMESTAMP
List ARRAY

Precios

La transferencia de datos de Klaviyo a BigQuery no tiene ningún coste mientras esta función esté en vista previa.

Solucionar problemas de configuración de transferencias

Si tienes problemas para configurar la transferencia de datos, consulta Problemas con la transferencia de Klaviyo.

Siguientes pasos

  • Para obtener una descripción general de BigQuery Data Transfer Service, consulta el artículo ¿Qué es BigQuery Data Transfer Service?
  • Para obtener información sobre cómo usar las transferencias, como obtener información sobre una configuración de transferencia, enumerar configuraciones de transferencia y ver el historial de ejecuciones de una transferencia, consulta Gestionar transferencias.