Salesforce Marketing Cloud との統合
このページでは、Cortex Framework Data Foundation のマーケティング ワークロードのデータソースとして Salesforce Marketing Cloud(SFMC)からデータを取得するために必要な構成について説明します。
SFMC は、Salesforce が提供するデジタル マーケティング自動化プラットフォームです。複数のチャネルにまたがるさまざまなマーケティング アクティビティを管理、自動化するための包括的なツール スイートを企業に提供します。Cortex Framework は、結果を把握し、改善できる分野を特定し、マーケティング戦略を最適化して成果を高めるのに役立つデータ分析と AI エンジンとして機能します。
次の図は、Cortex Framework Data Foundation のマーケティング ワークロードで SFMC データを利用できるようにする方法を示しています。
構成ファイル
config.json
ファイルでは、さまざまなワークロードからデータを転送するためにデータソースに接続するために必要な設定を構成します。このファイルには、SFMC の次のパラメータが含まれています。
"marketing": {
"deploySFMC": true,
"SFMC": {
"deployCDC": true,
"fileTransferBucket": "",
"datasets": {
"cdc": "",
"raw": "",
"reporting": "REPORTING_SFMC"
}
}
}
次の表に、各マーケティング パラメータの値を示します。
パラメータ | 意味 | デフォルト値 | 説明 |
marketing.deploySFMC
|
SFMC をデプロイする | true
|
SFMC データソースのデプロイを実行します。 |
marketing.SFMC.deployCDC
|
SFMC の CDC スクリプトをデプロイする | true
|
Salesforce Marketing Cloud(SFMC)CDC 処理スクリプトを生成して、Cloud Composer で DAG として実行します。 |
marketing.SFMC.fileTransferBucket
|
データ抽出ファイルを含むバケット | - | Salesforce Marketing Cloud(SFMC)Automation Studio データ抽出ファイルが保存されるバケット。 |
marketing.SFMC.datasets.cdc
|
SFMC の CDC データセット | Salesforce Marketing Cloud(SFMC)の CDC データセット。 | |
marketing.SFMC.datasets.raw
|
SFMC 用の元データセット | Salesforce Marketing Cloud(SFMC)の元のデータセット。 | |
marketing.SFMC.datasets.reporting
|
SFMC のレポート データセット | "REPORTING_SFMC"
|
Salesforce Marketing Cloud(SFMC)のレポート データセット。 |
データモデル
このセクションでは、エンティティ リレーションシップ ダイアグラム(ERD)を使用して Salesforce Marketing Cloud(SFMC)データモデルについて説明します。
ベースビュー
これらは ERD の青色のオブジェクトであり、CDC テーブルのビューで、一部の列名エイリアス以外の変換はありません。スクリプトは src/marketing/src/SFMC/src/reporting/ddls
にあります。
レポートビュー
これらは ERD の緑色のオブジェクトであり、集計指標を含むレポートビューです。スクリプトは src/marketing/src/SFMC/src/reporting/ddls
にあります。
Automation Studio を使用したデータ抽出
SFMC Automation Studio を使用すると、SFMC のユーザーは SFMC データをさまざまなストレージ システムにエクスポートできます。Cortex Framework Data Foundation は、Automation Studio で作成された一連のファイルを Cloud Storage バケットで検索します。このプロセスでは SFMC Email Studio も使用する必要があります。
データの抽出とエクスポートのプロセスを設定するには、次の操作を行います。
- Cloud Storage バケットを設定します。このバケットには、SFMC からエクスポートされたファイルが保存されます。バケット
marketing.SFMC.fileTransferBucket
構成パラメータに名前を付けます。Salesforce のドキュメントの手順をご覧ください。 データ拡張機能を作成する。データを抽出するエンティティごとに、Email Studio でデータ拡張機能を作成します。これは、SFMC 内部データベースからデータソースを特定するために必要です。
- エンティティの
src/SFMC/config/table_schema
で定義されているすべてのフィールドを一覧表示します。フィールドを追加または削除してカスタマイズする必要がある場合は、これらの手順とテーブル スキーマ ファイルでフィールドのリストが揃っていることを確認してください。次に例を示します。
Entity: unsubscribe Fields: AccountID OYBAccountID JobID ListID BatchID SubscriberID SubscriberKey EventDate IsUnique Domain
- エンティティの
SQL クエリ アクティビティを作成する。エンティティごとに SQL クエリ アクティビティを作成します。このアクティビティは、前に作成した対応するデータ拡張機能に接続されています。この手順については、Salesforce のドキュメント をご覧ください。
- 関連するすべてのフィールドを含む SQL クエリを定義します。クエリでは、前の手順でデータ拡張機能で定義されたエンティティに関連するすべてのフィールドを選択する必要があります。
- ターゲットとして適切なデータ拡張機能を選択します。
- データアクションとして [上書き] を選択します。
- 次のクエリの例をご覧ください。
SELECT AccountID, OYBAccountID, JobID, ListID, BatchID, SubscriberID, SubscriberKey, EventDate, IsUnique, Domain FROM _Unsubscribe
データ抽出アクティビティを作成する。各エンティティのデータ抽出アクティビティ の作成については、Salesforce のドキュメントをご覧ください。このアクティビティは、Salesforce Data Extension からデータを取得し、CSV ファイルに抽出します。この手順では、次の操作を行います。
- 正しい命名パターンを使用します。設定で定義されたパターンと一致している必要があります。たとえば、
Unsubscribe
エンティティの場合、ファイル名はunsubscribe_%%Year%%_%%Month%%_%%Day%% %%Hour%%.csv
のようになります。 - [Extract Type] を
Data Extension Extract
に設定します。 - [Has column Headers] オプションと [Text Qualified] オプションを選択します。
- 正しい命名パターンを使用します。設定で定義されたパターンと一致している必要があります。たとえば、
ファイル変換アクティビティを作成して、形式を UTF-16 から UTF-8 に変換します。デフォルトでは、Salesforce は CSV ファイルを UTF-16 でエクスポートします。このステップでは、UTF-8 形式に変換します。エンティティごとに、ファイル変換用の別のデータ抽出アクティビティを作成します。この手順では、次の操作を行います。
- ファイル名のパターンは、データ抽出アクティビティの前の手順で使用したものと同じにします。
- [抽出のタイプ] を
File Convert
に設定します。 Convert To
のプルダウンからUTF8
を選択します。
ファイル転送アクティビティを作成する。エンティティごとにファイル転送アクティビティを作成します。これらのアクティビティは、抽出された CSV ファイルを Salesforce Safehouse から Cloud Storage バケットに移動します。この手順では、次の操作を行います。
- 前の手順で使用したのと同じファイル名パターンを使用します。
- プロセスの早い段階で設定した Cloud Storage バケットを宛先として選択します。
実行をスケジュールします。すべてのアクティビティが完了したら、自動スケジュールを設定して実行します。
データの更新頻度と遅延
一般に、Cortex Framework データソースのデータの更新頻度は、アップストリーム接続で許可される頻度と DAG 実行の頻度によって制限されます。アップストリームの頻度、リソースの制約、ビジネスニーズに合わせて DAG の実行頻度を調整します。
SFMC Automation Studio では、データの更新頻度の遅延は、データ エクスポートの設定時にスケジュールされた遅延によって異なります。
Cloud Composer 接続の権限
Cloud Composer で次の接続を作成します。詳細については、Airflow 接続を管理するドキュメントをご覧ください。
接続名 | 目的 |
sfmc_raw_dataflow
|
SFMC 抽出ファイル > BigQueryRaw データセット。 |
sfmc_cdc_bq
|
元データセット > CDC データセットの転送の場合。 |
sfmc_reporting_bq
|
CDC データセットの場合は [レポート データセットの転送] に移動します。 |
Cloud Composer サービス アカウントの権限
Cloud Composer で使用されるサービス アカウント(sfmc_raw_dataflow
接続で構成されているもの)には、Dataflow 関連の権限が必要です。Dataflow のドキュメントの手順をご覧ください。
取り込み設定
Source to Raw
データ パイプラインと Raw to CDC
データ パイプラインは、ファイル src/SFMC/config/ingestion_settings.yaml
の設定で制御します。このセクションでは、各データ パイプラインのパラメータについて説明します。
ソースから未加工テーブル
このセクションには、Automation Studio から抽出されたファイルの使用方法を制御するエントリがあります。各エントリは 1 つの SFMC エンティティに対応しています。この構成に基づいて、Cortex Framework は、Dataflow パイプラインを実行してエクスポートされたファイルから未加工データセットの BigQuery テーブルにデータを読み込む Airflow DAG を作成します。
ディレクトリ src/SFMC/config/table_schema
には、SFMC から抽出されたエンティティごとにスキーマ ファイルが含まれています。各ファイルでは、Automaton Studio から抽出された CSV ファイルを読み取って、BigQuery の未加工データセットに正常に読み込む方法について説明します。
各スキーマ ファイルには、次の 3 つの列があります。
SourceField
: CSV ファイルのフィールド名。TargetField
: このエンティティの元のテーブルの列名。DataType
: 各未加工テーブル フィールドのデータ型。
次のパラメータは、各エントリの Source to Raw
の設定を制御します。
パラメータ | 説明 |
base_table
|
SFMC エンティティの抽出データが読み込まれる元のテーブル名。 |
load_frequency
|
このエンティティの DAG が実行され、抽出されたファイルからデータを読み込む頻度。使用可能な値の詳細については、Airflow のドキュメントをご覧ください。 |
file_pattern
|
Automation Studio から Cloud Storage バケットにエクスポートされるこのテーブルのファイルのパターン。抽出されたファイルに提案された名前とは異なる名前を選択した場合にのみ、この名前を変更します。 |
partition_details
|
パフォーマンスの考慮事項に基づいて元のテーブルがパーティション分割される方法。詳細については、テーブル パーティションをご覧ください。 |
cluster_details
|
省略可: パフォーマンスを考慮して元のテーブルをクラスタ化する場合は、詳細については、クラスタ設定をご覧ください。 |
元のテーブルから CDC テーブル
このセクションでは、元のテーブルから CDC テーブルにデータが移動される方法を制御するエントリについて説明します。各エントリは未加工テーブルに対応しています。
次のパラメータは、各エントリの Raw to CDC
の設定を制御します。
パラメータ | 説明 |
base_table
|
CDC 変換後の元のデータが保存される CDC データセット内のテーブル。 |
load_frequency
|
このエンティティの DAG が実行され、CDC テーブルにデータが入力される頻度。使用可能な値の詳細については、Airflow のドキュメントをご覧ください。 |
raw_table
|
元のデータセットのソーステーブル。 |
row_identifiers
|
このテーブルの一意のレコードを形成する列(カンマ区切り)。 |
partition_details
|
パフォーマンスの考慮事項として、CDC テーブルがどのようにパーティショニングされているか。詳細については、テーブル パーティションをご覧ください。 |
cluster_details
|
省略可: パフォーマンスを考慮してこのテーブルをクラスタ化する場合は、詳細については、クラスタ設定をご覧ください。 |
レポート設定
Cortex Framework が SFMC 最終レポートレイヤ用にデータを生成する方法を構成して制御するには、レポート設定ファイル(src/SFMC/config/reporting_settings.yaml
)を使用します。このファイルは、レポートレイヤの BigQuery オブジェクト(テーブル、ビュー、関数、ストアド プロシージャ)の生成方法を制御します。詳細については、レポート設定ファイルのカスタマイズをご覧ください。
次のステップ
- その他のデータソースとワークロードの詳細については、データソースとワークロードをご覧ください。
- 本番環境にデプロイする手順の詳細については、Cortex Framework Data Foundation のデプロイの前提条件をご覧ください。