Integração com o Salesforce Marketing Cloud
Esta página descreve as configurações necessárias para importar dados do Salesforce Marketing Cloud (SFMC) como uma origem de dados da carga de trabalho de marketing da Data Foundation do Cortex Framework.
O SFMC é uma plataforma de automatização de marketing digital oferecida pela Salesforce. Oferece às empresas um conjunto abrangente de ferramentas para gerir e automatizar várias atividades de marketing em vários canais. A framework Cortex funciona como o motor de IA e análise de dados que ajuda a compreender os resultados, identificar áreas a melhorar e otimizar a sua estratégia de marketing para melhores resultados.
O diagrama seguinte descreve como os dados do SFMC estão disponíveis através da carga de trabalho de marketing da Data Foundation do Cortex Framework:
Ficheiro de configuração
O ficheiro config.json
configura as definições necessárias para estabelecer ligação a origens de dados para transferir dados de várias cargas de trabalho. Este ficheiro contém os seguintes parâmetros para o SFMC:
"marketing": {
"deploySFMC": true,
"SFMC": {
"deployCDC": true,
"fileTransferBucket": "",
"datasets": {
"cdc": "",
"raw": "",
"reporting": "REPORTING_SFMC"
}
}
}
A tabela seguinte descreve o valor de cada parâmetro de marketing:
Parâmetro | Significado | Valor predefinido | Descrição |
marketing.deploySFMC
|
Implemente o SFMC | true
|
Execute a implementação para a origem de dados do SFMC. |
marketing.SFMC.deployCDC
|
Implemente scripts de CDC para SFMC | true
|
Gerar scripts de processamento de CDC (captura de dados de alterações) do Salesforce Marketing Cloud (SFMC) para execução como DAGs no Cloud Composer. |
marketing.SFMC.fileTransferBucket
|
Recipiente com ficheiros de extração de dados | - | Contentor onde os ficheiros de extração de dados do Automation Studio do Salesforce Marketing Cloud (SFMC) são armazenados. |
marketing.SFMC.datasets.cdc
|
Conjunto de dados de CDC para SFMC | Conjunto de dados de CDC para o Salesforce Marketing Cloud (SFMC). | |
marketing.SFMC.datasets.raw
|
Conjunto de dados não processados para o SFMC | Conjunto de dados não processados para o Salesforce Marketing Cloud (SFMC). | |
marketing.SFMC.datasets.reporting
|
Conjunto de dados de relatórios para SFMC | "REPORTING_SFMC"
|
Conjunto de dados de relatórios para o Salesforce Marketing Cloud (SFMC). |
Modelo de dados
Esta secção descreve o modelo de dados do Salesforce Marketing Cloud (SFMC) através do diagrama de relação entre entidades (ERD).
Visualizações de base
Estes são os objetos azuis no DRE e são vistas em tabelas de CDC sem transformações, exceto alguns alias de nomes de colunas. Veja guiões em
src/marketing/src/SFMC/src/reporting/ddls
.
Visualizações de propriedade de relatórios
Estes são os objetos verdes no DER e são vistas de relatórios que contêm métricas agregadas. Veja guiões em
src/marketing/src/SFMC/src/reporting/ddls
.
Extração de dados através do Automation Studio
O SFMC Automation Studio permite que os consumidores do SFMC exportem os respetivos dados do SFMC para vários sistemas de armazenamento. A base de dados do Cortex Framework procura um conjunto de ficheiros criados com o Automation Studio num contentor do Cloud Storage. Também tem de usar o SFMC Email Studio neste processo.
Para configurar os processos de extração e exportação de dados, siga estes passos:
- Configure um contentor do Cloud Storage. Este contentor armazena ficheiros
exportados do SFMC. Atribua o nome
marketing.SFMC.fileTransferBucket
config parameter ao grupo. Consulte as instruções na documentação do Salesforce. Crie extensões de dados. Para cada entidade para a qual quer extrair dados, crie uma extensão de dados no Email Studio. Isto é necessário para identificar as origens de dados da base de dados interna do SFMC.
- Liste todos os campos definidos em
src/SFMC/config/table_schema
para a entidade. Se precisar de personalizar esta opção para extrair mais ou menos campos, certifique-se de que a lista de campos está alinhada nestes passos, bem como nos ficheiros de esquema de tabelas. Por exemplo:
Entity: unsubscribe Fields: AccountID OYBAccountID JobID ListID BatchID SubscriberID SubscriberKey EventDate IsUnique Domain
- Liste todos os campos definidos em
Crie atividades de consulta SQL. Para cada entidade, crie uma atividade de consulta SQL. Esta atividade está associada à respetiva extensão de dados criada anteriormente. Consulte a documentação do Salesforce para este passo:
- Defina a consulta SQL com todos os campos relevantes. A consulta tem de selecionar todos os campos relevantes para a entidade definida na extensão de dados no passo anterior.
- Selecione a extensão de dados correta como destino.
- Selecione Substituir como ação de dados.
- Veja a seguinte consulta de exemplo:
SELECT AccountID, OYBAccountID, JobID, ListID, BatchID, SubscriberID, SubscriberKey, EventDate, IsUnique, Domain FROM _Unsubscribe
Crie atividades de extração de dados. Consulte a documentação do Salesforce para criar uma atividade de extração de dados para cada entidade. Esta atividade obtém os dados da extensão de dados do Salesforce e extrai-os para um ficheiro CSV. Para este passo:
- Use o padrão de nomenclatura correto. Deve corresponder ao padrão definido nas definições.
Por exemplo, para a entidade
Unsubscribe
, o nome do ficheiro pode ser algo comounsubscribe_%%Year%%_%%Month%%_%%Day%% %%Hour%%.csv
. - Defina o Tipo de extração como
Data Extension Extract
. - Selecione as opções Tem cabeçalhos de colunas e Texto qualificado.
- Use o padrão de nomenclatura correto. Deve corresponder ao padrão definido nas definições.
Por exemplo, para a entidade
Crie atividades de conversão de ficheiros para converter o formato de UTF-16 para UTF-8. Por predefinição, o Salesforce exporta ficheiros CSV em UTF-16. Neste passo, converte-o para o formato UTF-8. Para cada entidade, crie outra atividade de extração de dados para a conversão de ficheiros. Para este passo:
- Use o mesmo padrão de nome de ficheiro que foi usado no passo anterior da atividade de extração de dados.
- Defina o Tipo de extração como
File Convert
- Selecione
UTF8
no menu pendente emConvert To
.
Crie atividades de transferência de ficheiros. Crie uma atividade de transferência de ficheiros para cada entidade. Estas atividades movem os ficheiros CSV extraídos do Salesforce Safehouse para contentores do Cloud Storage. Para este passo:
- Use o mesmo padrão de nome de ficheiro usado nos passos anteriores.
- Selecione um contentor do Cloud Storage que foi configurado anteriormente no processo como destino.
Agende a execução. Depois de concluir todas as atividades, configure programações automáticas para as executar.
Atualidade e atraso dos dados
Regra geral, a atualização dos dados das origens de dados do Cortex Framework é limitada pelo que a ligação a montante permite, bem como pela frequência de execução do DAG. Ajuste a frequência de execução do DAG para se alinhar com a frequência a montante, as restrições de recursos e as necessidades da sua empresa.
Com o SFMC Automation Studio, o atraso na atualidade dos dados depende do atraso na programação quando a exportação de dados é configurada.
Autorizações de ligações do Cloud Composer
Crie as seguintes associações no Cloud Composer. Veja mais detalhes na documentação sobre a gestão de associações do Airflow.
Nome da associação | Purpose |
sfmc_raw_dataflow
|
Para SFMC Extracted files > conjunto de dados BigQueryRaw. |
sfmc_cdc_bq
|
Para o conjunto de dados não processados > transferência do conjunto de dados da CDC. |
sfmc_reporting_bq
|
Para o conjunto de dados do CDC > Transferência do conjunto de dados de relatórios. |
Autorizações da conta de serviço do Cloud Composer
A conta de serviço usada no Cloud Composer (conforme configurada na ligação sfmc_raw_dataflow
) precisa de autorizações relacionadas com o Dataflow.
Veja as instruções na documentação do Dataflow
Definições de carregamento
Controle os pipelines de dados Source to Raw
e Raw to CDC
através das definições no ficheiro src/SFMC/config/ingestion_settings.yaml
.
Esta secção descreve os parâmetros de cada pipeline de dados.
Origem para tabelas não processadas
Esta secção tem entradas que controlam a forma como os ficheiros extraídos do Automation Studio são usados. Cada entrada corresponde a uma entidade do SFMC. Com base nesta configuração, o framework Cortex cria DAGs do Airflow que executam pipelines do Dataflow para carregar dados de ficheiros exportados para tabelas do BigQuery no conjunto de dados não processados.
O diretório src/SFMC/config/table_schema
contém um ficheiro de esquema para cada entidade
extraída do SFMC. Cada ficheiro explica como ler os ficheiros CSV extraídos do Automation Studio para os carregar com êxito no conjunto de dados BigQueryraw.
Cada ficheiro de esquema contém três colunas:
SourceField
: nome do campo do ficheiro CSV.TargetField
: nome da coluna na tabela de dados não processados para esta entidade.DataType
: tipo de dados de cada campo da tabela de dados não processados.
Os seguintes parâmetros controlam as definições de Source to Raw
para cada entrada:
Parâmetro | Descrição |
base_table
|
Nome da tabela não processada na qual os dados extraídos de uma entidade do SFMC são carregados. |
load_frequency
|
Com que frequência um DAG para esta entidade é executado para carregar dados de ficheiros extraídos. Para mais informações sobre os valores possíveis, consulte a documentação do Airflow. |
file_pattern
|
Padrão do ficheiro desta tabela que é exportado do Automation Studio para o contentor do Cloud Storage. Altere esta opção apenas se tiver escolhido um nome diferente dos sugeridos para os ficheiros extraídos. |
partition_details
|
Como a tabela não processada é particionada para considerações de desempenho. Para mais informações, consulte o artigo Partição de tabelas. |
cluster_details
|
Opcional: se quiser que a tabela não processada seja agrupada para ter em conta o desempenho. Para mais informações, consulte o artigo Definições de cluster. |
Tabelas de dados não processados para tabelas do CDC
Esta secção descreve que entradas controlam a forma como os dados são movidos das tabelas não processadas para as tabelas de CDC. Cada entrada corresponde a uma tabela de dados não processados.
Os seguintes parâmetros controlam as definições de Raw to CDC
para cada entrada:
Parâmetro | Descrição |
base_table
|
Tabela no conjunto de dados de CDC onde os dados brutos após a transformação de CDC são armazenados. |
load_frequency
|
A frequência com que um DAG para esta entidade é executado para preencher a tabela de CDC. Para mais informações sobre os valores possíveis, consulte a documentação do Airflow. |
raw_table
|
Tabela de origem do conjunto de dados não processados. |
row_identifiers
|
Colunas (separadas por vírgulas) que formam um registo único para esta tabela. |
partition_details
|
Como a tabela de CDC é particionada para considerações de desempenho. Para mais informações, consulte o artigo Partição de tabelas. |
cluster_details
|
Opcional: se quiser que esta tabela seja agrupada para ter em conta o desempenho. Para mais informações, consulte o artigo Definições de cluster. |
Definições de relatórios
Pode configurar e controlar a forma como a Framework Cortex gera dados para a camada de relatórios final do SFMC através do ficheiro de definições de relatórios (src/SFMC/config/reporting_settings.yaml
). Este ficheiro controla a forma como os objetos do BigQuery da camada de relatórios (tabelas, vistas,funções ou procedimentos armazenados) são gerados.
Para mais informações, consulte o artigo Personalizar o ficheiro de definições de relatórios.
O que se segue?
- Para mais informações sobre outras origens de dados e cargas de trabalho, consulte o artigo Origens de dados e cargas de trabalho.
- Para mais informações sobre os passos de implementação em ambientes de produção, consulte os Pré-requisitos de implementação da base de dados do Cortex Framework.