Treasure Dataは、ユーザーセグメントをSalesforce Marketing Cloud (ExactTarget)に公開し、顧客にパーソナライズされたメールを送信できるようにします。Web、モバイル、CRM、およびその他のデータソースからのファーストパーティデータを使用して、データ駆動型のメールキャンペーンを実行できます。
サンプルワークフローについては、Treasure Boxesをご覧ください。
Treasure Dataは、ジョブ結果をSalesforce Marketing Cloud(SFMC)に書き込むための2つの方法、SFTPとSFMCプラグインを提供しています。
このSFMCプラグインは、小規模および中規模のデータセットに使用できます。大規模なデータセットの場合は、SFTPの使用をお勧めします。
この統合は、SFMCにレコードを配置するための2種類のAPIをサポートしています: 同期APIと非同期API。
ベストプラクティスとして、100,000レコード未満の結果セットをSFMCに配置しようとしている場合、同期APIが最適です。ただし、100万以上のデータセットを送信する予定がある場合は、同期APIと比較してより高い可用性と信頼性を提供する非同期APIの使用を検討してください。
非同期APIを使用するには、SFMCアカウントがSalesforce Marketing CloudからData Extensions Async REST APIとして有効になっていることを確認してください。また、Salesforce Marketing Cloudでサポートケースを作成して、有効にしてもらうこともできます。
この統合は、UpsertとReplaceもサポートしています。
Upsertは、既存のデータを更新し、data extensionに新しい追加データを挿入します。更新と挿入の両方の操作は、data extension主キーを使用して、レコードが存在したかどうかを判断し、更新または挿入を実行します。ターゲットdata extension内のすべての既存データは保持されます。
Replaceは、データを更新する前に、ターゲットdata extension内のすべての既存データをクリアします。このモードは、毎回ターゲット顧客にメールを送信するために、data extension内の最新のデータのみが必要な場合に便利です。
この統合でreplaceが選択されている場合:
- エクスポート結果にデータエラー(NULL値、誤ったデータ型、無効な主キー)がある場合、Data Extension内のすべてのレコードがクリアされ、回復できませんが、無効なデータはエクスポートされません。
- エクスポート結果にスキーマエラー(primary_keyの欠落)がある場合、data extension内の既存のレコードはクリアされません。
replaceを使用すると、削除されたデータは回復できません。コネクタは新しいデータをプッシュする前にすべてのデータをクリアします。したがって、ジョブが成功するか失敗するかに関係なく、データはクリアされます。ベストプラクティスとして、一時的なデータやデータ履歴が重要でない場合にreplaceを使用してください。
replaceを使用するには、アカウントがEnterprise 2.0アカウントであり、インストールされたパッケージに管理者権限が必要です。詳細については、カスタマーサクセス担当者にお問い合わせください。
- Treasure Dataの基本知識
- Salesforce Marketing Cloudの基本知識
- TDアカウント
このコネクタでは、Data Extensionに各レコードを一意に識別する主キーが必要です。さらに、同期APIを使用する場合、Data Extensionには2つ以上のフィールドが必要です。新しいData Extensionを作成するために'Create Data Extension'を指定する場合、主キーとして1列のみがサポートされます。複数の列を指定するとエラーが発生します。
Treasure Dataは、Salesforce Marketing CloudでLegacyとEnhanced Packageの両方をサポートしています。
Enhanced Packageの作成を強くお勧めします。
- Salesforce Marketing Cloudアカウントにログオンします。
- Welcome Pageで、右上隅の名前を選択します。Setupを選択します。
3. 新しい画面の左側メニューで、App > Installed Packagesに移動します。
4. Installed Packages画面で、Newを選択します。
5. NameとDescriptionを入力します。 6. Saveを選択します。
7. Add Componentを選択します。
8. API Integrationを選択します。 9. Nextを選択します。
10. Server-to-Serverを選択します。 11. Nextを選択します。

- Contacts > AudiencesとContacts > List and Subscribersを見つけます。
- Replace Audience機能を使用するには、両方の下でReadとWriteを選択します。
- Data > Data Extensionsを見つけます。
- ReadとWriteを選択します。 Salesforce Marketing Cloudにデータを書き込むには、これらの権限が必要です。
- Saveを選択します。

- Componentsパネルを見つけます。
- Client Id、Client Secret、およびAuthentication Base URIをメモします。 Treasure DataからSalesforce Marketing Cloudにデータを書き込むために、この情報を使用します。

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

- Enhanced Functionality Packageを選択し、Client Id、Client Secret、およびAuthentication Base URI(SFMCでenhanced packageを作成した際に取得したもの)を入力します。オプションで、以下を指定できます:
- 複数のBUにアクセスするためのAccount identifier or MID
- トークンのスコープを制限するためのScope(詳細はAPI scopesを参照)
- Continueを選択します。

