Treasure Dataは、ユーザーセグメントをSalesforce Marketing Cloud(ExactTarget)に公開し、顧客にパーソナライズされたメールを送信できるようにします。Web、モバイル、CRM、その他のデータソースからのファーストパーティデータを使用して、データドリブンなメールキャンペーンを実行できます。
このサンプルワークフローについては、Treasure Boxesをご覧ください。
Treasure Dataは、ジョブ結果をSalesforce Marketing Cloud(SFMC)に書き込むための2つの方法、SFTPプラグインとSFMCプラグインを提供しています。
このSFMCプラグインは、小規模および中規模のデータセットに使用できます。大規模なデータセットにはSFTPの使用をお勧めします。

このデータコネクタは、SFMCにレコードを投入するための2種類のAPI、Synchronous APIとAsynchronous APIをサポートしています。
ベストプラクティスとして、100,000レコード未満の結果セットをSFMCに投入する場合は、Synchronous APIが最適です。ただし、100万以上のデータセットを送信する予定がある場合は、Synchronous APIと比較して高い可用性と信頼性を提供するAsynchronous APIの使用を検討してください。
Asynchronous APIを使用するには、SFMCアカウントがSalesforce Marketing CloudからData Extensions Async REST APIとして有効になっていることを確認する必要があります。Salesforce Marketing Cloudでサポートケースを作成して、有効化を依頼することもできます。
このデータコネクタは、データエクステンション内の既存データに対して実行する2つのモード、UpsertとReplaceもサポートしています。
最初のモードはUpsertで、既存データを更新し、データエクステンションに新しい追加データを挿入します。更新または挿入操作の両方で、データエクステンションのプライマリキーを使用して、レコードが存在するかどうかを判断し、更新または挿入を実行します。ターゲットデータエクステンション内の既存データはすべて保持されます。
2番目のモードはReplaceで、データを更新する前に、ターゲットデータエクステンション内の既存データをすべてクリアします。このモードは、毎回ターゲット顧客にメールを送信するために、データエクステンション内に最新のデータのみが必要な場合に便利です。
このモードを使用すると、削除されたデータは復元できません。コネクタは新しいデータをプッシュする前にすべてのデータをクリアします。つまり、ジョブが成功しても失敗しても、データはクリアされます。ベストプラクティスとして、このモードは一時的なデータで、データ履歴が重要でない場合に使用してください。
このモードを使用するには、アカウントがEnterprise 2.0アカウントである必要があり、インストールされたパッケージに管理者権限が必要です。詳細については、カスタマーサクセス担当者にお問い合わせください。
- Treasure Dataの基本知識
- Salesforce Marketing Cloudの基本知識
- TDアカウント
このコネクタでは、Data Extensionに各レコードを一意に識別するプライマリキーが必要です。
Treasure DataはSalesforce Marketing Cloudの複数のバージョンをサポートしています。
Enhanced Package: レガシー統合ではなく、Salesforce Marketing Cloud V2 Export Integrationの使用を強くお勧めします。
- Salesforce Marketing Cloudアカウントにログオンします
- Welcome Pageで、右上隅にある自分の名前を選択し、Setupを選択します。
3. App > Installed Packagesに移動します。
4. Installed Packages画面で、Newを選択します。
5. New Package Detailsで、NameとDescriptionを入力します。**Create with enhanced functionality (recommended)**のチェックを外します。 6. Saveを選択します。
7. Package Details画面で、Add Componentを選択します。
8. Add Componentで、API Integrationを選択します。Nextを選択します。
9. Add API Integration画面で、Contacts > AudiencesとContacts > List and Subscribersまでスクロールします。 10. Replace Audience機能を使用するために、両方の下でReadとWriteを選択します。 11. Data > Data Extensionsまでスクロールダウンします。 12. ReadとWriteを選択します。これらの権限は、Salesforce Marketing Cloudにデータを書き込むために必要です。 13. Saveを選択します。
14. Installed Packages画面で、Componentsパネルまでスクロールダウンします。Client IdとClient Secretをコピーします。この情報は、Treasure DataからSalesforce Marketing Cloudにデータを書き込むために使用します。

