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, que se encuentra en el URI base. Por ejemplo, en el URI base de autenticación https://SUBDOMAIN.auth.marketingcloudapis.com/,
SUBDOMAIN es el valor de tu subdominio. |
instance |
La instancia del servidor de la API, que se encuentra 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. |
clientId |
El ID de cliente de la integración de la API. Ve a Configuración > Aplicaciones > Paquetes instalados y, a continuación, haz clic en el nombre del paquete. El ID de cliente se encuentra en Componentes. |
clientSecret |
Secreto de cliente de la integración de la aplicación. Ve a Configuración > Aplicaciones > Paquetes instalados y, a continuación, haz clic en el nombre del paquete. El secreto de cliente se encuentra en Componentes. |
Configurar una lista de permitidas de IPs para las transferencias de Salesforce Marketing Cloud
Debe configurar su Google Cloud entorno y su cuenta de Salesforce Marketing Cloud para añadir direcciones IP específicas a la lista de permitidas para las transferencias de datos. De esta forma, Salesforce Marketing Cloud solo acepta conexiones de una dirección IP estática y de confianza.
Para ello, primero debes configurar tu Google Cloud red para que use una dirección IP estática:
- Configura una traducción de dirección de red (NAT) pública con una dirección IP estática en tu red de nube privada virtual. Cloud NAT debe configurarse en la misma región que el conjunto de datos de destino de esta transferencia de datos.
- Configura una vinculación de red en la misma red de VPC. BigQuery Data Transfer Service usa este recurso para acceder a servicios privados.
A continuación, debes añadir la dirección IP estática a la lista de permitidos de Salesforce Marketing Cloud. Cuando añadas el intervalo de direcciones IP, utiliza la dirección IP estática de tuGoogle Cloud NAT pública para las direcciones IP inicial y final del intervalo de IP.
Una vez que hayas configurado los intervalos de IP, podrás especificar la IP estática al configurar la transferencia seleccionando la conexión de red en el campo Conexión de red.
Instalar y configurar el paquete de integración de la API de Salesforce Marketing Cloud
Debe instalar un paquete de integración de API de servidor a servidor en Salesforce Marketing Cloud. Para ello, en Salesforce Marketing Cloud, instale un nuevo paquete instalado y especifique el componente Integración de API > De servidor a servidor. Para obtener más información, consulta Crear e instalar paquetes.
Una vez que hayas instalado el paquete de integración de la API, debes añadir los siguientes ámbitos de permisos:
- Acceso:
Offline Access - Correo electrónico:
Read - OTT:
Read - Push:
Read - SMS:
Read - Web:
Read - Documentos e imágenes:
Read - Contenido guardado:
Read - Viajes:
Read - Audiencias:
Read - Lista y suscriptores:
Read - Extensiones de fecha:
Read - Ubicaciones de archivos
Read - Seguimiento de eventos:
Read - Callbacks:
Read - Suscripciones:
Read - Campaña:
Read - Recursos:
Read - Cuentas:
Read - Canales OTT:
Read - Usuarios:
Read
Para obtener más información, consulte Ámbitos de permisos de integración de APIs.
Requisitos previos de BigQuery
- Comprueba que has completado todas las acciones necesarias para habilitar BigQuery Data Transfer Service.
- Crea un conjunto de datos de BigQuery para almacenar tus datos.
- Si quieres configurar notificaciones de ejecuciones de transferencias para Pub/Sub, asegúrate de que tienes el permiso de
pubsub.topics.setIamPolicyGestión de Identidades y Accesos (IAM). 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.
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.
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
Ve a la página Transferencias de datos de la Google Cloud consola.
Haz clic en Crear transferencia.
En la sección Tipo de fuente, en Fuente, seleccione Salesforce Marketing Cloud.
En la sección Detalles de la fuente de datos, haga lo siguiente:
- En API Subdomain (Subdominio de la API), introduce el subdominio de tu URI básico de autenticación.
- En Instancia de API, introduce la instancia de API de la URL después de iniciar sesión en la aplicación Marketing Cloud.
- En ID de cliente, introduce el ID de cliente de tu paquete de integración de APIs.
- En Secreto de cliente, introduce el secreto de cliente de tu paquete de integración de APIs.
En la sección Configuración de destino, en Conjunto de datos, seleccione el conjunto de datos que ha creado para almacenar sus datos.
En la sección Nombre de la configuración de transferencia, en Nombre visible, indica un nombre para la transferencia de datos.
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.
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.
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=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_idpara 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 en las siguientes tablas, según la interfaz REST:
AssetsCampaignAssetsCampaignsCategoriesEventDefinitionsFacebookMessengerPropertiesJourneyActivitiesJourneysLineMessengerPropertiesSendDefinitionsSubscriptionsDataExtensionEmailLinkSendListListSubscriberSubscriberTriggeredSendDefinition
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 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 |
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:
- Asegúrate de que la autenticación configurada para el paquete de integración de la API esté configurada como De servidor a servidor.
- Asegúrate de que la aplicación de autenticación esté configurada con los permisos necesarios en Ámbito.
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 los 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.
- 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
- Para obtener una descripción general de BigQuery Data Transfer Service, consulta el artículo Introducción a BigQuery Data Transfer Service.
- Para obtener información sobre cómo usar las transferencias de datos, 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.
- Consulta cómo cargar datos con operaciones entre nubes.