Skip to content
Last updated

Dotdigital Export Integration

Dotdigital Engagement Cloudは、メール、SMS、ソーシャルメディア、プッシュ通知などを通じてデータトリガー型キャンペーンを送信するオムニチャネルマーケティングソリューションです。Treasure DataからDotdigitalにジョブ結果を直接書き込むことができます。

前提条件

  • TD Toolbeltを含むTreasure Dataの基本知識。
  • Dotdigitalのアカウント。
  • DotdigitalのAPIアカウント。

制限事項

  • Treasure Dataはキャンペーンを作成しません。
  • トランザクションメールアクションは、API呼び出しのレート制限にカウントされません。
  • dotdigital APIのレート制限(https://developer.dotdigital.com/docs/getting-started-with-the-api#restrictions)に従い、1回のUpload bulk contactsアクションには2回のAPI呼び出しが必要であり、これは全体のレート制限にカウントされます。

APIアカウントの取得

  1. DotDigitalにログインします。https://login.dotdigital.com/login.aspx?ReturnUrl=/に移動します。

  2. https://r1-app.dotdigital.com/access/apiに移動し、API usersタブを選択します。

  3. New userを選択します。DotDigitalからメールアドレスが提供されます。パスワードを追加して確認し、フォームを完成させます。説明はオプションです。

  4. Saveをクリックします。

TD Consoleで新しい接続を作成する

Treasure Dataでは、クエリを実行する前に、エクスポート用のデータ接続を作成して設定する必要があります。データ接続の一部として、統合にアクセスするための認証情報を提供します。

  1. TD Consoleを開きます。

  2. Integrations Hub > Catalogに移動します。

  3. Catalog画面の右端にある検索アイコンをクリックし、dotdigitalと入力します。

  4. dotdigitalコネクタにカーソルを合わせ、Create Authenticationを選択します。

  5. New Authenticationダイアログが開きます。

  6. Regionを選択します。API User NameとAPI User Passwordフィールドが自動入力されます。

  7. Continueを選択します。

  8. 接続の名前を入力します。

  9. Doneを選択します。

データ接続でエクスポート結果を設定する

次に、クエリを作成または再利用する必要があります。クエリでは、データ接続を設定します。クエリ内で列マッピングを定義する必要がある場合があります。

パラメータを指定して接続を設定する

  1. TD Consoleを開きます。

  2. Data Workbench > Queriesに移動します。

  3. データのエクスポートに使用する予定のクエリを選択します。

  4. クエリを実行します。

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

    Choose Integrationダイアログが開きます。

  6. 結果をエクスポートするために使用する接続を選択する際、2つのオプションがあります。

  • 既存の接続を使用する場合:

    • 検索ボックスに接続名を入力してフィルタリングします。
    • 接続を選択します。
  • 新しいDotdigital接続を作成する場合:

    • フィールド値を入力して新しい接続を作成します。

新しいDotdigital接続に必要な認証情報を入力します。以下のパラメータを設定します。

パラメータ要件説明
Export Mode必須データを移動する3つの異なる方法があります: - Transactional Email(デフォルト)。Dotdigitalでトリガー型キャンペーンの送信メールをトリガーします:各レコードに1通のメールを送信します。 - Bulk Contacts:レコードを連絡先としてDotdigitalにアップロードします。 - Unified Contacts:レコードを連絡先としてDotdigitalにアップロード/削除します。Bulk Contactsの強化版で、連絡先とその依存関係を一度にアップロード/削除できます。

Transactional EmailのExport Mode

パラメータ要件説明
Campaign ID必須トリガー型キャンペーンのID。
JSON Personalization Columnsオプションカンマで区切られたJSON列名。
Ignore Invalid Recordsオプション無効なレコードを無視してジョブを完了します。
  • サンプル設定

Bulk ContactsのExport Mode

パラメータ要件説明
Export Operation必須Bulk Contactsモードでのエクスポート操作 - Upload(デフォルト)。レコードをアップロードします。 - Delete。アドレス帳からIDで連絡先を削除します
Add to Address Bookオプションアドレス帳に追加します。
Address Book Identifier Modeオプション操作するアドレス帳の識別子モード: - Id(デフォルト)。 - Name。名前からIDを解決します
Address Book IDオプション操作するアドレス帳ID。このパラメータは以下の状況で必要です: - Export Operationが「Upload」で「Add to Address Book」が有効な場合 - Export Operationが「Delete」の場合
Create A New Address Book When Not Foundオプション指定された名前のアドレス帳が見つからない場合、その名前で新しいアドレス帳を作成します。
New Address Book Visibilityオプションアドレス帳の表示設定 - Private(デフォルト)。 - Public
Address Book Nameオプション操作するアドレス帳名。このパラメータは以下の状況で必要です: - Export Operationが「Upload」で「Add to Address Book」が有効な場合 - Export Operationが「Delete」の場合
Merge Optionオプション以下のマージオプションが利用可能です: - None(デフォルト)。マージしません。 - Update All。すべてのデータフィールドを更新します - update_all - Ignore Blank。クエリ結果セット内の空白値を無視します - ignore_blank - Skip Existing Non-Empty Fields。値を含むデータフィールドを更新しません - skip_fields
Ignore Invalid Recordsオプション無効なレコードを無視してジョブを完了します。
Enable Parallel Uploadオプション並列モードでジョブを実行します。
Thread Countオプション並列モードで実行されるスレッド数。
  • サンプル設定

Unified Contactsのエクスポートモード

パラメータ要件説明
Export Operation必須unified contactsモードでのエクスポート操作 - Upload (デフォルト)。レコードをunified contactsとしてアップロードします。 - Delete。連絡先を削除します(ハード削除)
Add to List (旧 Address Book)オプション連絡先をリストに追加します。
List Identifier Modeオプション操作対象のリスト識別子モード: - Id (デフォルト)。 - Name。名前からIDを解決します
List IDオプション操作対象のリストID。このパラメータは以下の状況で必要です: - Export Operationが「Upload」で「Add to List」が有効な場合 - Export Operationが「Delete」の場合
Create A New List When Not Foundオプション指定された名前のリストが見つからない場合、その名前で新しいリストを作成します。
New List Visibilityオプションリストの公開設定 - Private (デフォルト)。 - Public
List Nameオプション操作対象のリスト名。このパラメータは以下の状況で必要です: - Export Operationが「Upload」で「Add to List」が有効な場合 - Export Operationが「Delete」の場合
Merge Optionオプション以下のマージオプションが利用可能です: - overwrite (デフォルト)。常にすべてのフィールドを上書きします。 - overwriteIfEmpty。空のフィールドのみを上書きします。 - overwriteIfNotEmpty。新しい値が空でない場合に上書きします。
Ignore Invalid Recordsオプション無効なレコードを無視してジョブを完了します。
  • サンプル設定

Uploadオペレーション

Deleteオペレーション

Dotdigitalにデータを投入するためのクエリの例

Treasure Dataから以下のクエリを実行し、結果をDotdigitalへの接続にエクスポートします。トランザクショナルメールでは大文字小文字を区別する列名を使用しますが、バルク連絡先では大文字小文字を区別しない列名を使用します。

  • Transactional Emailsのクエリ
SELECT an_email_column AS email,
another_first_name AS FIRSTNAME
another_first_name AS LASTNAME
FROM your_table;
  • Bulk Contacts Uploadのクエリ
SELECT an_email_column AS email,
another_first_name AS firstname
another_first_name AS lastname
FROM your_table;
  • Bulk Contacts Deleteのクエリ

SELECT contact_id AS id FROM your_table;

  • Unified Contactsのクエリ

Uploadオペレーション

SELECT match_identifier, contact_id, email, mobile_number, channel_properties, consent_records, firstname, lastname FROM your_table;

Deleteオペレーション

SELECT match_identifier, contact_id, email, mobile_number FROM your_table;

データモデル

列名必須データ型備考
match_identifierはいstring- 値: contactId, email, mobileNumber - 大文字小文字を区別します
contact_id- match_identifier列の値に応じて、これらの識別子のいずれかが必要です - 残りの列はオプションです。int64
emailstring
mobile_numberstring
channel_propertiesいいえJSON形式の文字列
preferencesいいえJSON形式の文字列
consent_recordsいいえJSON形式の文字列
その他の列いいえstringdatafieldにマッピングされます

(オプション) Query Export ジョブをスケジュールする

Scheduled Jobs と Result Export を使用して、指定したターゲット宛先に出力結果を定期的に書き込むことができます。

Treasure Data のスケジューラー機能は、高可用性を実現するために定期的なクエリ実行をサポートしています。

2 つの仕様が競合するスケジュール仕様を提供する場合、より頻繁に実行するよう要求する仕様が優先され、もう一方のスケジュール仕様は無視されます。

例えば、cron スケジュールが '0 0 1 * 1' の場合、「月の日」の仕様と「週の曜日」が矛盾します。前者の仕様は毎月 1 日の午前 0 時 (00:00) に実行することを要求し、後者の仕様は毎週月曜日の午前 0 時 (00:00) に実行することを要求するためです。後者の仕様が優先されます。

TD Console を使用してジョブをスケジュールする

  1. Data Workbench > Queries に移動します

  2. 新しいクエリを作成するか、既存のクエリを選択します。

  3. Schedule の横にある None を選択します。

  4. ドロップダウンで、次のスケジュールオプションのいずれかを選択します:

    ドロップダウン値説明
    Custom cron...Custom cron... の詳細を参照してください。
    @daily (midnight)指定されたタイムゾーンで 1 日 1 回午前 0 時 (00:00 am) に実行します。
    @hourly (:00)毎時 00 分に実行します。
    Noneスケジュールなし。

Custom cron... の詳細

Cron 値説明
0 * * * *1 時間に 1 回実行します。
0 0 * * *1 日 1 回午前 0 時に実行します。
0 0 1 * *毎月 1 日の午前 0 時に 1 回実行します。
""スケジュールされた実行時刻のないジョブを作成します。
 *    *    *    *    *
 -    -    -    -    -
 |    |    |    |    |
 |    |    |    |    +----- day of week (0 - 6) (Sunday=0)
 |    |    |    +---------- month (1 - 12)
 |    |    +--------------- day of month (1 - 31)
 |    +-------------------- hour (0 - 23)
 +------------------------- min (0 - 59)

次の名前付きエントリを使用できます:

  • Day of Week: sun, mon, tue, wed, thu, fri, sat.
  • Month: jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec.

各フィールド間には単一のスペースが必要です。各フィールドの値は、次のもので構成できます:

フィールド値 例の説明
各フィールドに対して上記で表示された制限内の単一の値。
フィールドに基づく制限がないことを示すワイルドカード '*''0 0 1 * *'毎月 1 日の午前 0 時 (00:00) に実行するようにスケジュールを設定します。
範囲 '2-5' フィールドの許可される値の範囲を示します。'0 0 1-10 * *'毎月 1 日から 10 日までの午前 0 時 (00:00) に実行するようにスケジュールを設定します。
カンマ区切りの値のリスト '2,3,4,5' フィールドの許可される値のリストを示します。0 0 1,11,21 * *'毎月 1 日、11 日、21 日の午前 0 時 (00:00) に実行するようにスケジュールを設定します。
周期性インジケータ '*/5' フィールドの有効な値の範囲に基づいて、 スケジュールが実行を許可される頻度を表現します。'30 */2 1 * *'毎月 1 日、00:30 から 2 時間ごとに実行するようにスケジュールを設定します。 '0 0 */5 * *' は、毎月 5 日から 5 日ごとに午前 0 時 (00:00) に実行するようにスケジュールを設定します。
'*' ワイルドカードを除く上記の いずれかのカンマ区切りリストもサポートされています '2,*/5,8-10''0 0 5,*/10,25 * *'毎月 5 日、10 日、20 日、25 日の午前 0 時 (00:00) に実行するようにスケジュールを設定します。
  1. (オプション) Delay execution を有効にすることで、クエリの開始時刻を遅延させることができます。

クエリを実行する

クエリに名前を付けて保存して実行するか、単にクエリを実行します。クエリが正常に完了すると、クエリ結果は指定された宛先に自動的にエクスポートされます。

設定エラーにより継続的に失敗するスケジュールジョブは、複数回通知された後、システム側で無効化される場合があります。

(オプション) Delay execution を有効にすることで、クエリの開始時刻を遅延させることができます。

Audience Studio で Segment をアクティベートする

Audience Studio で activation を作成することで、segment データをターゲットプラットフォームに送信することもできます。

  1. Audience Studio に移動します。
  2. parent segment を選択します。
  3. ターゲット segment を開き、右クリックして、Create Activation を選択します。
  4. Details パネルで、Activation 名を入力し、前述の Configuration Parameters のセクションに従って activation を設定します。
  5. Output Mapping パネルで activation 出力をカスタマイズします。

  • Attribute Columns
    • Export All Columns を選択すると、変更を加えずにすべての列をエクスポートできます。
    • + Add Columns を選択して、エクスポート用の特定の列を追加します。Output Column Name には、Source 列名と同じ名前があらかじめ入力されます。Output Column Name を更新できます。+ Add Columns を選択し続けて、activation 出力用の新しい列を追加します。
  • String Builder
    • + Add string を選択して、エクスポート用の文字列を作成します。次の値から選択します:
      • String: 任意の値を選択します。テキストを使用してカスタム値を作成します。
      • Timestamp: エクスポートの日時。
      • Segment Id: segment ID 番号。
      • Segment Name: segment 名。
      • Audience Id: parent segment 番号。
  1. Schedule を設定します。

  • スケジュールを定義する値を選択し、オプションでメール通知を含めます。
  1. Create を選択します。

batch journey の activation を作成する必要がある場合は、Creating a Batch Journey Activation を参照してください。

Dotdigitalの場合、Audience StudioはAddress BookのIDの取得をサポートしており、ユーザーはリストからAddress Bookを選択できます。取得が成功しない場合のみ、手動入力が必要です。

ワークフローでエクスポート結果を設定する

トランザクショナルメールをエクスポートするワークフローの例

timezone: UTC

_export:
  td:
    database: sample_datasets

+export_to_dotdigital:
  td>: queries/sample.sql
  result_connection: my_dotdigital_output
  result_settings:
    campaign_id: 119178
    mode: transactional_email
    ignore_invalid_records: true
    json_columns: ORDER, ITEMS

バルクコンタクトアップロードをエクスポートするワークフローの例

timezone: UTC

_export:
  td:
    database: sample_datasets

+export_to_dotdigital:
  td>: queries/sample.sql
  result_connection: my_dotdigital_output
  result_settings:
    campaign_id: 119178
    mode: bulk_contacts
    ignore_invalid_records: true
    merge_option: update_all
    add_to_address_book: true
    address_book_id: 119178
    export_operation: upload
    address_book_name: "address_book_name"
    address_book_identifier_mode: name
    create_when_not_found: true
    new_address_book_visibility: private

バルクコンタクト削除をエクスポートするワークフローの例

timezone: UTC

_export:
  td:
    database: sample_datasets

+export_to_dotdigital:
  td>: queries/sample.sql
  result_connection: my_dotdigital_output
  result_settings:
    campaign_id: 119178
    mode: bulk_contacts
    ignore_invalid_records: true
    address_book_id_delete: 119178
    export_operation: delete
    address_book_name_delete: "address_book_name"
    address_book_identifier_mode_delete: name

統合コンタクトアップロードをエクスポートするワークフローの例

timezone: UTC

_export:
  td:
    database: sample_datasets

+export_to_dotdigital:
  td>: queries/sample.sql
  result_connection: my_dotdigital_output
  result_settings:
    mode: unified_contacts
    ignore_invalid_records: true
    unified_cts_export_operation: upload
    unified_cts_merge_option: overwrite
    unified_cts_add_to_list: true
    unified_cts_list_identifier_mode: id
    unified_cts_list_id: 119178

統合コンタクト削除をエクスポートするワークフローの例

timezone: UTC

_export:
  td:
    database: sample_datasets

+export_to_dotdigital:
  td>: queries/sample.sql
  result_connection: my_dotdigital_output
  result_settings:
    mode: unified_contacts
    ignore_invalid_records: true
    unified_cts_export_operation: delete

ワークフローで統合を使用してデータをエクスポートする方法の詳細については、TD Toolbeltを使用したワークフローでのデータエクスポートを参照してください。