TDクエリ結果をSalesforce Marketing Cloud Data Extensionにエクスポートするには、以下の手順を実行します。
データ接続を構成する際、統合にアクセスするための認証を提供します。Treasure Dataでは、認証を構成してから、ソース情報を指定します。
TD Consoleを開きます。
Integrations Hub > Catalogに移動します。
Salesforce Marketing Cloudを検索して選択します。

次のダイアログが開きます。Legacy Package Integrationを選択します。

新規認証ダイアログで、Legacy Packageを選択し、Client IdとClient Secret(SFMCでlegacy packageを作成した際に取得したもの)を入力します。Continueを選択します。

この連携の名前を入力し、Doneを選択します。

このステップでは、クエリを作成または再利用します。クエリ内で、データ接続を設定します。
場合によっては、クエリでカラムマッピングを定義する必要があります。
TD Consoleを開きます。
Data Workbench > Queries > New Queryに移動します。

クエリエディタでクエリを入力します。
クエリエディタの上部にあるExport Resultsを選択します。

Choose Integrationダイアログが開きます。 結果をエクスポートするために使用する接続を選択する際、既存の接続を使用するか、新しい接続を作成するかの2つのオプションがあります。
検索ボックスに接続名を入力してフィルタリングします。
接続を選択します。

Export Results画面で、Data Extension Nameを入力します。
次のいずれかを選択します。
Asynchronous APIを使用する場合は、Using Async APIチェックボックスを選択します。Synchronous APIを使用する場合は、チェックボックスを空のままにします。
Continue on failure。

Doneを選択します。
- Runを選択してクエリを実行します。
- クエリ結果が設定されたdata extensionに書き込まれていることを確認します。

| 設定名 | 説明 | 型 | サンプル値 |
|---|---|---|---|
client_id | インストールされたパッケージのクライアントキー | string | Th1s1s4n3x4mpl3Cl13nt1ds |
client_secret | インストールされたパッケージのクライアントシークレット | string | Th1s1s4F4k3dCl13ntS3cr3t |
auth_type | 認証タイプ | string | v1(legacy packageの場合) v2(enhanced packageの場合) |
auth_uri | 認証URI(auth_type=v2の場合は必須) | string | https://th1s1sf4k3d1nst4nc3h0st.auth.marketingcloudapis.com/ |
de_name | Data Extension名 | string | data_extension_name |
create_new_de | data extensionが存在しない場合に新規作成するかを示すフラグ | boolean デフォルトはfalse | true(DEが存在しない場合は新規作成) false(存在しない場合は新規DEを作成しない) |
is_sendable | 作成されたDEが送信可能かどうかを示すフラグ | boolean デフォルトはfalse | true false |
sendable_rule | アカウントで設定された送信可能なビジネスルール(is_sendable=trueの場合は必須) | string | Subscriber Key(ビジネスルールがSubscriber Keyの場合) Email Address(ビジネスルールがEmail Addressの場合) |
sendable_column | 送信可能なプロパティとして使用するカラム名(is_sendable=trueの場合は必須) | string | my_sendable_column |
async | SFMCのasynchronous APIまたはsynchronous APIを使用するかを示すフラグ | boolean デフォルトはfalse | true(Async APIを使用) false(Synchronous APIを使用) |
continue_on_failure | 挿入エラーが発生した場合に実行を継続するかを示すフラグ(synchronous APIにのみ適用) | boolean デフォルトはtrue | true false |
Synchronous APIを使用してLegacy packageでdata extensionをアップサートする設定例。
out:
type: salesforce_marketing_cloud
client_id: Th1s1s4n3x4mpl3Cl13nt1ds
client_secret: Th1s1s4F4k3dCl13ntS3cr3t
auth_type: v1
de_name: data_extension_name
continue_on_failure: falseAsynchronous APIを使用してLegacy packageでdata extensionをアップサートする設定例。
out:
type: salesforce_marketing_cloud
client_id: Th1s1s4n3x4mpl3Cl13nt1ds
client_secret: Th1s1s4F4k3dCl13ntS3cr3t
auth_type: v1
de_name: data_extension_name
async: true以下の場合:
- エクスポート結果にデータエラー(NULL値、誤ったデータ型、無効なプライマリキー)がある場合、Data Extension内のすべてのレコードがクリアされ復元できませんが、無効なデータはエクスポートされません。
- エクスポート結果にスキーマエラー(primary_keyの欠落)がある場合、data extension内の既存のレコードはクリアされません。