Skip to content
Last updated

Salesforce Marketing Cloud V2 Export Integration

Treasure Dataは、ユーザーセグメントをSalesforce Marketing Cloud (ExactTarget)に公開し、顧客にパーソナライズされたメールを送信できるようにします。Web、モバイル、CRM、およびその他のデータソースからのファーストパーティデータを使用して、データ駆動型のメールキャンペーンを実行できます。

サンプルワークフローについては、Treasure Boxesをご覧ください。

Treasure Dataは、ジョブ結果をSalesforce Marketing Cloud(SFMC)に書き込むための2つの方法、SFTPとSFMCプラグインを提供しています。

このSFMCプラグインは、小規模および中規模のデータセットに使用できます。大規模なデータセットの場合は、SFTPの使用をお勧めします。

同期または非同期API

この統合は、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でサポートケースを作成して、有効にしてもらうこともできます。

Data Extension内の既存のオーディエンスデータを置換またはアップサート

この統合は、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列のみがサポートされます。複数の列を指定するとエラーが発生します。

Salesforce Marketing Cloudでインストール済みアプリを作成

Treasure Dataは、Salesforce Marketing CloudでLegacyEnhanced Packageの両方をサポートしています。

Enhanced Packageの作成を強くお勧めします。

Enhanced Functionality Packageの作成

  1. Salesforce Marketing Cloudアカウントにログオンします。
  2. Welcome Pageで、右上隅の名前を選択します。Setupを選択します。

3. 新しい画面の左側メニューで、App > Installed Packagesに移動します。

4. Installed Packages画面で、Newを選択します。

5. NameDescriptionを入力します。 6. Saveを選択します。

7. Add Componentを選択します。 8. API Integrationを選択します。 9. Nextを選択します。

10. Server-to-Serverを選択します。 11. Nextを選択します。

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

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

TD Consoleの使用

TDクエリ結果をSalesforce Marketing Cloud Data Extensionにエクスポートするには、次の手順を実行します:

新しいデータ接続を作成

データ接続を設定する際、統合にアクセスするための認証を提供します。Treasure Dataでは、認証を設定してから、ソース情報を指定します。

  1. TD Consoleを開きます。
  2. Integrations Hub > Catalogに移動します。
  3. Salesforce Marketing Cloud Version 2を検索して選択します。

4. Enhanced Package Integrationを選択します。

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

接続に名前を付ける

  1. 接続の名前を入力します。
  2. Doneを選択します。

Export Resultsの設定

この手順では、クエリを作成または再利用します。クエリで、データ接続を設定します。

場合によっては、クエリで列マッピングを定義する必要があります。

  1. TD Consoleを開きます。
  2. Data Workbench > Queries > New Queryに移動します。

  1. クエリエディタでクエリを入力します。例えば:
SELECT
 name as customer_name,
 email as primary_key
FROM
 data_extension
limit 10

主キーはテキストフィールドにすることができます。

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

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

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

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

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

  1. data extensionのData Operationを選択します
  • 新しいレコードがある場合は追加し、レコードが重複している場合は更新するにはUpsert
  • 各新しいエクスポートでレコードを削除して完全に置き換えるにはReplace 置き換えられたデータは回復できません

16. Doneを選択します。

クエリの実行

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

Salesforce Marketing Cloud V2 Export統合にはタイムゾーン設定がないため、統合はSFMCアカウントのタイムゾーン設定を使用します。

Activate a Segment in Audience Studio

You can also send segment data to the target platform by creating an activation in the Audience Studio.

  1. Navigate to Audience Studio.
  2. Select a parent segment.
  3. Open the target segment, right-mouse click, and then select Create Activation.
  4. In the Details panel, enter an Activation name and configure the activation according to the previous section on Configuration Parameters.
  5. 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.
  1. Set a Schedule.

  • Select the values to define your schedule and optionally include email notifications.
  1. Select Create.

If you need to create an activation for a batch journey, review Creating a Batch Journey Activation.

プラグインの設定とオプション

利用可能な設定

Salesforce Marketing Cloud V2エクスポート統合で使用可能な設定オプションを以下の表に示します。

