Integración con Salesforce Marketing Cloud
En esta página, se describen las configuraciones necesarias para incorporar datos de Salesforce Marketing Cloud (SFMC) como fuente de datos de la carga de trabajo de marketing de la base de datos de Cortex Framework.
SFMC es una plataforma de automatización de marketing digital que ofrece Salesforce. Proporciona a las empresas un conjunto integral de herramientas para administrar y automatizar diversas actividades de marketing en múltiples canales. Cortex Framework actúa como el motor de IA y análisis de datos que te ayuda a comprender los resultados, identificar áreas de mejora y optimizar tu estrategia de marketing para obtener mejores resultados.
En el siguiente diagrama, se describe cómo los datos de SFMC están disponibles a través de la carga de trabajo de marketing de la base de datos de Cortex Framework:

Archivo de configuración
El archivo config.json configura los parámetros necesarios para conectarse a las fuentes de datos y transferir datos de diversas cargas de trabajo. Este archivo contiene los siguientes parámetros para SFMC:
"marketing": {
"deploySFMC": true,
"SFMC": {
"deployCDC": true,
"fileTransferBucket": "",
"datasets": {
"cdc": "",
"raw": "",
"reporting": "REPORTING_SFMC"
}
}
}
En la siguiente tabla, se describe el valor de cada parámetro de marketing:
| Parámetro | Significado | Valor predeterminado | Descripción |
marketing.deploySFMC
|
Implementa SFMC | true
|
Ejecuta la implementación de la fuente de datos de SFMC. |
marketing.SFMC.deployCDC
|
Implementa secuencias de comandos de CDC para SFMC | true
|
Genera secuencias de comandos de procesamiento de CDC de Salesforce Marketing Cloud (SFMC) para ejecutarlos como DAGs en Managed Airflow. |
marketing.SFMC.fileTransferBucket
|
Bucket con archivos de extracción de datos | - | Es el bucket en el que se almacenan los archivos de extracción de datos de Automation Studio de Salesforce Marketing Cloud (SFMC). |
marketing.SFMC.datasets.cdc
|
Conjunto de datos de CDC para SFMC | Es un conjunto de datos de CDC para Salesforce Marketing Cloud (SFMC). | |
marketing.SFMC.datasets.raw
|
Conjunto de datos sin procesar para SFMC | Es el conjunto de datos sin procesar de Salesforce Marketing Cloud (SFMC). | |
marketing.SFMC.datasets.reporting
|
Conjunto de datos de informes para SFMC | "REPORTING_SFMC"
|
Es el conjunto de datos de informes de Salesforce Marketing Cloud (SFMC). |
Modelo de datos
En esta sección, se describe el modelo de datos de Salesforce Marketing Cloud (SFMC) con el diagrama de relación entre entidades (ERD).
Vistas base
Estos son los objetos azules en el DER y son vistas de las tablas de CDC sin transformaciones, excepto algunos alias de nombres de columnas. Consulta las secuencias de comandos en src/marketing/src/SFMC/src/reporting/ddls.
Vistas de informes
Estos son los objetos verdes en el DER y son vistas de informes que contienen métricas agregadas. Consulta las secuencias de comandos en src/marketing/src/SFMC/src/reporting/ddls.
Extracción de datos con Automation Studio
SFMC Automation Studio permite a los consumidores de SFMC exportar sus datos de SFMC a varios sistemas de almacenamiento. La base de datos de Cortex Framework busca un conjunto de archivos creados con Automation Studio en un bucket de Cloud Storage. También debes usar SFMC Email Studio en este proceso.
Para configurar los procesos de extracción y exportación de datos, sigue estos pasos:
- Configura un bucket de Cloud Storage. Este bucket almacena los archivos exportados desde SFMC. Nombre del parámetro de configuración del bucket
marketing.SFMC.fileTransferBucket. Consulta las instrucciones en la documentación de Salesforce. Crea extensiones de datos. Para cada entidad de la que desees extraer datos, crea una extensión de datos en Email Studio. Esto es necesario para identificar las fuentes de datos de la base de datos interna de SFMC.
- Enumera todos los campos definidos en
src/SFMC/config/table_schemapara la entidad. Si necesitas personalizar esto para extraer más o menos campos, asegúrate de que la lista de campos esté alineada en estos pasos y en los archivos de esquema de la tabla. Por ejemplo:
Entity: unsubscribe Fields: AccountID OYBAccountID JobID ListID BatchID SubscriberID SubscriberKey EventDate IsUnique Domain- Enumera todos los campos definidos en
Crear actividades de consulta en SQL SQL Para cada entidad, crea una actividad de consulta en SQL. Esta actividad está conectada a su extensión de datos correspondiente creada anteriormente. Consulta la documentación de Salesforce para este paso:
- Define una consulta en SQL con todos los campos pertinentes. La consulta debe seleccionar todos los campos relevantes para la entidad que se define en la extensión de datos del paso anterior.
- Selecciona la extensión de datos correcta como destino.
- Selecciona Overwrite como acción de datos.
- Consulta el siguiente ejemplo de búsqueda:
SELECT AccountID, OYBAccountID, JobID, ListID, BatchID, SubscriberID, SubscriberKey, EventDate, IsUnique, Domain FROM _UnsubscribeCrear actividades de extracción de datos Consulta la documentación de Salesforce para crear una actividad de extracción de datos para cada entidad. Esta actividad obtiene los datos de la extensión de datos de Salesforce y los extrae a un archivo CSV. Para este paso, haz lo siguiente:
- Usa el patrón de nomenclatura correcto. Debe coincidir con el patrón definido en la configuración.
Por ejemplo, para la entidad
Unsubscribe, el nombre del archivo puede ser algo comounsubscribe_%%Year%%_%%Month%%_%%Day%% %%Hour%%.csv. - Establece Tipo de extracción en
Data Extension Extract. - Selecciona las opciones Has column Headers y Text Qualified.
- Usa el patrón de nomenclatura correcto. Debe coincidir con el patrón definido en la configuración.
Por ejemplo, para la entidad
Crea actividades de conversión de archivos para convertir el formato de UTF-16 a UTF-8. De forma predeterminada, Salesforce exporta archivos CSV en UTF-16. En este paso, lo convertirás al formato UTF-8. Para cada entidad, crea otra Actividad de extracción de datos para la conversión de archivos. Para este paso, haz lo siguiente:
- Usa el mismo patrón de nombre de archivo que se usó en el paso anterior de la actividad de extracción de datos.
- Establece Tipo de extracción en
File Convert. - Selecciona
UTF8en el menú desplegable deConvert To.
Crear actividades de transferencia de archivos Crea una Actividad de transferencia de archivos para cada entidad. Estas actividades mueven los archivos CSV extraídos de Salesforce Safehouse a buckets de Cloud Storage. Para este paso, haz lo siguiente:
- Usa el mismo patrón de nombre de archivo que en los pasos anteriores.
- Selecciona como destino un bucket de Cloud Storage que se haya configurado anteriormente en el proceso.
Programa la ejecución. Una vez que se completen todas las actividades, configura programaciones automatizadas para ejecutarlas.
Actualidad y demora de los datos
Como regla general, la actualización de los datos de las fuentes de datos de Cortex Framework está limitada por lo que permite la conexión upstream, así como por la frecuencia de ejecución de tu DAG. Ajusta la frecuencia de ejecución de tu DAG para que coincida con la frecuencia de los procesos ascendentes, las restricciones de recursos y las necesidades de tu empresa.
Con SFMC Automation Studio, la demora en la actualización de los datos depende de la demora en la programación cuando se configura la exportación de datos.
Permisos de conexiones de Managed Service para Apache Airflow
Crea las siguientes conexiones en Managed Airflow. Para obtener más detalles, consulta la documentación sobre cómo administrar conexiones de Airflow.
| Nombre de la conexión | Purpose |
sfmc_raw_dataflow
|
Para SFMC Extracted files > conjunto de datos BigQueryRaw |
sfmc_cdc_bq
|
Para la transferencia de conjuntos de datos sin procesar > conjuntos de datos de CDC. |
sfmc_reporting_bq
|
Para la transferencia del conjunto de datos de informes al conjunto de datos de CDC. |
Permisos de la cuenta de servicio de Managed Airflow
La cuenta de servicio que se usa en Managed Airflow (según se configuró en la conexión sfmc_raw_dataflow) necesita permisos relacionados con Dataflow.
Consulta las instrucciones en la documentación de Dataflow.
Configuración de transferencia
Controla las canalizaciones de datos Source to Raw y Raw to CDC a través de la configuración del archivo src/SFMC/config/ingestion_settings.yaml .
En esta sección, se describen los parámetros de cada canalización de datos.
De tablas de origen a tablas sin procesar
Esta sección contiene entradas que controlan cómo se usan los archivos extraídos de Automation Studio. Cada entrada corresponde a una entidad de SFMC. Según esta configuración, Cortex Framework crea DAGs de Airflow que ejecutan canalizaciones de Dataflow para cargar datos de archivos exportados en tablas de BigQuery en el conjunto de datos sin procesar.
El directorio src/SFMC/config/table_schema contiene un archivo de esquema para cada entidad que se extrae de SFMC. Cada archivo explica cómo leer los archivos CSV extraídos de Automaton Studio para cargarlos correctamente en el conjunto de datos sin procesar de BigQuery.
Cada archivo de esquema contiene tres columnas:
SourceField: Es el nombre del campo del archivo CSV.TargetField: Es el nombre de la columna en la tabla sin procesar para esta entidad.DataType: Es el tipo de datos de cada campo de la tabla sin procesar.
Los siguientes parámetros controlan la configuración de Source to Raw para cada entrada:
| Parámetro | Descripción |
base_table
|
Nombre de la tabla sin procesar en la que se cargan los datos extraídos de una entidad de SFMC. |
load_frequency
|
Frecuencia con la que se ejecuta un DAG para esta entidad para cargar datos de los archivos extraídos. Para obtener más información sobre los valores posibles, consulta la documentación de Airflow. |
file_pattern
|
Es el patrón del archivo de esta tabla que se exporta desde Automation Studio al bucket de Cloud Storage. Cambia esto solo si elegiste un nombre diferente de los sugeridos para los archivos extraídos. |
partition_details
|
Indica cómo se particiona la tabla sin procesar para tener en cuenta el rendimiento. Para obtener más información, consulta Partición de tablas. |
cluster_details
|
Opcional: Si deseas que la tabla sin procesar se agrupe en clústeres por motivos de rendimiento. Para obtener más información, consulta Configuración del clúster. |
Tablas sin procesar a CDC
En esta sección, se describen las entradas que controlan cómo se transfieren los datos de las tablas sin procesar a las tablas de CDC. Cada entrada corresponde a una tabla sin procesar.
Los siguientes parámetros controlan la configuración de Raw to CDC para cada entrada:
| Parámetro | Descripción |
base_table
|
Tabla del conjunto de datos de CDC en la que se almacenan los datos sin procesar después de la transformación de CDC. |
load_frequency
|
Frecuencia con la que se ejecuta un DAG para esta entidad con el objetivo de completar la tabla del CDC. Para obtener más información sobre los valores posibles, consulta la documentación de Airflow. |
raw_table
|
Es la tabla de origen del conjunto de datos sin procesar. |
row_identifiers
|
Columnas (separadas por comas) que forman un registro único para esta tabla. |
partition_details
|
Indica cómo se particiona la tabla de CDC para tener en cuenta el rendimiento. Para obtener más información, consulta Partición de tablas. |
cluster_details
|
Opcional: Si deseas que esta tabla se agrupe para tener en cuenta el rendimiento. Para obtener más información, consulta Configuración del clúster. |
Configuración de informes
Puedes configurar y controlar cómo Cortex Framework genera datos para la capa de informes final de SFMC con el archivo de configuración de informes (src/SFMC/config/reporting_settings.yaml). Este archivo controla cómo se generan los objetos de BigQuery de la capa de informes (tablas, vistas,funciones o procedimientos almacenados).
Para obtener más información, consulta Cómo personalizar el archivo de configuración de informes.
Próximos pasos
- Para obtener más información sobre otras fuentes de datos y cargas de trabajo, consulta Fuentes de datos y cargas de trabajo.
- Para obtener más información sobre los pasos para la implementación en entornos de producción, consulta Requisitos previos para la implementación de la base de datos de Cortex Framework.
