Integration mit Salesforce Marketing Cloud
Auf dieser Seite werden die erforderlichen Konfigurationen beschrieben, um Daten aus Salesforce Marketing Cloud (SFMC) als Datenquelle für die Marketing-Arbeitslast der Cortex Framework Data Foundation zu verwenden.
SFMC ist eine digitale Marketing-Automatisierungsplattform von Salesforce. Sie bietet Unternehmen eine umfassende Suite von Tools zum Verwalten und Automatisieren verschiedener Marketingaktivitäten über mehrere Kanäle hinweg. Cortex Framework fungiert als Datenanalyse- und KI-Engine, mit der Sie die Ergebnisse analysieren, Bereiche für Verbesserungen identifizieren und Ihre Marketingstrategie für bessere Ergebnisse optimieren können.
Das folgende Diagramm zeigt, wie SFMC-Daten über die Marketing-Arbeitslast der Cortex Framework Data Foundation verfügbar sind:

Konfigurationsdatei
In der Datei config.json werden die Einstellungen konfiguriert, die für die Verbindung zu Datenquellen erforderlich sind, um
Daten aus verschiedenen Arbeitslasten zu übertragen. Diese Datei enthält die folgenden Parameter für SFMC:
"marketing": {
"deploySFMC": true,
"SFMC": {
"deployCDC": true,
"fileTransferBucket": "",
"datasets": {
"cdc": "",
"raw": "",
"reporting": "REPORTING_SFMC"
}
}
}
In der folgenden Tabelle wird der Wert für jeden Marketingparameter beschrieben:
| Parameter | Bedeutung | Standardwert | Beschreibung |
marketing.deploySFMC
|
SFMC bereitstellen | true
|
Führen Sie die Bereitstellung für die SFMC-Datenquelle aus. |
marketing.SFMC.deployCDC
|
CDC-Skripts für SFMC bereitstellen | true
|
Generieren Sie CDC-Verarbeitungsskripts für Salesforce Marketing Cloud (SFMC) die als DAGs in Managed Airflow ausgeführt werden. |
marketing.SFMC.fileTransferBucket
|
Bucket mit Datenextraktionsdateien | - | Bucket, in dem die Datenextraktionsdateien von Salesforce Marketing Cloud (SFMC) Automation Studio gespeichert sind. |
marketing.SFMC.datasets.cdc
|
CDC-Dataset für SFMC | CDC-Dataset für Salesforce Marketing Cloud (SFMC). | |
marketing.SFMC.datasets.raw
|
Rohdaten-Dataset für SFMC | Rohdaten-Dataset für Salesforce Marketing Cloud (SFMC). | |
marketing.SFMC.datasets.reporting
|
Berichts-Dataset für SFMC | "REPORTING_SFMC"
|
Berichts-Dataset für Salesforce Marketing Cloud (SFMC). |
Datenmodell
In diesem Abschnitt wird das Salesforce Marketing Cloud-Datenmodell (SFMC) anhand des Entity-Relationship-Diagramms (ERD) beschrieben.
Basisansichten
Dies sind die blauen Objekte im ERD. Sie sind Ansichten von CDC-Tabellen ohne Transformationen außer einigen Aliasen für Spaltennamen. Die Skripts finden Sie unter
src/marketing/src/SFMC/src/reporting/ddls.
Berichtsdatenansichten
Dies sind die grünen Objekte im ERD. Sie sind Berichtsansichten, die aggregierte Messwerte enthalten. Die Skripts finden Sie unter
src/marketing/src/SFMC/src/reporting/ddls.
Datenextraktion mit Automation Studio
SFMC Automation Studio Mit SFMC Automation Studio können Nutzer von SFMC ihre SFMC-Daten in verschiedene Speichersysteme exportieren. Die Cortex Framework Data Foundation sucht in einem Cloud Storage-Bucket nach einer Reihe von Dateien, die mit Automation Studio erstellt wurden. Außerdem müssen Sie in diesem Prozess SFMC Email Studio verwenden.
So richten Sie die Datenextraktions- und Exportprozesse ein:
- Richten Sie einen Cloud Storage-Bucket ein. In diesem Bucket werden aus SFMC exportierte Dateien gespeichert. Nennen Sie den Bucket
marketing.SFMC.fileTransferBucketKonfigurationsparameter. Eine Anleitung finden Sie in der Salesforce-Dokumentation. Datenerweiterungen erstellen. Erstellen Sie für jede Entität, für die Sie Daten extrahieren möchten, eine Datenerweiterung in Email Studio. Dies ist erforderlich, um die Datenquellen aus der internen SFMC-Datenbank zu identifizieren.
- Listen Sie alle Felder auf, die in
src/SFMC/config/table_schemafür die Entität definiert sind. Wenn Sie dies anpassen müssen, um mehr oder weniger Felder zu extrahieren, müssen die Felderlisten in diesen Schritten sowie in den Tabellenschemadateien übereinstimmen. Beispiel:
Entity: unsubscribe Fields: AccountID OYBAccountID JobID ListID BatchID SubscriberID SubscriberKey EventDate IsUnique Domain- Listen Sie alle Felder auf, die in
SQL-SQL-Abfrage erstellen. Erstellen Sie für jede Entität eine SQL-Abfrageaktivität. Diese Aktivität ist mit der entsprechenden zuvor erstellten Datenerweiterung verbunden. Eine Anleitung für diesen Schritt finden Sie in der Salesforce-Dokumentation :
- Definieren Sie eine SQL-Abfrage mit allen relevanten Feldern. Die Abfrage muss alle Felder auswählen, die für die Entität relevant sind, die im vorherigen Schritt in der Datenerweiterung definiert wurde.
- Wählen Sie die richtige Datenerweiterung als Ziel aus.
- Wählen Sie Überschreiben als Datenaktion aus.
- Beispiel für eine Abfrage:
SELECT AccountID, OYBAccountID, JobID, ListID, BatchID, SubscriberID, SubscriberKey, EventDate, IsUnique, Domain FROM _UnsubscribeDatenextraktionsaktivitäten erstellen. Eine Anleitung zum Erstellen einer Datenextraktionsaktivität für jede Entität finden Sie in der Salesforce-Dokumentation. Mit dieser Aktivität werden die Daten aus der Salesforce-Datenerweiterung abgerufen und in eine CSV-Datei extrahiert. Für diesen Schritt:
- Verwenden Sie das richtige Benennungsmuster. Es muss mit dem in den
Einstellungen definierten Muster übereinstimmen.
Für die Entität
Unsubscribekann der Dateiname beispielsweiseunsubscribe_%%Year%%_%%Month%%_%%Day%% %%Hour%%.csvlauten. - Legen Sie Extraktionstyp auf
Data Extension Extractfest. - Wählen Sie die Optionen Hat Spaltenüberschriften und Text qualifiziert aus.
- Verwenden Sie das richtige Benennungsmuster. Es muss mit dem in den
Einstellungen definierten Muster übereinstimmen.
Für die Entität
Erstellen Sie Aktivitäten zur Dateikonvertierung, um das Format von UTF-16 in UTF-8 zu konvertieren. Standardmäßig exportiert Salesforce CSV-Dateien in UTF-16. In diesem Schritt konvertieren Sie sie in das UTF-8-Format. Erstellen Sie für jede Entität eine weitere Datenextraktionsaktivität, für die Dateikonvertierung. Für diesen Schritt:
- Verwenden Sie dasselbe Dateinamenmuster, das im vorherigen Schritt der Datenextraktionsaktivität verwendet wurde.
- Legen Sie Extraktionstyp auf
File Convertfest. - Wählen Sie im Drop-down-Menü unter
Convert Todie OptionUTF8aus.
Aktivitäten zur Dateiübertragung erstellen. Erstellen Sie eine Dateiübertragungsaktivität für jede Entität. Mit diesen Aktivitäten werden die extrahierten CSV-Dateien aus dem Salesforce Safehouse in Cloud Storage-Buckets verschoben. Für diesen Schritt:
- Verwenden Sie dasselbe Dateinamensmuster, das in den vorherigen Schritten verwendet wurde.
- Wählen Sie einen Cloud Storage-Bucket aus, der zuvor im Prozess als Ziel eingerichtet wurde.
Ausführung planen. Nachdem alle Aktivitäten abgeschlossen sind, richten Sie automatische Zeitpläne für die Ausführung ein.
Datenaktualität und Verzögerung
Im Allgemeinen wird die Datenaktualität für Cortex Framework-Datenquellen durch die Upstream-Verbindung sowie die Häufigkeit der DAG-Ausführung begrenzt. Passen Sie die Häufigkeit der DAG-Ausführung an die Upstream-Häufigkeit, Ressourcenbeschränkungen und Ihre geschäftlichen Anforderungen an.
Bei SFMC Automation Studio, hängt die Verzögerung der Datenaktualität von der Verzögerung der Zeitplanung ab, wenn der Datenexport eingerichtet ist.
Berechtigungen für Managed Service for Apache Airflow-Verbindungen
Erstellen Sie die folgenden Verbindungen in Managed Airflow. Weitere Informationen finden Sie in der Dokumentation zu Airflow-Verbindungen verwalten.
| Verbindungsname | Zweck |
sfmc_raw_dataflow
|
Für extrahierte SFMC-Dateien > BigQueryRaw-Dataset. |
sfmc_cdc_bq
|
Für Rohdaten-Dataset > CDC-Dataset-Übertragung. |
sfmc_reporting_bq
|
Für CDC-Dataset > Berichts-Dataset-Übertragung. |
Berechtigungen für das Managed Airflow-Dienstkonto
Das in Managed Airflow verwendete Dienstkonto (wie in der Verbindung sfmc_raw_dataflow konfiguriert) benötigt Dataflow-bezogene Berechtigungen.
Eine Anleitung finden Sie in der Dataflow-Dokumentation.
Aufnahmeeinstellungen
Steuern Sie die Datenpipelines Source to Raw und Raw to CDC über die Einstellungen
in der Datei src/SFMC/config/ingestion_settings.yaml .
In diesem Abschnitt werden die Parameter der einzelnen Datenpipelines beschrieben.
Quell- zu Rohdatentabellen
Dieser Abschnitt enthält Einträge, die steuern, wie aus Automation Studio extrahierte Dateien verwendet werden. Jeder Eintrag entspricht einer SFMC-Entität. Basierend auf dieser Konfiguration erstellt Cortex Framework Airflow-DAGs, die Dataflow-Pipelines ausführen, um Daten aus exportierten Dateien in BigQuery-Tabellen im Rohdaten-Dataset zu laden.
Das Verzeichnis src/SFMC/config/table_schema enthält eine Schemadatei für jede Entität, die aus SFMC extrahiert wird. In jeder Datei wird beschrieben, wie die aus Automation Studio extrahierten CSV-Dateien gelesen werden, um sie erfolgreich in das BigQueryraw-Dataset zu laden.
Jede Schemadatei enthält drei Spalten:
SourceField: Feldname der CSV-Datei.TargetField: Spaltenname in der Rohdatentabelle für diese Entität.DataType: Datentyp jedes Felds der Rohdatentabelle.
Die folgenden Parameter steuern die Einstellungen für Source to Raw für jeden Eintrag:
| Parameter | Beschreibung |
base_table
|
Name der Rohdatentabelle, in die die extrahierten Daten einer SFMC Entität geladen werden. |
load_frequency
|
Wie oft ein DAG für diese Entität ausgeführt wird, um Daten aus extrahierten Dateien zu laden. Weitere Informationen zu möglichen Werten finden Sie in der Airflow-Dokumentation. |
file_pattern
|
Muster für die Datei für diese Tabelle die aus Automation Studio in einen Cloud Storage-Bucket exportiert wird. Ändern Sie dies nur, wenn Sie einen anderen Namen als die vorgeschlagenen Namen für extrahierte Dateien ausgewählt haben. |
partition_details
|
Wie die Rohdatentabelle aus Leistungsgründen partitioniert wird. Weitere Informationen finden Sie unter Tabellenpartitionierung. |
cluster_details
|
Optional: Wenn die Rohdatentabelle aus Leistungsgründen geclustert werden soll. Weitere Informationen finden Sie unter Clustereinstellungen. |
Rohdaten- zu CDC-Tabellen
In diesem Abschnitt wird beschrieben, mit welchen Einträgen gesteuert wird, wie Daten aus Rohdatentabellen in CDC-Tabellen verschoben werden. Jeder Eintrag entspricht einer Rohdatentabelle.
Die folgenden Parameter steuern die Einstellungen für Raw to CDC für jeden Eintrag:
| Parameter | Beschreibung |
base_table
|
Tabelle im CDC-Dataset, in der die Roh daten nach der CDC-Transformation gespeichert werden. |
load_frequency
|
Wie oft ein DAG für diese Entität ausgeführt wird, um die CDC-Tabelle zu füllen. Weitere Informationen zu möglichen Werten finden Sie in der Airflow-Dokumentation. |
raw_table
|
Quelltabelle aus dem Rohdaten-Dataset. |
row_identifiers
|
Durch Kommas getrennte Spalten, die einen eindeutigen Datensatz für diese Tabelle bilden. |
partition_details
|
Wie die CDC-Tabelle aus Leistungsgründen partitioniert wird. Weitere Informationen finden Sie unter Tabellenpartitionierung. |
cluster_details
|
Optional: Wenn diese Tabelle aus Leistungsgründen geclustert werden soll. Weitere Informationen finden Sie unter Clustereinstellungen. |
Berichtseinstellungen
Sie können konfigurieren und steuern, wie Cortex Framework Daten für die endgültige Berichtsebene von SFMC generiert. Verwenden Sie dazu die Datei mit den Berichtseinstellungen (src/SFMC/config/reporting_settings.yaml). Diese Datei steuert, wie BigQuery-Objekte der Berichtsebene (Tabellen, Ansichten, Funktionen oder gespeicherte Prozeduren) generiert werden.
Weitere Informationen finden Sie unter Datei mit Berichtseinstellungen anpassen.
Nächste Schritte
- Weitere Informationen zu anderen Datenquellen und Arbeitslasten finden Sie unter Datenquellen und Arbeitslasten.
- Weitere Informationen zu den Schritten für die Bereitstellung in Produktionsumgebungen, siehe Voraussetzungen für die Bereitstellung der Cortex Framework Data Foundation.
