Carga datos de Salesforce Marketing Cloud en BigQuery

Puedes cargar datos de Salesforce Marketing Cloud en BigQuery con el conector del Servicio de transferencia de datos de BigQuery para Salesforce Marketing Cloud. Con el Servicio de transferencia de datos de BigQuery, puedes programar trabajos de transferencia recurrentes que agreguen tus 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 sola configuración de transferencia solo puede admitir una ejecución de transferencia de datos en un momento determinado. En el caso de que se programe una segunda transferencia de datos para que se ejecute antes de que se complete la primera, solo se completará la primera transferencia de datos, mientras que se omitirán las demás transferencias de datos que se superpongan con la primera.
    • Para evitar que se omitan transferencias dentro de una misma configuración de transferencia, te recomendamos que aumentes la duración del tiempo entre las transferencias de datos grandes configurando la Frecuencia de repetición.
  • Si la instancia de máquina virtual (VM) y el adjunto de red configurados se encuentran en regiones diferentes, es posible que haya movimiento de datos entre regiones cuando transfieras datos desde Salesforce Marketing Cloud.

Antes de comenzar

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

Requisitos previos de Marketing Cloud de Salesforce

Cuando crees una transferencia de datos de Marketing Cloud de Salesforce, debes tener la siguiente información:

Nombre del parámetro Descripción
subdomain Es el subdominio de la API, que se encuentra en el URI base. Por ejemplo, en el URI base de autenticación https://SUBDOMAIN.auth.marketingcloudapis.com/, SUBDOMAIN es tu valor de subdominio.
instance Instancia del servidor de API, que se encuentra en la URL después de acceder a la aplicación de 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 Encuentra la ubicación de la pila para una cuenta de Marketing Cloud.
clientId Es el ID de cliente de la integración de la API. Navega a Setup > Apps > Installed Packages y, luego, haz clic en el nombre del paquete. El ID de cliente aparece en Componentes.
clientSecret Es el secreto del cliente de la integración de la app. Navega a Setup > Apps > Installed Packages y, luego, haz clic en el nombre del paquete. El secreto del cliente aparece en Components.

Configura la lista de IPs permitidas para las transferencias de Salesforce Marketing Cloud

Debes configurar tu entorno Google Cloud y tu cuenta de Salesforce Marketing Cloud para agregar direcciones IP específicas a la lista de entidades permitidas para las transferencias de datos. Esto garantiza que Salesforce Marketing Cloud solo acepte conexiones desde una dirección IP estática y de confianza.

Para ello, primero debes configurar tu red Google Cloud para que use una dirección IP estática:

  1. Configura una traducción de direcciones de red (NAT) pública con una dirección IP estática dentro de tu red de nube privada virtual. El CloudNAT debe configurarse en la misma región que el conjunto de datos de destino para esta transferencia de datos.
  2. Configura un adjunto de red dentro de la misma red de VPC. El Servicio de transferencia de datos de BigQuery usa este recurso para acceder a servicios privados.

A continuación, debes agregar la dirección IP estática a la lista de entidades permitidas en Salesforce Marketing Cloud. Cuando agregues el rango de la dirección IP, usa la dirección IP estática de tuGoogle Cloud NAT pública para las direcciones IP inicial y final del rango de IP.

Una vez que hayas configurado los rangos de IP, podrás especificar la IP estática cuando configures la transferencia. Para ello, selecciona la conexión de red en el campo Conexión de red.

Instala y configura el paquete de integración de la API de Salesforce Marketing Cloud

Debes instalar un paquete de integración de la API de servidor a servidor en Salesforce Marketing Cloud. Para ello, instala un paquete nuevo en Salesforce Marketing Cloud y especifica el componente Integración de API > Servidor a servidor. Para obtener más información, consulta Cómo crear e instalar paquetes.

Una vez que hayas instalado el paquete de integración de la API, debes agregar los siguientes permisos:

  • Acceso: Offline Access
  • Correo electrónico: Read
  • OTT: Read
  • De envío:Read
  • SMS:Read
  • Web: Read
  • Documentos e imágenes: Read
  • Contenido guardado: Read
  • Viajes: Read
  • Públicos: Read
  • Lista y suscriptores: Read
  • Extensiones de fecha: Read
  • Ubicaciones de los archivos Read
  • Eventos de seguimiento: Read
  • Devoluciones de llamada: Read
  • Suscripciones: Read
  • Campaña: Read
  • Recursos: Read
  • Cuentas: Read
  • Canales de OTT: Read
  • Usuarios: Read

Para obtener más información, consulta Permisos de integración de la API.

Requisitos previos de BigQuery

Roles de BigQuery requeridos

Para obtener los permisos que necesitas para crear una transferencia de datos de Servicio de transferencia de datos de BigQuery, pídele a tu administrador que te otorgue el rol de IAM de administrador de BigQuery (roles/bigquery.admin) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para crear una transferencia de datos del Servicio de transferencia de datos de BigQuery. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para crear una transferencia de datos del Servicio de transferencia de datos de BigQuery:

  • Permisos del Servicio de transferencia de datos de BigQuery:
    • 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 o con otros roles predefinidos.

