Salesforce Marketing Cloud との統合

このページでは、Salesforce Marketing Cloud(SFMC)から Cortex Framework Data Foundation のマーケティング ワークロードのデータソースとしてデータを取り込むために必要な構成について説明します。

SFMC は、Salesforce が提供するデジタル マーケティング自動化プラットフォームです。 企業は、複数のチャネルにわたるさまざまなマーケティング活動を管理、自動化するための包括的なツールスイートを利用できます。 Cortex Framework は、結果の把握、改善点の特定、より良い成果を得るためのマーケティング戦略の最適化に役立つデータ分析エンジンおよび AI エンジンとして機能します。

次の図は、Cortex Framework Data Foundation のマーケティング ワークロードを通じて SFMC データを利用できるようにする方法を示しています。

SFMC データソース

図 1 。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 処理スクリプトを生成して、Managed Airflow で 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)データモデルについて説明します。

SFMC のエンティティ関係図

図 2 。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 は、Cloud Storage バケット内の Automation Studio で作成された一連のファイルを検索します。このプロセスでは、 SFMC Email Studio も使用する必要があります。

データ抽出プロセスとエクスポート プロセスを設定する手順は次のとおりです。

  1. Cloud Storage バケットを設定します。このバケットには、SFMC からエクスポートされたファイルが保存されます。バケットに marketing.SFMC.fileTransferBucket 構成パラメータの名前を付けます。手順については、Salesforce のドキュメントをご覧ください。
  2. データ エクステンションを作成します。データを抽出するエンティティごとに、 Email Studio でデータ エクステンションを作成します。 これは、SFMC 内部データベースからデータソースを識別するために必要です。

    • エンティティの src/SFMC/config/table_schema で定義されているすべてのフィールドを一覧表示します。これをカスタマイズしてフィールドの数を増減する場合は、これらの手順とテーブル スキーマ ファイルでフィールドのリストが揃っていることを確認してください。次に例を示します。
      Entity: unsubscribe
      Fields:
      AccountID
      OYBAccountID
      JobID
      ListID
      BatchID
      SubscriberID
      SubscriberKey
      EventDate
      IsUnique
      Domain
    
  3. SQL クエリ アクティビティを作成します。エンティティごとに SQL クエリ アクティビティを作成します。 このアクティビティは、先ほど作成した対応するデータ エクステンションに接続されています。 この手順については、Salesforce のドキュメント をご覧ください。

    1. 関連するすべてのフィールドを含む SQL クエリを定義します。クエリでは、前のステップでデータ エクステンションで定義されたエンティティに関連するすべてのフィールドを選択する必要があります。
    2. 正しいデータ エクステンションをターゲットとして選択します。
    3. [データ アクション] で [上書き] を選択します。
    4. 次のクエリの例をご覧ください。
      SELECT
        AccountID,
        OYBAccountID,
        JobID,
        ListID,
        BatchID,
        SubscriberID,
        SubscriberKey,
        EventDate,
        IsUnique,
        Domain
      FROM
        _Unsubscribe
    
  4. データ抽出アクティビティを作成します。エンティティごとに データ抽出アクティビティ を作成する方法については、Salesforce のドキュメントをご覧ください。このアクティビティは、Salesforce データ エクステンションからデータを取得し、csv ファイルに抽出します。 この手順では、次の操作を行います。

    1. 正しい命名パターンを使用します。設定で定義されているパターンと一致する必要があります。 settings.たとえば、Unsubscribe エンティティの場合、ファイル名は unsubscribe_%%Year%%_%%Month%%_%%Day%% %%Hour%%.csv のようになります。
    2. [抽出タイプ] を Data Extension Extract に設定します。
    3. [列ヘッダーがある] オプションと [テキストの引用符] オプションを選択します。
  5. ファイル変換アクティビティを作成して、形式を UTF-16 から UTF-8 に変換します 。デフォルトでは、Salesforce は CSV ファイルを UTF-16 でエクスポートします。このステップでは、UTF-8 形式に変換します。エンティティごとに、ファイル変換用の別のデータ抽出アクティビティ を作成します。この手順では、次の操作を行います。

    • データ抽出アクティビティの前のステップで使用したのと同じファイル名パターンを使用します。
    • [抽出タイプ] を File Convert に設定します。
    • [Convert To] のプルダウンから UTF8 を選択します。
  6. ファイル転送アクティビティを作成します。エンティティごとにファイル転送アクティビティ を作成します。これらのアクティビティは、抽出された csv ファイルを Salesforce Safehouse から Cloud Storage バケットに移動します。この手順では、次の操作を行います。

    • 前のステップで使用したのと同じファイル名パターンを使用します。
    • プロセスで以前に設定した Cloud Storage バケットを宛先として選択します。
  7. 実行をスケジュールします。すべてのアクティビティが完了したら、 自動スケジュール を設定して実行します。

データの鮮度と遅延

原則として、Cortex Framework データソースのデータの更新速度は、アップストリーム接続で許可されるものと DAG の実行頻度によって制限されます。アップストリームの頻度、リソースの制約、ビジネスニーズに合わせて DAG の実行頻度を調整します。

SFMC Automation Studioでは、 データのエクスポートを設定する際のスケジュールの遅延によって、データの更新速度の遅延が決まります 。

Managed Service for Apache Airflow 接続の権限

マネージド Airflow で次の接続を作成します。詳細については、 Airflow 接続を管理するのドキュメントをご覧ください

接続名 目的
sfmc_raw_dataflow SFMC 抽出ファイル > BigQueryRaw データセットの場合。
sfmc_cdc_bq 元データセット > CDC データセット転送の場合。
sfmc_reporting_bq CDC データセット > レポート データセット転送の場合。

Managed Airflow サービス アカウントの権限

Managed Airflow で使用されるサービス アカウント(sfmc_raw_dataflow 接続で構成)には、Dataflow 関連の権限が必要です。手順については、Dataflow のドキュメントをご覧ください。

取り込みに関する設定

Source to RawRaw to CDC データ パイプラインは、ファイル src/SFMC/config/ingestion_settings.yaml の設定で制御します。このセクションでは、各データ パイプラインのパラメータについて説明します。

元テーブルへのソース

このセクションには、Automation Studio から抽出されたファイルの使用方法を制御するエントリがあります。各エントリは 1 つの SFMC エンティティに対応します。 この構成に基づいて、Cortex Framework は、エクスポートされたファイルから元データセットの BigQuery テーブルにデータを読み込む Dataflow パイプラインを実行する Airflow DAG を作成します。

ディレクトリ src/SFMC/config/table_schema には、SFMC から抽出されたエンティティごとにスキーマファイルが含まれています。各ファイルでは、Automation Studio から抽出された CSV ファイルを読み取って、BigQueryraw データセットに正常に読み込む方法について説明します。

各スキーマファイルには次の 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 省略可: パフォーマンス上の考慮事項に基づいてこのテーブルを クラスタ化する場合。詳細については、 クラスタの設定をご覧ください。

レポート設定

レポート設定ファイル(src/SFMC/config/reporting_settings.yaml)を使用して、Cortex Framework が SFMC の最終レポート レイヤのデータを生成する方法を構成および制御できます。このファイルは、レポート レイヤの BigQuery オブジェクト(テーブル、ビュー、関数、ストアド プロシージャ)の生成方法を制御します。 詳細については、レポート設定ファイルのカスタマイズをご覧ください。

次のステップ