- 接続の名前を入力します。
- Doneを選択します。
この手順では、クエリを作成または再利用します。クエリで、データ接続を設定します。
場合によっては、クエリで列マッピングを定義する必要があります。
- TD Consoleを開きます。
- Data Workbench > Queries > New Queryに移動します。

- クエリエディタでクエリを入力します。例えば:
SELECT
name as customer_name,
email as primary_key
FROM
data_extension
limit 10主キーはテキストフィールドにすることができます。
- クエリエディタの上部にあるExport Resultsを選択します。

- 既存の接続を選択します。
- Data Extension Nameを指定します。オプションで、Data Extensionが存在しない場合は、Create Data Extensionを選択して、まったく新しいdata extensionを作成します。

- Folder Pathを指定します。オプションで、Folder Path内のいずれかのフォルダが存在しない場合は、Create New Folder if not Existsを選択してフォルダを作成します。

- 既存のData Extension Nameを使用していて、非同期APIを使用する場合は、Using Async APIを選択します。同期APIを使用する場合は、ボックスをオフのままにします。
- 新しいdata extensionを作成する場合は、Create Data Extensionを選択します。新しく作成されたdata extensionで、Data Extension Nameを入力し、新しいdata extensionのPrimary Columnに名前を付けます。

- LongとTextは、Primary Columnでサポートされている2つのデータ型です。TextがPrimary Columnの場合、Text length for Primary Keyを指定して、未使用のスペースを不必要に割り当てないことで、data extensionのパフォーマンスを最適化できます。
- 新しいData Extensionを作成する際に各列のデータ型を定義するには、Data Type Mappingを使用します。
- data extensionが送信可能な場合は、Is Sendableオプションを選択します。
- Subscriber KeyまたはEmail AddressでSendable Ruleを設定します。
- data extensionの送信可能なプロパティとしてSendable Columnを選択します。

- data extensionのData Operationを選択します
- 新しいレコードがある場合は追加し、レコードが重複している場合は更新するにはUpsert
- 各新しいエクスポートでレコードを削除して完全に置き換えるにはReplace 置き換えられたデータは回復できません。
16. Doneを選択します。
- Runを選択してクエリを実行します。
- クエリ結果が設定されたdata extensionに書き込まれていることを確認します。

Salesforce Marketing Cloud V2 Export統合にはタイムゾーン設定がないため、統合はSFMCアカウントのタイムゾーン設定を使用します。
You can also send segment data to the target platform by creating an activation in the Audience Studio.
- Navigate to Audience Studio.
- Select a parent segment.
- Open the target segment, right-mouse click, and then select Create Activation.
- In the Details panel, enter an Activation name and configure the activation according to the previous section on Configuration Parameters.
- Customize the activation output in the Output Mapping panel.

- Attribute Columns
- Select Export All Columns to export all columns without making any changes.
- Select + Add Columns to add specific columns for the export. The Output Column Name pre-populates with the same Source column name. You can update the Output Column Name. Continue to select + Add Columnsto add new columns for your activation output.
- String Builder
- + Add string to create strings for export. Select from the following values:
- String: Choose any value; use text to create a custom value.
- Timestamp: The date and time of the export.
- Segment Id: The segment ID number.
- Segment Name: The segment name.
- Audience Id: The parent segment number.
- + Add string to create strings for export. Select from the following values:
- Set a Schedule.

