Integration mit Salesforce Marketing Cloud
Auf dieser Seite werden die erforderlichen Konfigurationen beschrieben, um Daten aus der Salesforce Marketing Cloud (SFMC) als Datenquelle der Marketing-Arbeitslast der Cortex Framework Data Foundation zu verwenden.
SFMC ist eine digitale Marketing-Automationsplattform von Salesforce. Es bietet Unternehmen eine umfassende Suite von Tools, mit denen sich verschiedene Marketingaktivitäten über mehrere Kanäle hinweg verwalten und automatisieren lassen. Cortex Framework dient als Datenanalyse- und KI-Engine, mit der Sie die Ergebnisse besser nachvollziehen, Verbesserungsmöglichkeiten erkennen und Ihre Marketingstrategie optimieren können, um bessere Ergebnisse zu erzielen.
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 zur Übertragung von Daten aus verschiedenen Arbeitslasten erforderlich sind. 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-Scripts für SFMC bereitstellen | true
|
Salesforce Marketing Cloud (SFMC)-CDC-Verarbeitungsscripts generieren, die als DAGs in Cloud Composer ausgeführt werden |
marketing.SFMC.fileTransferBucket
|
Bucket mit Dateien für Datenextrakte | - | Bucket, in dem die Dateien mit Salesforce Marketing Cloud (SFMC)-Automation Studio-Datenextrakten gespeichert werden. |
marketing.SFMC.datasets.cdc
|
CDC-Dataset für SFMC | CDC-Datensatz für Salesforce Marketing Cloud (SFMC) | |
marketing.SFMC.datasets.raw
|
Rohdatensatz für SFMC | Rohdatensatz für Salesforce Marketing Cloud (SFMC). | |
marketing.SFMC.datasets.reporting
|
Datensatz für die Berichterstellung für SFMC | "REPORTING_SFMC"
|
Berichtsdatensatz für Salesforce Marketing Cloud (SFMC) |
Datenmodell
In diesem Abschnitt wird das SFMC-Datenmodell (Salesforce Marketing Cloud) anhand eines ERD (Entity Relationship Diagram) beschrieben.
Basisansichten
Dies sind die blauen Objekte in der ERD. Sie sind Ansichten auf CDC-Tabellen ohne andere Transformationen als einige Aliasse für Spaltennamen. Scripts in src/marketing/src/SFMC/src/reporting/ddls
ansehen
Berichtsdatenansichten
Dies sind die grünen Objekte in der ERD und Berichtsansichten, die zusammengefasste Messwerte enthalten. Scripts in src/marketing/src/SFMC/src/reporting/ddls
ansehen
Datenextraktion mit 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 SFMC Email Studio verwenden.
So richten Sie die Datenextraktion und den Datenexport ein:
- Richten Sie einen Cloud Storage-Bucket ein. In diesem Bucket werden Dateien gespeichert, die aus SFMC exportiert wurden. Geben Sie dem Bucket den Konfigurationsparameter
marketing.SFMC.fileTransferBucket
. Weitere Informationen finden Sie in der Salesforce-Dokumentation. Erstellen Sie Datenerweiterungen. 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.
- Liste aller Felder, die in
src/SFMC/config/table_schema
für die Entität definiert sind. Wenn Sie diese Option anpassen möchten, um mehr oder weniger Felder zu extrahieren, achten Sie darauf, dass die Liste der Felder in diesen Schritten und in den Tabellenschemadateien übereinstimmt. Beispiel:
Entity: unsubscribe Fields: AccountID OYBAccountID JobID ListID BatchID SubscriberID SubscriberKey EventDate IsUnique Domain
- Liste aller Felder, die in
SQL-Abfrageaktivitäten erstellen Erstellen Sie für jedes Element eine SQL-Abfrageaktivität. Diese Aktivität ist mit der entsprechenden Datenerweiterung verknüpft, die Sie zuvor erstellt haben. Weitere Informationen zu diesem Schritt finden Sie in der Salesforce-Dokumentation :
- Definieren Sie eine SQL-Abfrage mit allen relevanten Feldern. In der Abfrage müssen alle für die Entität relevanten Felder ausgewählt werden, die im vorherigen Schritt in der Datenerweiterung definiert wurden.
- Wählen Sie die richtige Datenerweiterung als Ziel aus.
- Wählen Sie als Datenaktion Überschreiben aus.
- Hier ein Beispiel für eine Suchanfrage:
SELECT AccountID, OYBAccountID, JobID, ListID, BatchID, SubscriberID, SubscriberKey, EventDate, IsUnique, Domain FROM _Unsubscribe
Aktivitäten zum Datenextrahieren erstellen In der Salesforce-Dokumentation erfahren Sie, wie Sie für jede Entität eine Aktivität für den Datenexport erstellen. Bei 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. Er muss mit dem in den Einstellungen definierten Muster übereinstimmen.
Für die Entität
Unsubscribe
könnte der Dateiname beispielsweiseunsubscribe_%%Year%%_%%Month%%_%%Day%% %%Hour%%.csv
lauten. - Legen Sie für Extract Type (Extrahierungstyp) den Wert
Data Extension Extract
fest. - Wählen Sie die Optionen Spaltenüberschriften und Textqualifiziert aus.
- Verwenden Sie das richtige Benennungsmuster. Er muss mit dem in den Einstellungen definierten Muster übereinstimmen.
Für die Entität
Erstellen Sie Dateikonvertierungsaktivitäten, um das Format von UTF-16 in UTF-8 umzuwandeln. Standardmäßig exportiert Salesforce CSV-Dateien im UTF-16-Format. In diesem Schritt konvertieren Sie sie in das UTF-8-Format. Erstellen Sie für jede Entität eine weitere Aktivität zum Datenextrahieren für die Dateikonvertierung. Für diesen Schritt:
- Verwenden Sie dasselbe Dateinamenmuster wie im vorherigen Schritt der Aktivität „Datenextraktion“.
- Legen Sie für Extract Type (Extrahierungstyp) den Wert
File Convert
fest. - Wählen Sie im Drop-down-Menü unter
Convert To
die OptionUTF8
aus.
Aktivitäten für die Dateiübertragung erstellen Erstellen Sie für jede Entität eine Dateiübertragungsaktivität. Bei diesen Aktivitäten werden die extrahierten CSV-Dateien aus dem Salesforce Safehouse in Cloud Storage-Buckets verschoben. Für diesen Schritt:
- Verwenden Sie dasselbe Dateinamenmuster wie in den vorherigen Schritten.
- Wählen Sie als Ziel einen Cloud Storage-Bucket aus, der zuvor im Prozess eingerichtet wurde.
Planen Sie die Ausführung. Nachdem alle Aktivitäten abgeschlossen sind, können Sie automatische Zeitpläne für die Ausführung einrichten.
Datenaktualität und Verzögerung
Im Allgemeinen ist die Datenaktualität für Cortex Framework-Datenquellen durch die Möglichkeiten der Upstream-Verbindung und die Häufigkeit der DAG-Ausführung begrenzt. Passen Sie die Ausführungshäufigkeit des DAG an die Upstream-Frequenz, die Ressourcenbeschränkungen und Ihre Geschäftsanforderungen an.
Bei SFMC Automation Studio hängt die Verzögerung bei der Datenaktualität von der Planungsverzögerung beim Einrichten des Datenexports ab.
Berechtigungen für Cloud Composer-Verbindungen
Erstellen Sie die folgenden Verbindungen in Cloud Composer. Weitere Informationen finden Sie in der Dokumentation zum Verwalten von Airflow-Verbindungen.
Verbindungsname | Purpose |
sfmc_raw_dataflow
|
Für extrahierte SFMC-Dateien > BigQueryRaw-Dataset |
sfmc_cdc_bq
|
Für die Übertragung von Rohdatensätzen > CDC-Datensätzen. |
sfmc_reporting_bq
|
Für CDC-Dataset > Berichtsdatensatzübertragung |
Berechtigungen für das Cloud Composer-Dienstkonto
Das in Cloud Composer verwendete Dienstkonto (wie in der sfmc_raw_dataflow
-Verbindung konfiguriert) benötigt Dataflow-bezogene Berechtigungen.
Weitere Informationen finden Sie in der Dataflow-Dokumentation.
Aufnahmeeinstellungen
Die Source to Raw
- und Raw to CDC
-Datenpipelines können über die Einstellungen in der Datei src/SFMC/config/ingestion_settings.yaml
gesteuert werden.
In diesem Abschnitt werden die Parameter der einzelnen Datenpipelines beschrieben.
Von der Quelle zu Rohtabellen
Dieser Abschnitt enthält Einträge, mit denen die Verwendung von aus Automation Studio extrahierten Dateien gesteuert wird. Jeder Eintrag entspricht einer SFMC-Entität. Basierend auf dieser Konfiguration erstellt das Cortex-Framework Airflow-DAGs, die Dataflow-Pipelines ausführen, um Daten aus exportierten Dateien in BigQuery-Tabellen im Rohdatensatz 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 Automaton Studio extrahierten CSV-Dateien gelesen werden, um sie in den BigQuery-Raw-Datensatz zu laden.
Jede Schemadatei enthält drei Spalten:
SourceField
: Feldname der CSV-Datei.TargetField
: Spaltenname in der Rohtabelle für diese Entität.DataType
: Datentyp jedes Felds der Rohtabelle.
Die folgenden Parameter steuern die Einstellungen für Source to Raw
für jeden Eintrag:
Parameter | Beschreibung |
base_table
|
Name der Rohtabelle, in die Daten geladen werden, die aus einer SFMC-Entität extrahiert wurden. |
load_frequency
|
Gibt an, wie oft ein DAG für dieses Element ausgeführt wird, um Daten aus extrahierten Dateien zu laden. Weitere Informationen zu den 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 den Cloud Storage-Bucket exportiert wird. Ändern Sie diesen Wert nur, wenn Sie einen anderen Namen als die vorgeschlagenen Namen für die extrahierten Dateien ausgewählt haben. |
partition_details
|
Wie die Rohtabelle aus Leistungsgründen partitioniert wird. Weitere Informationen finden Sie unter Tabellenpartition. |
cluster_details
|
Optional:Wenn die Rohtabelle aus Gründen der Leistung geclustert werden soll. Weitere Informationen finden Sie unter Clustereinstellungen. |
Rohdaten in CDC-Tabellen
In diesem Abschnitt wird beschrieben, welche Einträge steuern, wie Daten aus Rohtabellen in CDC-Tabellen verschoben werden. Jeder Eintrag entspricht einer Rohtabelle.
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 Rohdaten nach der CDC-Transformation gespeichert werden. |
load_frequency
|
Gibt an, wie oft ein DAG für diese Entität ausgeführt wird, um die CDC-Tabelle zu füllen. Weitere Informationen zu den möglichen Werten finden Sie in der Airflow-Dokumentation. |
raw_table
|
Quelltabelle aus dem Rohdatensatz |
row_identifiers
|
Spalten (durch Komma getrennt), 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 Tabellenpartition. |
cluster_details
|
Optional:Wenn Sie möchten, dass diese Tabelle aus Gründen der Leistung gruppiert wird. Weitere Informationen finden Sie unter Clustereinstellungen. |
Berichtseinstellungen
Mit der Datei „Berichtseinstellungen“ (src/SFMC/config/reporting_settings.yaml
) können Sie konfigurieren und steuern, wie das Cortex-Framework Daten für die endgültige Berichtsebene von SFMC generiert. Mit dieser Datei wird festgelegt, 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 finden Sie unter Voraussetzungen für die Bereitstellung der Cortex Framework Data Foundation.