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 sola 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.
- Para usar un adjunto de red con esta transferencia de datos, primero debes crear un adjunto de red definiendo una dirección IP estática.
- Debes configurar la rotación del secreto del cliente cada 180 días para evitar errores de autenticación. Para obtener más información, consulta Rota los secretos de cliente.
- Si tu adjunto de red se creó en un proyecto de Google Cloud que es
diferente del proyecto de Google Cloud de la transferencia de datos, debes
otorgar los permisos
compute.networkAttachments.getycompute.networkAttachments.updateal agente de servicio que pertenece al proyecto de Google Cloud en el que se creó la transferencia de datos. - Las transferencias de Salesforce Marketing Cloud no admiten extensiones de datos que contengan campos binarios o de BLOB grandes.
- Si el adjunto de red configurado y la instancia de máquina virtual (VM) se encuentran en regiones diferentes, es posible que haya un 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 |
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 |
La instancia del servidor de la 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 |
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 Componentes. |
Salesforce Marketing Cloud objects to transfer |
Compila una lista de objetos de Salesforce Marketing Cloud para incluirlos en esta transferencia. Puedes seleccionar objetos cuando estableces una configuración de transferencia. Para obtener una lista de los objetos compatibles, consulta Tablas compatibles. |
Configura la lista de IP permitidas para las transferencias de Salesforce Marketing Cloud
Debes configurar tu entorno de 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 de una dirección IP estática y de confianza.
Para ello, primero debes configurar tu red de Google Cloud para que use una dirección IP estática:
- 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. Cloud NAT debe configurarse en la misma región que el conjunto de datos de destino para esta transferencia de datos.
- 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 tu NAT pública deGoogle Cloud para las direcciones IP de inicio y finalización del rango de IP.
Una vez que hayas configurado los rangos de IP, podrás especificar la IP estática cuando establezcas la configuración de transferencia seleccionando el adjunto de red en el campo Adjunto de red.
Requisitos de los objetos de extensión de datos
Para incluir objetos de extensión de datos en tu transferencia de datos, el objeto debe cumplir con los siguientes requisitos:
- El nombre del objeto de extensión de datos debe incluir el prefijo
DataExtensionObjectseguido del nombre del objeto. Por ejemplo,DataExtensionObject_DATA_EXTENSION_NAME. - Debes habilitar el permiso
Data Extensions:ReadyProvisioning > Accounts:Readpara el objeto de extensión de datos.- Las extensiones de datos personalizadas aparecen como
DataExtensionObject_Namepara la unidad de negocio autenticada o la carpeta de extensiones de datos compartidas.
- Las extensiones de datos personalizadas aparecen como
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 nuevo paquete instalado en Marketing Cloud de Salesforce y especifica el componente Integración de la API > Servidor a servidor. Para obtener más información, consulta Crea e instala 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 - Push:
Read - SMS:
Read - Web:
Read - Documentos e imágenes:
Read - Contenido guardado:
Read - Recorridos:
Read - Públicos:
Read - Lista y suscriptores:
Read - Extensiones de datos:
Read - Cuentas:
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
- Verifica si completaste todas las acciones necesarias para habilitar el Servicio de transferencia de datos de BigQuery.
- Crea un conjunto de datos de BigQuery para almacenar tus datos.
- Si quieres configurar las notificaciones de ejecución de transferencias para Pub/Sub, asegúrate de tener el permiso
pubsub.topics.setIamPolicyde Identity and Access Management (IAM). Los permisos de Pub/Sub no son necesarios si solo configuras las notificaciones por correo electrónico. Para obtener más información, consulta la sección sobre notificaciones de ejecución del Servicio de transferencia de datos de BigQuery.
Roles de BigQuery requeridos
Para obtener los permisos que
necesitas para crear una transferencia de datos del 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 Otorga acceso a bigquery.admin.
Configura una transferencia de datos de Salesforce Marketing Cloud
Agrega datos de Salesforce Marketing Cloud a BigQuery configurando una configuración de transferencia con una de las siguientes opciones:
Console
Ve a la página Transferencia de datos en la consola de Google Cloud .
Haz clic en Crear transferencia.
En la sección Tipo de fuente, en Fuente, selecciona Salesforce Marketing Cloud.
En la sección Detalles de fuente de datos, haz lo siguiente:
- En Adjunto de red, selecciona un adjunto de red del menú. Antes de usar un adjunto de red con esta transferencia de datos, debes crear un adjunto de red definiendo una dirección IP estática.
- En Subdominio de la API, ingresa el subdominio de tu URI base de autenticación.
- En Instancia de la API, ingresa la instancia de la API de la URL después de acceder a la aplicación de Marketing Cloud.
- En ID de cliente, ingresa el ID de cliente de tu paquete de integración de la API.
- En Secreto del cliente, ingresa el secreto del cliente de tu paquete de integración de la API.
En la sección Configuración de destino, en Conjunto de datos, selecciona el conjunto de datos que creaste para almacenar tus datos.
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.
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.
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.
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): Es el ID del proyecto de Google Cloud . Si no se proporciona--project_idpara especificar un proyecto en particular, se usa el proyecto predeterminado.DATA_SOURCE: es la fuente de datos (por ejemplo,saphana).DISPLAY_NAMEes 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.DATASETes el conjunto de datos de destino para la configuración de transferencia.PARAMETERSson 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.assets: Es una lista de los nombres de las tablas de Salesforce Marketing Cloud que se transferirán desde Salesforce Marketing Cloud como parte de la transferencia.
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 transferencia, el conector de Salesforce Marketing Cloud activa automáticamente una ejecución de transferencia según la opción de programación que elijas.
Tablas compatibles
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:
AssetsCampaignAssetsCampaignsCategoriesEventDefinitionsFacebookMessengerPropertiesJourneyActivitiesJourneysLineMessengerPropertiesSendDefinitionsSubscriptionsDataExtensionDataExtensionObject_DATA_EXTENSION_NAMEEmailLinkSendListListSubscriberSubscriberTriggeredSendDefinition
Para ejecutar de forma manual 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 |
DateTime |
TIMESTAMP |
Locale |
STRING |
Rota los secretos del cliente
Para evitar fallas de autenticación en tus transferencias de datos futuras, debes rotar los secretos de cliente de Salesforce Marketing Cloud cada 180 días. El Servicio de transferencia de datos de BigQuery fallará si el secreto del cliente venció y no lo rotaste.
Para rotar el secreto del cliente, haz lo siguiente:
- Genera y almacena un secreto del cliente en la configuración del paquete instalado.
Actualiza la configuración del Servicio de transferencia de datos de BigQuery para usar el secreto del cliente nuevo. Para ello, haz lo siguiente:
Ve a la página Transferencia de datos en la consola de Google Cloud .
Haz clic en la transferencia de Salesforce Marketing Cloud en la lista de transferencias de datos.
Haz clic en Editar para actualizar la configuración de transferencia.
En los campos ID de cliente y Secreto del cliente en etapa de pruebas, actualiza el valor al nuevo secreto del cliente.
Haz clic en Guardar.
Activa el nuevo secreto en etapa de pruebas en Salesforce Marketing Cloud, lo que desactiva el secreto actual y lo reemplaza por el secreto en etapa de pruebas.
Soluciona problemas con la configuración de una transferencia
Si tienes problemas para configurar o ejecutar una transferencia de datos de Salesforce Marketing Cloud, prueba los siguientes pasos de solución de problemas:
- Verifica que el paquete de integración de la API en Salesforce Marketing Cloud esté configurado específicamente para la autenticación de servidor a servidor.
- Asegúrate de que la app de autenticación esté configurada
con todos los permisos necesarios en Alcance, incluido
Data Extensions: Read. - Para evitar tiempos de espera y fallas intermitentes, limita cada configuración de transferencia a un máximo de 10 recursos.
- Verifica que no estés transfiriendo extensiones de datos que contengan campos de BLOB binarios o grandes.
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 .
- Configura tu entorno de Google Cloud y tu cuenta de Salesforce Marketing Cloud para agregar direcciones IP estáticas a la lista de entidades permitidas. Para obtener más información, consulta Configura la lista de IP permitidas para las transferencias de Salesforce Marketing Cloud.
- Error:
INVALID_ARGUMENT. Table tableName does not exist in asset TableName Resolución: Asegúrate de que el nombre del recurso coincida exactamente, con distinción de mayúsculas y minúsculas, con el nombre de tu cuenta de Salesforce Marketing Cloud y de que se otorgue el permiso
Data Extensions: Read. Cuando se transfieren datos de filas para una extensión de datos, el nombre debe seguir el patrón exacto:DataExtensionObject_DATA_EXTENSION_NAME. Para obtener más información, consulta Requisitos previos de Marketing Cloud de Salesforce.- Problema: La transferencia se realiza correctamente, pero no se carga ningún registro
Resolución: Debes tener los permisos
ReadyWritepara las ubicaciones de archivos para leer el contenido de una extensión de datos. Verifica que tus permisos de Salesforce Marketing Cloud incluyanFile Locations: Read, Write.- Error:
FAILED_PRECONDITION: There was an issue connecting to API. Resolución: Este error puede ocurrir cuando incluyes un adjunto de red en la transferencia, pero no configuraste la NAT pública ni la lista de IPs permitidas. Para resolver este error, sigue los pasos que se indican en Crea un adjunto de red y sigue los pasos para crear tu adjunto de red definiendo una dirección IP estática.
Precios
Para obtener información sobre los precios de las transferencias de Salesforce Marketing Cloud, consulta Precios del Servicio de transferencia de datos.
¿Qué sigue?
- Si deseas obtener una descripción general del Servicio de transferencia de datos de BigQuery, consulta la página sobre la introducción al Servicio de transferencia de datos de BigQuery.
- Para obtener información sobre el uso de las transferencias de datos (por ejemplo, cómo obtener información sobre una configuración de transferencia, mostrar distintas configuraciones o visualizar su historial de ejecuciones), consulta Manejar transferencias.
- Obtén información para cargar datos con las operaciones de BigQuery Omni.