Treasure Dataは、ユーザーセグメントをSalesforce Marketing Cloudに公開し、顧客にパーソナライズされたメールを送信できるようにします。Web、モバイル、CRM、その他のデータソースからのファーストパーティデータを使用して、データドリブンのメールキャンペーンを実行できます。このトピックでは、CLIを使用してこれを実現する方法について説明します。
最新のTreasure Data Toolbeltをインストールできます。
$ td --version
0.15.3Salesforce Marketing Cloudアカウントのアクセス情報を含む設定ファイル(例: load.yml)を、以下の例のように準備します。
in:
type: salesforce_marketing_cloud_v2
client_id: <client_id>
client_secret: <client_secret>
auth_type: v2
auth_uri: <auth_uri>
account_id: <account_id>
target: <target_name>
data_extension_names: <data_extension_names>
shared_data_extension: false
ensure_latest_data: false
incremental: false
maximum_retries: 7
initial_retry_interval_millis: 1000
maximum_retry_interval_millis: 120000
filters:
- type: add_time
to_column:
name: time
type: timestamp
from_value:
mode: upload_time
- type: rename
rules:
- rule: upper_to_lower
- rule: character_types
pass_types: [ "a-z", "0-9" ]
pass_characters: "_"
replace: "_"
out:
type: td
apikey: <td_api_key>
endpoint: <td_endpoint>
database: <database>
table: <table>
time_column: time
mode: replace
default_timestamp_format: '%d/%m/%Y'この例では、Salesforce Marketing CloudのCampaignデータソースをダンプします:
client_id: Salesforce Marketing Cloudのクライアントid。client_secret: Salesforce Marketing Cloudのクライアントシークレット。target: インポートするSalesforce Marketing Cloudのエンティティオブジェクト。
td connector:previewコマンドを使用して、インポートするデータをプレビューできます。
$ td connector:preview load.ymlロードジョブを送信します。データサイズによっては数時間かかる場合があります。ユーザーは、データが保存されるデータベースとテーブルを指定する必要があります。
Treasure Dataのストレージは時間でパーティション化されているため、--time-columnオプションを指定することを推奨します(データパーティショニングも参照してください)。オプションが指定されていない場合、データコネクタは最初のlongまたはtimestampカラムをパーティショニング時間として選択します。--time-columnで指定するカラムのタイプは、longまたはtimestamp型である必要があります。
データに時間カラムがない場合は、add_timeフィルターオプションを使用して追加できます。詳細はadd_timeフィルタープラグインを参照してください。
$ td connector:issue load.yml --database td_sample_db --table td_sample_table --time-column modifieddate上記のコマンドは、*database(td_sample_db)とtable(td_sample_table)*がすでに作成されていることを前提としています。データベースまたはテーブルがTDに存在しない場合、このコマンドは成功しません。したがって、データベースとテーブルを手動で作成するか、td connector:issueコマンドで--auto-create-tableオプションを使用してデータベースとテーブルを自動作成してください:
$ td connector:issue load.yml --database td_sample_db --table td_sample_table --time-column modifieddate --auto-create-table"--time-column"オプションで、時間フォーマットカラムを「パーティショニングキー」に割り当てることができます。
定期的なSalesforce Marketing Cloudインポートのために、データコネクタの定期実行をスケジュールできます。高可用性を確保するために、スケジューラを慎重に設定しています。この機能を使用することで、ローカルデータセンターでcronデーモンを使用する必要がなくなります。
新しいスケジュールは、td connector:createコマンドを使用して作成できます。スケジュール名、cron形式のスケジュール、データが保存されるデータベースとテーブル、およびデータコネクタ設定ファイルが必要です。
$ td connector:create \
daily_salesforce_marketing_cloud_import \
"10 0 * * *" \
td_sample_db \
td_sample_table \
load.ymlcronパラメータは、@hourly、@daily、@monthlyの3つのオプションも受け付けます。デフォルトでは、スケジュールはUTCタイムゾーンで設定されます。-tまたは--timezoneオプションを使用して、タイムゾーンでスケジュールを設定できます。--timezoneオプションは、'Asia/Tokyo'、'America/Los_Angeles'などの拡張タイムゾーン形式のみをサポートします。PST、CSTなどのタイムゾーン略語は*サポートされておらず*、予期しないスケジュールになる可能性があります。
Treasure Dataは、日付フィールドを持つData Extensionsのインクリメンタルローディングをサポートしています。
incremental: trueが設定されている場合、データコネクタは指定された日付フィールドのfrom_dateとfetch_daysで指定された範囲に応じてレコードをロードします。
例:
incremental_column_name: mydatefield
from_date: "2016-09-01T00:00:00.000Z"
fetch_days: 2- 1回目の反復: データコネクタは2016年9月1日00:00:00 UTCから2016年9月3日00:00:00 UTCまでのレコードを取得します
- 2回目の反復: データコネクタは次の利用可能な2日間、2016年9月3日00:00:00 UTCから2016年9月5日00:00:00 UTCまでのレコードを取得します。このプロセスは各反復ごとに繰り返されます。
- インクリメントに現在の日付が含まれる場合、各完全な時間期間が利用可能になるたびに追加のレコードが取得されます。
incremental: falseが設定されている場合、データコネクタは指定されたターゲットのすべてのレコードをロードします。これは1回限りのアクティビティです。
Treasure Dataは、イベント日付に基づくEmail Eventsのインクリメンタルローディングをサポートしています。
incremental: trueが設定されている場合
- 1回目の反復: コネクタは指定された開始時間(設定されていない場合はすべての時間から)から指定された終了時間(設定されていない場合はジョブが実行予定の時間まで)までのデータをロードします
- 2回目の反復: コネクタは前回の終了時間からジョブがスケジュールされた時間までのデータをロードします
incremental: falseが設定されている場合、データコネクタは指定されたターゲットのすべてのレコードをロードします。これは1回限りのアクティビティです。
Legacy Packageを使用するCampaignターゲットの場合
in:
type: salesforce_marketing_cloud_v2
client_id: XXXXXX
client_secret: XXXXXX
auth_type: v1
tenant_auth_uri: https://your_tenant_specific_endpoint.auth.marketingcloudapis.com
target: campaign
out:
...Enhanced Packageを使用するCampaignターゲットの場合
in:
type: salesforce_marketing_cloud_v2
client_id: XXXXXX
client_secret: XXXXXX
auth_type: v2
auth_uri: https://your_tenant_specific_endpoint.auth.marketingcloudapis.com
target: campaign
out:
...| パラメータ | 説明 | デフォルト値 |
|---|---|---|
| type | salesforce_marketing_cloud_v2である必要があります | |
| client_id | Salesforce Marketing CloudのClient ID | |
| client_secret | Salesforce Marketing CloudのClient Secret | |
| auth_type | パッケージタイプ これは列挙型(v1, v2)で、v1はLegacy package、v2はEnhanced Packageです | v1 |
| tenant_auth_uri | テナント認証ベースURI(auth_type = v1の場合のみこのオプションを入力) これは2022年9月以降必須です。Marketing Cloudはレガシーエンドポイント[https://*.exacttargetapis.com]を廃止する予定です。 詳細: https://help.salesforce.com/s/articleView?id=000356497, https://help.salesforce.com/s/articleView?id=000356498 | |
| auth_uri | 認証ベースURI(auth_type = v2の場合のみこのオプションを入力) |
Legacy Packageを使用するContactターゲットの場合
in:
type: salesforce_marketing_cloud_v2
client_id: XXXXXX
client_secret: XXXXXX
auth_type: v1
tenant_auth_uri: https://your_tenant_specific_endpoint.auth.marketingcloudapis.com
target: contact
contact_page_size: 50
contact_attributes_request_limit: 100
contact_multiple_requests: true
out:
...Enhanced Packageを使用するContactターゲットの場合
in:
type: salesforce_marketing_cloud_v2
client_id: XXXXXX
client_secret: XXXXXX
auth_type: v2
auth_uri: https://your_tenant_specific_endpoint.auth.marketingcloudapis.com
target: contact
contact_page_size: 50
contact_attributes_request_limit: 100
contact_multiple_requests: true
out:
...| パラメータ | 説明 | デフォルト値 |
|---|---|---|
| type | salesforce_marketing_cloud_v2である必要があります | |
| client_id | Salesforce Marketing CloudのClient ID | |
| client_secret | Salesforce Marketing CloudのClient Secret | |
| auth_type | パッケージタイプ これは列挙型(v1, v2)で、v1はLegacy package、v2はEnhanced Packageです | v1 |
| tenant_auth_uri | テナント認証ベースURI(auth_type = v1の場合のみこのオプションを入力) これは2022年9月以降必須です。Marketing Cloudはレガシーエンドポイント[https://*.exacttargetapis.com]を廃止する予定です。 詳細: https://help.salesforce.com/s/articleView?id=000356497, https://help.salesforce.com/s/articleView?id=000356498 | |
| auth_uri | 認証ベースURI(auth_type = v2の場合のみこのオプションを入力) | |
| contact_attributes_request_limit | 単一リクエストで各コンタクトに対して取り込む属性の数。属性の数がこの値より大きい場合、複数のリクエストに分割されます | 100 |
| contact_multiple_requests | 非常に多くの属性を持つコンタクト詳細を複数のリクエストで取り込むためのプラグインを有効にします(これは属性の数が100より大きい場合にのみ影響します) | false |
| contact_multiple_requests | 非常に多くの属性を持つコンタクト詳細を複数のリクエストで取り込むためのプラグインを有効にします(これは属性の数が100より大きい場合にのみ影響します) | false |
Legacy Packageを使用するData Extensionターゲットの場合
in:
type: salesforce_marketing_cloud_v2
client_id: XXXXXX
client_secret: XXXXXX
auth_type: v1
tenant_auth_uri: https://your_tenant_specific_endpoint.auth.marketingcloudapis.com
target: data_extension
data_extension_name: data_extension_1
incremental: true
shared_data_extension: true
incremental_column_name: date
from_date: "2016-09-01T00:00:00.000Z"
fetch_days: 1
out:
type: td
apikey: td_api_key
endpoint: td_endpoint
database: database
table: table
time_column: time
mode: replace
default_timestamp_format: '%d/%m/%Y'Enhanced Packageを使用するData Extensionターゲットの場合
in:
type: salesforce_marketing_cloud_v2
client_id: XXXXXX
client_secret: XXXXXX
auth_type: v2
auth_uri: https://your_tenant_specific_endpoint.auth.marketingcloudapis.com
target: data_extension
data_extension_name: data_extension_1
log_debug_info: false
incremental: true
shared_data_extension: true
incremental_column_name: date
from_date: "2016-09-01T00:00:00.000Z"
fetch_days: 1
out:
type: td
apikey: <td_api_key>
endpoint: <td_endpoint>
database: <database>
table: <table>
time_column: time
mode: replace
default_timestamp_format: '%d/%m/%Y'| パラメータ | 説明 | デフォルト値 |
|---|---|---|
| type | salesforce_marketing_cloud_v2である必要があります | |
| client_id | Salesforce Marketing CloudのClient ID | |
| client_secret | Salesforce Marketing CloudのClient Secret | |
| auth_type | パッケージタイプ これは列挙型(v1, v2)で、v1はLegacy package、v2はEnhanced Packageです | v1 |
| tenant_auth_uri | テナント認証ベースURI(auth_type = v1の場合のみこのオプションを入力) これは2022年9月以降必須です。Marketing Cloudはレガシーエンドポイント[https://*.exacttargetapis.com]を廃止する予定です。 詳細: https://help.salesforce.com/s/articleView?id=000356497, https://help.salesforce.com/s/articleView?id=000356498 | |
| auth_uri | 認証ベースURI(auth_type = v2の場合のみこのオプションを入力) | |
| shared_data_extension | 共有データ拡張からデータを取り込む場合は、このフラグをtrueに設定します | false |
| ensure_latest_data | 有効にすると、データラグ(SFMCで取り込まれたデータと現在のデータ)が2500レコードを超える場合、ジョブが失敗します | false |
| log_debug_info | 有効にすると、リクエストIDを含む詳細なデバッグ情報がログに記録されます(デフォルト: false) | false |
| incremental | 各スケジュール間でより新しいデータのみを取得したい場合は、このフラグをtrueに設定します | false |
| incremental_column_name | インクリメンタルローディングに使用されるカラム。incremental = trueを設定する場合は必須です | null |
| from_date | この日付からデータを取り込むように設定します | null |
| fetch_days | 取り込む期間はfrom_dateからfrom_date + fetch_daysです | 1 |
| fetch_days | 取り込む期間はfrom_dateからfrom_date + fetch_daysです | 1 |
Legacy Packageを使用するEmail Eventターゲットの場合
in:
type: salesforce_marketing_cloud_v2
client_id: XXXXXX
client_secret: XXXXXX
auth_type: v1
tenant_auth_uri: https://your_tenant_specific_endpoint.auth.marketingcloudapis.com
target: email_event
log_debug_info: false
search_term: "email name"
search_mode: "exact"
email_event_types:
- value : all
start_time: "2019-03-26T07:20:00.000Z"
end_time: "2019-03-26T07:53:00.000Z"
incremental: true
out:
...Enhanced Packageを使用するEmail Eventターゲットの場合
in:
type: salesforce_marketing_cloud_v2
client_id: XXXXXX
client_secret: XXXXXX
auth_type: v2
auth_uri: https://your_tenant_specific_endpoint.auth.marketingcloudapis.com
target: email_event
log_debug_info: false
search_term: "email name"
search_mode: "exact"
email_event_types:
- value : all
start_time: "2019-03-26T07:20:00.000Z"
end_time: "2019-03-26T07:53:00.000Z"
incremental: true
emails_per_batch: 1
out:
...| パラメータ | 説明 | デフォルト値 |
|---|---|---|
| type | salesforce_marketing_cloud_v2である必要があります | |
| client_id | Salesforce Marketing CloudのClient ID | |
| client_secret | Salesforce Marketing CloudのClient Secret | |
| auth_type | パッケージタイプ これは列挙型(v1, v2)で、v1はLegacy package、v2はEnhanced Packageです | v1 |
| tenant_auth_uri | テナント認証ベースURI(auth_type = v1の場合のみこのオプションを入力) これは2022年9月以降必須です。Marketing Cloudはレガシーエンドポイント[https://*.exacttargetapis.com]を廃止する予定です。 詳細: https://help.salesforce.com/s/articleView?id=000356497, https://help.salesforce.com/s/articleView?id=000356498 | |
| auth_uri | 認証ベースURI(auth_type = v2の場合のみこのオプションを入力) | |
| target | email_eventである必要があります(この場合) | |
| log_debug_info | 有効にすると、リクエストIDを含む詳細なデバッグ情報がログに記録されます(デフォルト: false) | false |
| search_term | 取り込みたいメールの名前 | null |
| search_mode | 名前マッチングパターンのモード。exactまたはpartialのみである必要があります | exact |
| email_event_types | インポートしたいイベントタイプのリスト。有効なオプションは次のとおりです: - value : all - value : bounce - value : click - value : forward - value : forwardOptIn - value : open - value : sent - value : survey - value : unsub | null |
| start_time | この時間からデータを取り込むように設定します | null |
| end_time | この時間までデータを取り込むように設定します | null |
| incremental | 各スケジュール間でより新しいデータのみを取得したい場合は、このフラグをtrueに設定します | false |
| emails_per_batch | バッチあたりのメール数。 大量のイベントの場合、SFMCのパフォーマンスを微調整するために使用されます。 許容値の範囲は1〜10000です | 2500 |
| maximum_time_out | 接続の最大タイムアウト(秒)。 大量のイベントの場合、SFMCのパフォーマンスを微調整するために使用されます。 許容値の範囲は60〜900です | 300 |
Legacy Packageを使用するEmail Events Onlyターゲットの場合
in:
type: salesforce_marketing_cloud_v2
client_id: XXXXXX
client_secret: XXXXXX
auth_type: v1
tenant_auth_uri: https://your_tenant_specific_endpoint.auth.marketingcloudapis.com
target: email_event_only
log_debug_info: false
email_event_types:
- value : all
start_time: "2019-03-26T07:20:00.000Z"
end_time: "2019-03-26T07:53:00.000Z"
incremental: true
out:
...
Enhanced Packageを使用するEmail Events Onlyターゲットの場合
in:
type: salesforce_marketing_cloud_v2
client_id: XXXXXX
client_secret: XXXXXX
auth_type: v2
auth_uri: https://your_tenant_specific_endpoint.auth.marketingcloudapis.com
target: email_event_only
log_debug_info: false
email_event_types:
- value : all
start_time: "2019-03-26T07:20:00.000Z"
end_time: "2019-03-26T07:53:00.000Z"
incremental: true
out:
...| パラメータ | 説明 | デフォルト値 |
|---|---|---|
| type | salesforce_marketing_cloud_v2である必要があります | |
| client_id | Salesforce Marketing CloudのClient ID | |
| client_secret | Salesforce Marketing CloudのClient Secret | |
| auth_type | パッケージタイプ これは列挙型(v1, v2)で、v1はLegacy package、v2はEnhanced Packageです | v1 |
| tenant_auth_uri | テナント認証ベースURI(auth_type = v1の場合のみこのオプションを入力) これは2022年9月以降必須です。Marketing Cloudはレガシーエンドポイント[https://*.exacttargetapis.com]を廃止する予定です。 詳細: https://help.salesforce.com/s/articleView?id=000356497, https://help.salesforce.com/s/articleView?id=000356498 | |
| auth_uri | 認証ベースURI(auth_type = v2の場合のみこのオプションを入力) | |
| target | email_event_onlyである必要があります(この場合) | |
| log_debug_info | 有効にすると、リクエストIDを含む詳細なデバッグ情報がログに記録されます(デフォルト: false) | false |
| email_event_types | インポートしたいイベントタイプのリスト。有効なオプションは次のとおりです: - value : all - value : bounce - value : click - value : forward - value : forwardOptIn - value : open - value : sent - value : survey - value : unsub | null |
| start_time | この時間からデータを取り込むように設定します | null |
| end_time | この時間までデータを取り込むように設定します | null |
| incremental | 各スケジュール間でより新しいデータのみを取得したい場合は、このフラグをtrueに設定します | false |
| maximum_time_out | 接続の最大タイムアウト(秒)。 大量のイベントの場合、SFMCのパフォーマンスを微調整するために使用されます。 許容値の範囲は60〜900です |
Legacy Packageを使用するSendターゲットの場合
in:
type: salesforce_marketing_cloud_v2
client_id: XXXXXX
client_secret: XXXXXX
auth_type: v1
tenant_auth_uri: https://your_tenant_specific_endpoint.auth.marketingcloudapis.com
target: send
log_debug_info: false
start_time: "2019-03-26T07:20:00.000Z"
end_time: "2019-03-26T07:53:00.000Z"
incremental: true
out:
...Enhanced Packageを使用するEmail Events Onlyターゲットの場合
in:
type: salesforce_marketing_cloud_v2
client_id: XXXXXX
client_secret: XXXXXX
auth_type: v2
auth_uri: https://your_tenant_specific_endpoint.auth.marketingcloudapis.com
target: send
log_debug_info: false
start_time: "2019-03-26T07:20:00.000Z"
end_time: "2019-03-26T07:53:00.000Z"
incremental: true
out:
...| パラメータ | 説明 | デフォルト値 |
|---|---|---|
| type | salesforce_marketing_cloud_v2である必要があります | |
| client_id | Salesforce Marketing CloudのClient ID | |
| client_secret | Salesforce Marketing CloudのClient Secret | |
| auth_type | パッケージタイプ これは列挙型(v1, v2)で、v1はLegacy package、v2はEnhanced Packageです | v1 |
| tenant_auth_uri | テナント認証ベースURI(auth_type = v1の場合のみこのオプションを入力) これは2022年9月以降必須です。Marketing Cloudはレガシーエンドポイント[https://*.exacttargetapis.com]を廃止する予定です。 詳細: https://help.salesforce.com/s/articleView?id=000356497, https://help.salesforce.com/s/articleView?id=000356498 | |
| auth_uri | 認証ベースURI(auth_type = v2の場合のみこのオプションを入力) | |
| target | sendである必要があります(この場合) | |
| log_debug_info | 有効にすると、リクエストIDを含む詳細なデバッグ情報がログに記録されます(デフォルト: false) | false |
| start_time | この時間からデータを取り込むように設定します | null |
| end_time | この時間までデータを取り込むように設定します | null |
| incremental | 各スケジュール間でより新しいデータのみを取得したい場合は、このフラグをtrueに設定します | false |
| maximum_time_out | 接続の最大タイムアウト(秒)。 大量のイベントの場合、SFMCのパフォーマンスを微調整するために使用されます。 許容値の範囲は60〜900です |