- Select the values to define your schedule and optionally include email notifications.
- Select Create.
If you need to create an activation for a batch journey, review Creating a Batch Journey Activation.
Salesforce Marketing Cloud V2エクスポート統合で使用可能な設定オプションを以下の表に示します。
| Configuration name | Description | Type | Sample value |
|---|---|---|---|
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/ |
folder_path | Data Extensionをエクスポートするフォルダパス フォルダパスは以下の要件を満たす必要があります:
| string | /Data Extensions/FolderPath2/FolderPath3/FolderPath3 |
create_folder_if_not_exists | folder_pathに新しいフォルダを作成するかどうかを示すフラグ folder_pathが提供されている(かつ空でない)場合にのみ有効 | boolean デフォルトはfalse | true (パスで指定されたすべてのディレクトリが作成されます。既に存在する場合、またはパスの一部が無効な場合を除く) false (存在しない場合、新しいフォルダを作成しない) |
de_name | Data Extension名 | string | data_extension_name |
create_new_de | data extensionが存在しない場合に新しいdata extensionを作成するかどうかを示すフラグ | boolean デフォルトはfalse | true (DEが存在しない場合は新しいDEを作成) false (DEが存在しない場合は新しいDEを作成しない) |
primary_column | 主列の名前 (create_new_de=trueの場合は必須) 1列のみ指定できます。 | string | |
primary_text_length | 主列として選択された場合のテキストフィールドの長さ | integer | max: 4000, min: 10 (デフォルト: 4000) |
column_options | create_new_de=trueの場合にのみ適用されます。 新しいData Extensionの各列のデータ型を指定します。 サポートされているデータ型: TEXT, NUMBER, DATE, BOOLEAN, EMAILADDRESS, PHONE, DECIMAL, LOCALE, BASE16ENCRYPTED, BASE16ENCRYPTEDEMAIL | string | col1:TEXT(100);col2:NUMBER;col3:DECIMAL(18,2);col4:DATE |
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 |
data_operation | 挿入前にDE内のデータをクリアするかどうかを決定 | string デフォルトはupsert | upsert, replace |
async | SFMCから非同期または同期APIを使用するかを示すフラグ | boolean デフォルトはfalse | true (非同期APIを使用) false (同期APIを使用) |
| 挿入エラーがある場合に実行を続けるかどうかを示すフラグ (同期APIにのみ適用) (ジョブはSFMCサーバー側エラーが発生した場合にのみ続行されます。Treasure Data側でエラーが発生した場合(誤った認証情報、レコードの無効な形式など)、ジョブはエラーで失敗します) falseに設定されている場合、Salesforce Marketing Cloud側のAPI動作により、エクスポートは部分的にレコードを正常に送信できる可能性があります。 コネクタが101レコードをエクスポートすると仮定すると => これは3つのバッチ(50, 50, 1)に分割されます:
| boolean デフォルトはtrue |
|
records_per_batch | 1回のAPI呼び出しで送信されるレコード数。 (このオプションは非同期APIにのみ適用されます。) | integer | max: 32000 (デフォルト), min: 100 |
Enhanced packageを使用してdata extensionをupsertするために同期APIを使用する設定例。
out:
type: salesforce_marketing_cloud_v2
client_id: Th1s1s4n3x4mpl3Cl13nt1ds
client_secret: Th1s1s4F4k3dCl13ntS3cr3t
auth_type: v2
auth_uri: https://th1s1sf4k3d1nst4nc3h0st.auth.marketingcloudapis.com/
de_name: data_extension_name
continue_on_failure: falseEnhanced packageを使用してdata extensionをupsertするために非同期APIを使用する設定例。
out:
type: salesforce_marketing_cloud_v2
client_id: Th1s1s4n3x4mpl3Cl13nt1ds
client_secret: Th1s1s4F4k3dCl13ntS3cr3t
auth_type: v2
auth_uri: https://th1s1sf4k3d1nst4nc3h0st.auth.marketingcloudapis.com/
de_name: data_extension_name
async: trueEnhanced packageを使用してdata extensionをupsertし、存在しない場合は新しいSendable data Extensionを作成するために非同期APIを使用する設定例。
out:
type: salesforce_marketing_cloud_v2
client_id: Th1s1s4n3x4mpl3Cl13nt1ds
client_secret: Th1s1s4F4k3dCl13ntS3cr3t
auth_type: v2
auth_uri: https://th1s1sf4k3d1nst4nc3h0st.auth.marketingcloudapis.com/
de_name: data_extension_name
create_new_de: true
primary_column: primary_key
primary_text_length: 32
column_options: col1:TEXT(100);col2:NUMBER;col3:DECIMAL(18,2);col4:DATE
is_sendable: true
sendable_column: mytext
sendable_rule: Subscriber Key
async: true
records_per_batch: 32000特定のフォルダにdata extensionをエクスポートするための設定例
out:
type: salesforce_marketing_cloud_v2
client_id: xxxxxxxxxxxxxxxxxxxxxxxxx
client_secret: xxxxxxxxxxxxxxxxxxxxxxxxx
auth_type: v2
auth_uri: https://th1s1sf4k3d1nst4nc3h0st.auth.marketingcloudapis.com/
folder_path: /Data Extensions/FolderPath2/FolderPath3/FolderPath3
create_folder_if_not_exists: true
de_name: data_extension_name
create_new_de: true
primary_column: primary_key
primary_text_length: 32
column_options: col1:TEXT(100);col2:NUMBER;col3:DECIMAL(18,2);col4:DATE
is_sendable: true
sendable_column: mytext
sendable_rule: Subscriber Key
async: true
records_per_batch: 32000- コネクタはHTTPS経由でSFMC v2サーバー/インスタンスエンドポイントと通信します。
- HTTPSおよびSSL/TLS暗号化はSFMC v2サーバーによって強制され、処理前にコネクタによってチェックされます。