Configuration nameDescription TypeSample value
client_idインストール済みパッケージのクライアントキーstringTh1s1s4n3x4mpl3Cl13nt1ds
client_secretインストール済みパッケージのクライアントシークレットstringTh1s1s4F4k3dCl13ntS3cr3t
auth_type認証タイプstringv1 (legacy packageの場合) v2 (enhanced packageの場合)
auth_uri認証URI (auth_type=v2の場合は必須)stringhttps://th1s1sf4k3d1nst4nc3h0st.auth.marketingcloudapis.com/
folder_pathData Extensionをエクスポートするフォルダパス フォルダパスは以下の要件を満たす必要があります:
  • スラッシュで始まる
  • 最大8レベルのフォルダを持つ
  • 複数の連続したスラッシュがない
  • フォルダパス内のフォルダ名は128文字を超えることはできません
string
/Data Extensions/FolderPath2/FolderPath3/FolderPath3
create_folder_if_not_existsfolder_pathに新しいフォルダを作成するかどうかを示すフラグ folder_pathが提供されている(かつ空でない)場合にのみ有効boolean デフォルトはfalsetrue (パスで指定されたすべてのディレクトリが作成されます。既に存在する場合、またはパスの一部が無効な場合を除く) false (存在しない場合、新しいフォルダを作成しない)
de_nameData Extension名stringdata_extension_name
create_new_dedata extensionが存在しない場合に新しいdata extensionを作成するかどうかを示すフラグboolean デフォルトはfalsetrue (DEが存在しない場合は新しいDEを作成) false (DEが存在しない場合は新しいDEを作成しない)
primary_column主列の名前 (create_new_de=trueの場合は必須) 1列のみ指定できます。string
primary_text_length主列として選択された場合のテキストフィールドの長さintegermax: 4000, min: 10 (デフォルト: 4000)
column_optionscreate_new_de=trueの場合にのみ適用されます。 新しいData Extensionの各列のデータ型を指定します。 サポートされているデータ型: TEXT, NUMBER, DATE, BOOLEAN, EMAILADDRESS, PHONE, DECIMAL, LOCALE, BASE16ENCRYPTED, BASE16ENCRYPTEDEMAILstringcol1:TEXT(100);col2:NUMBER;col3:DECIMAL(18,2);col4:DATE
is_sendable作成されたDEが送信可能かどうかを示すフラグboolean デフォルトはfalsetrue false
sendable_ruleアカウントで設定された送信可能なビジネスルール (is_sendable=trueの場合は必須)stringSubscriber Key (ビジネスルールがSubscriber Keyの場合) Email Address (ビジネスルールがEmail Addressの場合)
sendable_column送信可能なプロパティとして使用する列名 (is_sendable=trueの場合は必須)stringmy_sendable_column
data_operation挿入前にDE内のデータをクリアするかどうかを決定string デフォルトはupsertupsert, replace
asyncSFMCから非同期または同期APIを使用するかを示すフラグboolean デフォルトはfalsetrue (非同期APIを使用) false (同期APIを使用)

continue_on_failure

挿入エラーがある場合に実行を続けるかどうかを示すフラグ (同期APIにのみ適用) (ジョブはSFMCサーバー側エラーが発生した場合にのみ続行されます。Treasure Data側でエラーが発生した場合(誤った認証情報、レコードの無効な形式など)、ジョブはエラーで失敗します)

falseに設定されている場合、Salesforce Marketing Cloud側のAPI動作により、エクスポートは部分的にレコードを正常に送信できる可能性があります。

コネクタが101レコードをエクスポートすると仮定すると => これは3つのバッチ(50, 50, 1)に分割されます:

  • 最初のバッチが失敗した場合 => 101レコードすべてが更新されません
  • 2番目のバッチが失敗した場合 => 50レコードが更新され、51レコードが更新されません
  • 3番目のバッチが失敗した場合 => 100レコードが更新され、1レコードが更新されません

boolean デフォルトはtrue

true false

records_per_batch1回のAPI呼び出しで送信されるレコード数。 (このオプションは非同期APIにのみ適用されます。)integermax: 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: false

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
 async: true

Enhanced 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サーバーによって強制され、処理前にコネクタによってチェックされます。