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:
- 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.
- 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
- 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.setIamPolicy
de 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 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
Ve a la página Transferencia de datos en la Google Cloud consola.
Haz clic en
Crear transferencia.En la sección Tipo de fuente, en Fuente, selecciona Salesforce Marketing Cloud.
En la sección Detalles de la fuente de datos, haz lo siguiente:
- 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): 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:
- Asegúrate de que la autenticación configurada para el paquete de integración de API esté configurada en Servidor a servidor.
- Asegúrate de que la app de autenticación esté configurada con los permisos necesarios en Alcance.
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.
- 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?
- 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 más información sobre cómo cargar datos con operaciones entre nubes.