Cargar datos de Salesforce Marketing Cloud en BigQuery

Puede cargar datos de Salesforce Marketing Cloud en BigQuery mediante el conector de BigQuery Data Transfer Service para Salesforce Marketing Cloud. Con BigQuery Data Transfer Service, puede programar tareas de transferencia periódicas que añadan sus datos más recientes de Salesforce Marketing Cloud a BigQuery.

Limitaciones

Las transferencias de datos de Salesforce Marketing Cloud están sujetas a las siguientes limitaciones:

  • Una configuración de transferencia solo puede admitir una ejecución de transferencia de datos a la vez. Si se programa una segunda transferencia de datos para que se ejecute antes de que se complete la primera, solo se completará la primera transferencia de datos y se omitirán las demás transferencias de datos que se solapen con la primera.
    • Para evitar que se omitan transferencias en una misma configuración de transferencia, le recomendamos que aumente el tiempo que transcurre entre las transferencias de grandes cantidades de datos configurando la frecuencia de repetición.
  • Si la vinculación de red y la instancia de máquina virtual (VM) que has configurado se encuentran en regiones diferentes, puede que haya movimiento de datos entre regiones cuando transfieras datos desde Salesforce Marketing Cloud.

Antes de empezar

En las siguientes secciones se describen los pasos que debe seguir antes de crear una transferencia de datos de Salesforce Marketing Cloud.

Requisitos previos de Salesforce Marketing Cloud

Debe tener la siguiente información al crear una transferencia de datos de Salesforce Marketing Cloud:

Nombre del parámetro Descripción
subdomain El subdominio de la API
instance La instancia del servidor de la API
clientId ID de cliente de la integración de la aplicación
clientSecret El secreto de cliente de la integración de la aplicación

En los siguientes pasos se explica cómo obtener la información necesaria para crear una transferencia de datos de Marketing Cloud de Salesforce:

  1. Instala un paquete de integración de API de tipo entre servidores. Anota el ID de cliente, el secreto de cliente y el subdominio en la sección Componentes de la página de detalles del paquete.
  2. Busca la instancia de tu servidor de API en la URL después de iniciar sesión en la aplicación Salesforce Marketing Cloud. El valor de la instancia incluye s seguido de un valor numérico. Por ejemplo, en la URL https://mc.s4.exacttarget.com/, el valor de la instancia es s4. Para obtener más información, consulta Buscar la ubicación de la pila de una cuenta de Marketing Cloud.

También debe configurar los ajustes de permisos de ámbito para permitir la transferencia de datos de Salesforce Marketing Cloud:

  1. Inicia sesión en la aplicación Salesforce Marketing Cloud.

  2. Despliega el menú de perfil y haz clic en Configuración.

    Haga clic en Configuración en los ajustes de Salesforce Marketing Cloud

  3. En la barra de navegación, en Herramientas de la plataforma, haga clic en Aplicaciones > Paquetes instalados.

  4. Selecciona un paquete instalado para modificar sus ajustes.

  5. En la sección Componentes, haz clic en Editar.

  6. Selecciona la opción Leer para los siguientes ámbitos:

    • Correo electrónico
    • Contenido guardado
    • Recorridos
    • Retrollamadas
    • Campaña
    • Suscripciones
  7. Haz clic en Guardar.

Requisitos previos de BigQuery

Roles de BigQuery necesarios

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

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

Permisos obligatorios

Para crear una transferencia, se necesitan los siguientes permisos:

  • bigquery.transfers.update en el usuario
  • bigquery.datasets.get en el conjunto de datos de destino
  • bigquery.datasets.update en el conjunto de datos de destino

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

Configurar una transferencia de datos de Salesforce Marketing Cloud

Añada datos de Salesforce Marketing Cloud a BigQuery configurando una configuración de 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, seleccione Salesforce Marketing Cloud.

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

    • En Subdominio de la API, introduce el subdominio de la API.
    • En Instancia de la API, introduce el valor de la instancia de la API.
    • En ID de cliente, introduce el ID de cliente de la integración de la aplicación.
    • En Client Secret (Secreto de cliente), introduce el secreto de cliente de la integración de la aplicación.
  5. En la sección Configuración de destino, en Conjunto de datos, seleccione el conjunto de datos que ha 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, haga lo siguiente:

    • En la lista Frecuencia de repetición, selecciona una opción para especificar con qué frecuencia se realiza 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.

Cuando se ejecuta esta transferencia de datos, BigQuery Data Transfer Service rellena automáticamente las siguientes tablas en función de la interfaz REST.

  • Campaigns
  • Categories
  • EventDefinitions
  • Journeys
  • JourneyActivities
  • SendDefinitions
  • Subscriptions

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=DISPLAY_NAME
    --target_dataset=DATASET
    --params='PARAMETERS'

Haz los cambios siguientes:

  • PROJECT_ID (opcional): el ID de tu 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 (por ejemplo, saphana).
  • DISPLAY_NAME: el nombre visible de la configuración de la transferencia. El nombre de la transferencia de datos puede ser cualquier valor que te permita identificar la transferencia 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 Salesforce Marketing Cloud:
    • connector.subdomain: el subdominio de la API.
    • connector.instance: el valor de la instancia de la API.
    • connector.authentication.oauth.clientId: nombre del ID de la aplicación del cliente de OAuth.
    • connector.authentication.oauth.clientSecret: el secreto de la aplicación del cliente de OAuth.

Por ejemplo, el siguiente comando crea una transferencia de datos de Salesforce Marketing Cloud en el proyecto predeterminado con todos los parámetros obligatorios:

  bq mk
      --transfer_config
      --target_dataset=mydataset
      --data_source=salesforce_marketing
      --display_name='My Transfer'
      --params='{"connector.subdomain": "abcd",
      "connector.instance": "x",
      "connector.authentication.oauth.clientId": "1234567890",
      "connector.authentication.oauth.clientSecret":"ABC12345"}'

API

Usa el método projects.locations.transferConfigs.create y proporciona una instancia del recurso TransferConfig.

Cuando guardas la configuración de la transferencia, el conector de Salesforce Marketing Cloud activa automáticamente una transferencia según la opción de programación que hayas elegido. En cada ejecución de transferencia, el conector de Salesforce Marketing Cloud transfiere todos los datos disponibles de Salesforce Marketing Cloud a BigQuery.

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

Solucionar problemas de configuración de transferencias

Si tienes problemas para configurar una transferencia de datos de Salesforce Marketing Cloud, prueba a seguir estos pasos para solucionarlos:

Mensajes de error

Error: invalid_grant. The client's IP address is unauthorized for this account. Allowlist the client's IP address in Marketing Cloud Administration.

Solución: prueba uno de los siguientes pasos:

  • Habilita todas las direcciones IP disponibles para Google Cloud recursos.
  • Inhabilita la lista de direcciones IP permitidas. Para ello, inicia sesión en la aplicación Salesforce Marketing Cloud y ve a la página Configuración > Configuración de seguridad. Haz clic en Editar y, a continuación, configura el ajuste Restringir inicios de sesión por dirección IP (lista de IPs permitidas) en Lista de IPs permitidas inhabilitada.

Inhabilitar la lista de IPs permitidas

Error: INVALID_ARGUMENT. Table tableName does not exist in asset TableName

Solución: asegúrate de que tienes configurados los permisos de ámbito correctos en la aplicación Salesforce Marketing Cloud. Para obtener más información, consulte los requisitos de Salesforce Marketing Cloud.

Precios

No hay ningún coste por transferir datos de Salesforce Marketing Cloud a BigQuery mientras esta función esté en vista previa.

Siguientes pasos