Salesforce Marketing Cloud との統合

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

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

SFMC のエンティティ関係図

図 2Salesforce 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 も使用する必要があります。

データの抽出とエクスポートのプロセスを設定するには、次の操作を行います。

  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 Data Extension からデータを取得し、CSV ファイルに抽出します。この手順では、次の操作を行います。

    1. 正しい命名パターンを使用します。設定で定義されたパターンと一致している必要があります。たとえば、Unsubscribe エンティティの場合、ファイル名は unsubscribe_%%Year%%_%%Month%%_%%Day%% %%Hour%%.csv のようになります。
    2. [Extract Type] を Data Extension Extract に設定します。
    3. [Has column Headers] オプションと [Text Qualified] オプションを選択します。
  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 では、データの更新頻度の遅延は、データ エクスポートの設定時にスケジュールされた遅延によって異なります。

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 オブジェクト(テーブル、ビュー、関数、ストアド プロシージャ)の生成方法を制御します。詳細については、レポート設定ファイルのカスタマイズをご覧ください。

次のステップ