Para obtener más información, consulta Cómo otorgar acceso a bigquery.admin.

Configura una transferencia de datos de Salesforce Marketing Cloud

Agrega datos de Salesforce Marketing Cloud a BigQuery configurando una transferencia con una de las siguientes opciones:

Console

  1. Ve a la página Transferencia de datos en 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, selecciona Salesforce Marketing Cloud.

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

  5. En la sección Configuración de destino, en Conjunto de datos, selecciona el conjunto de datos que creaste para almacenar tus datos.

  6. En la sección Nombre de configuración de la transferencia (Transfer config name), en Nombre visible (Display name), ingresa el nombre de la transferencia de datos.

  7. En la sección Opciones de programación, haz lo siguiente:

    • En la lista Frecuencia de repetición, selecciona una opción para especificar la frecuencia con la que se ejecuta esta transferencia de datos. Para especificar una frecuencia de repetición personalizada, selecciona Personalizado. Si seleccionas Según demanda, esta transferencia se ejecuta cuando activas la transferencia de forma manual.
    • Si corresponde, selecciona Comenzar ahora o Comenzar a la hora definida y detalla una fecha de inicio y una hora de ejecución.
  8. Opcional: En la sección Opciones de notificación, haz lo siguiente:

    • Para habilitar las notificaciones por correo electrónico, haz clic en el botón de activar o desactivar Notificación por correo electrónico. Si habilitas esta opción, el administrador de transferencias recibirá una notificación por correo electrónico cuando falle la ejecución de una transferencia.
    • Si quieres habilitar las notificaciones de ejecución de transferencias de Pub/Sub para esta transferencia, haz clic en el botón de activación 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

Ingresa el comando bq mk y suministra la marca de creación de transferencias --transfer_config.

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

Reemplaza lo siguiente:

  • PROJECT_ID (opcional): Tu ID del proyecto de Google Cloud . Si no se proporciona --project_id para especificar un proyecto en particular, se usa el proyecto predeterminado.
  • DATA_SOURCE: es la fuente de datos (por ejemplo, saphana).
  • DISPLAY_NAME es el nombre visible de la configuración de transferencia. El nombre de la transferencia de datos puede ser cualquier valor que te permita identificarla si es necesario hacerle modificaciones más tarde.
  • DATASET es el conjunto de datos de destino para la configuración de transferencia.
  • PARAMETERS son los parámetros de la configuración de transferencia creada en formato JSON. Por ejemplo: --params='{"param":"param_value"}' Los siguientes son los parámetros para 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: El nombre del ID de la app para el cliente de OAuth 2.0.
    • connector.authentication.oauth.clientSecret: El secreto de la app para el cliente de OAuth 2.0.

Por ejemplo, el siguiente comando crea una transferencia 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 suministra una instancia del recurso TransferConfig.

Cuando guardas la configuración de la transferencia, el conector de Salesforce Marketing Cloud activa automáticamente una ejecución de transferencia según la opción de programación que elegiste. Con cada ejecución de transferencia, el conector de Salesforce Marketing Cloud transfiere todos los datos disponibles de Salesforce Marketing Cloud a BigQuery en las siguientes tablas según la interfaz de REST:

  • Assets
  • CampaignAssets
  • Campaigns
  • Categories
  • EventDefinitions
  • FacebookMessengerProperties
  • JourneyActivities
  • Journeys
  • LineMessengerProperties
  • SendDefinitions
  • Subscriptions
  • DataExtension
  • Email
  • LinkSend
  • List
  • ListSubscriber
  • Subscriber
  • TriggeredSendDefinition

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

Asignación de tipos de datos

En la siguiente tabla, se asignan los tipos de datos de Salesforce Marketing Cloud a los tipos de datos de BigQuery correspondientes.

Tipo de datos de Salesforce Marketing Cloud Tipo de datos de BigQuery
Boolean BOOLEAN
Number INTEGER
Text STRING
Decimal FLOAT
EmailAddress STRING
Phone STRING
date DATE
Date TIMESTAMP

Soluciona problemas con la configuración de una transferencia

Si tienes problemas para configurar una transferencia de datos de Marketing Cloud de Salesforce, prueba los siguientes pasos de solución de problemas:

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.

Resolución: Prueba uno de los siguientes pasos:

  • Habilita todas las direcciones IP disponibles para los recursos de Google Cloud .
  • Inhabilita la lista de IP permitidas. Para ello, accede a la app de Salesforce Marketing Cloud y navega a la página Configuración > Configuración de seguridad. Haz clic en Editar y, luego, configura la opción Restringir accesos por dirección IP (lista de IP permitidas) como Lista de IP permitidas inhabilitada.

Inhabilita la lista de IP permitidas

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

Solución: Asegúrate de tener configurados los permisos de alcance correctos en la aplicación de Marketing Cloud de Salesforce. Para obtener más información, consulta Requisitos previos de Marketing Cloud de Salesforce.

Precios

No se cobra por transferir datos de Salesforce Marketing Cloud a BigQuery mientras esta función está en Vista previa.

¿Qué sigue?