Marketo Import Integrationについて詳しく見る。
Treasure Dataのジョブ結果をMarketoアカウントのレコードに直接書き込むコネクタを作成できます。TDクエリジョブの結果により、Marketoターゲットリストへの追加や既存ユーザーの更新などのユーザー追加が可能です。
Marketoへのエクスポートのサンプルワークフローについては、Treasure Boxesをご覧ください。
- TD Toolbeltを含むTreasure Dataの基本知識。
- APIアクセスが有効化されたMarketoアカウント(Marketoコンソールから実行)。
- Integrations Hub > Catalogに移動します。Marketoを選択します。

- ダイアログが開きます。

- Marketoの認証情報を入力して、新しい接続情報を完成させます。
- Marketo Account ID(必須):MarketoサービスID/Munchkin ID。
- Marketo Client ID(必須):サービス固有のクライアントID。
- Marketo Client Secret(必須):サービス固有のクライアントシークレット。
- 新しく作成した接続の名前を入力し、Doneを選択します。
- クエリエディタの上部にある
output resultsを確認し、Marketo接続を選択します。
完了する必要があるいくつかのパラメータフィールドがあります。
| パラメータ | タイプ | 必須? | 説明 |
|---|---|---|---|
| Mode | string | yes | コネクタモードはupload_leadsまたはdelete_leadsになります。デフォルトはupload_leadsです。 |
| Marketo Target List ID | string | yes | 新しいリードがインポートされるリストのID。リストは既存のリストから選択する必要があります。そうでない場合、新しいリードはMarketoの中央データベースに格納されます。 |
| Headers for importing data | string | no | エクスポート対象フィールドとしてヘッダーを指定します。クエリに加えて、ここでフィールド名を指定します。 |
| Marketo Partition Name | string | no | 新しいリードが属するパーティションの名前。 |
| Lookup Field | string | no | このフィールドの値はこのデータセットにバインドされ、データセットの検索や重複排除に使用できます。デフォルトはemailです。 |
| Retry limit | integer | no | コネクタが接続とデータ送信を試みるのを停止するまでの再試行回数。デフォルトの再試行制限は6です。 |
| Retry initial wait in milliseconds | integer | no | 回復可能なエラーが発生した場合の再試行間隔(ミリ秒)。デフォルトは1000です。 |
| Retry Max wait in milliseconds | integer | no | 再試行間の最大待機時間(ミリ秒)。デフォルトは30000です。 |
| Max HTTP waiting time in milliseconds | integer | no | 最大HTTP待機時間。デフォルトは3000000です。 |
| Max upload chunk size (in bytes) | integer | no | アップロードする最大チャンクサイズ。デフォルトは10000000です。 |
| Batch max wait in milliseconds | integer | no | バッチの最大待機時間。デフォルトは3600000です。 |
| Ignore Invalid Records | boolean | no | 削除時に無効なレコードを無視します。デフォルトはfalseです。 |
| Skip Invalid Records | boolean | no | アップロードデータ中の無効なレコードを無視します。デフォルトはtrueです。 |

リストIDはMarketoコンソールで確認できます:

Audience Studioでアクティベーションを作成することで、ターゲットプラットフォームにセグメントデータを送信することもできます。
- Audience Studioに移動します。
- 親セグメントを選択します。
- ターゲットセグメントを開き、右クリックしてCreate Activationを選択します。
- Detailsパネルで、アクティベーション名を入力し、前のセクションの設定パラメータに従ってアクティベーションを設定します。
- Output Mappingパネルでアクティベーション出力をカスタマイズします。

- Attribute Columns
- Export All Columnsを選択すると、変更を加えずにすべての列をエクスポートします。
- + Add Columnsを選択して、エクスポート用の特定の列を追加します。Output Column Nameには、同じSourceカラム名が事前入力されます。Output Column Nameを更新できます。アクティベーション出力に新しい列を追加するには、+ Add Columnsを選択し続けます。
- String Builder
- + Add stringを選択して、エクスポート用の文字列を作成します。以下の値から選択します:
- String:任意の値を選択。テキストを使用してカスタム値を作成します。
- Timestamp:エクスポートの日時。
- Segment Id:セグメントID番号。
- Segment Name:セグメント名。
- Audience Id:親セグメント番号。
- + Add stringを選択して、エクスポート用の文字列を作成します。以下の値から選択します:
- Scheduleを設定します。

- スケジュールを定義する値を選択し、オプションでメール通知を含めます。
- Createを選択します。
TD Toolbeltを使用して、CLIからMarketoへのクエリ結果のエクスポートをトリガーできます。td queryコマンドの--resultオプションを使用して、エクスポートジョブのパラメータを指定する必要があります。詳細については、Querying and Importing Data to Treasure Data from the Command Lineを参照してください。
オプションの形式はJSONで、一般的な構造は次のとおりです:
For upload lead mode
{"type": "marketo", "account_id": "account id", "client_id": "client id", "client_secret": "client secret", "mode": "upload_leads", "list_id": "list id", "batch_max_wait_msec": 3600000, "upload_chunk_size_in_bytes": 10000000, "retry_limit": 7, "retry_initial_wait_msec": 1000, "max_retry_wait_msec": 32000, "http_timeout_millis": 300000, "skips_invalid_records": true}# For delete mode{ "type": "marketo", "account_id": "account id", "client_id": "client id", "client_secret": "client secret", "mode": "delete_leads", "list_id": "list id", "batch_max_wait_msec": 3600000, "upload_chunk_size_in_bytes": 10000000, "retry_limit": 7, "retry_initial_wait_msec": 1000, "max_retry_wait_msec": 32000, "http_timeout_millis": 300000, "ignore_invalid_records": false}| パラメータ | タイプ | 必須? | 説明 |
|---|---|---|---|
| type | string | yes | エクスポートタイプ。正確な値として「marketo」である必要があります。 |
| account_id | string | yes | このサービス/アカウントに必要な特定のMarketo Munchkin ID。 |
| client_id | string | yes | クライアントID。Marketoコンソールから取得可能。 |
| client_secret | string | yes | クライアントシークレット。Marketo コンソールから取得できます。 |
| mode | string | yes | コネクターモードは upload_leads または delete_leads のいずれかです。 |
| list_id | string | yes | 新しいリードがインポートされるリストの ID。リストは既存のリストである必要があります。そうでない場合、新しいリードは Marketo の中央データベースに送られます。 |
| file_format | string | no | 使用するファイル形式。デフォルト形式は CSV です。 |
| headers | string | no | エクスポート対象フィールドとしてヘッダーを指定します。クエリに加えて、ここでフィールド名を指定します。 |
| partition_name | string | no | 新しいリードが属するパーティションの名前。 |
| lookup_field | string | no | このフィールドの値はこのデータセットに関連付けられ、データセットの検索または重複排除に使用できます。デフォルトは email です。 |
| retry_limit | integer | no | コネクターが接続とデータ送信を試行するのを停止するまでの再試行回数。再試行制限のデフォルトは 6 です。 |
| retry_initial_wait_msec | integer | no | 回復可能なエラーが発生した場合の再試行間隔(ミリ秒)。デフォルトは 1000 です。 |
| max_retry_wait_msec | integer | no | 再試行間の最大待機時間(ミリ秒)。デフォルトは 30000 です。 |
| http_timeout_millis | integer | no | HTTP の最大待機時間。デフォルトは 3000000 です。 |
| upload_chunk_size_in_bytes | integer | no | アップロードする最大チャンクサイズ。デフォルトは 10000000 です。 |
| batch_max_wait_msec | integer | no | バッチの最大待機時間。デフォルトは 3600000 です。 |
| ignore_invalid_records | boolean | no | 削除時に無効なレコードを無視します。デフォルトは false です。 |
| skip_invalid_records | boolean | no | データアップロード時に無効なレコードを無視します。デフォルトは true です。 |
td query -d [database] -w 'SELECT id, email, company FROM marketo' --type presto --result '{"type":"marketo", "account_id":"[account id]", "client_id":"[client id]", "client_secret":"[client secret]", "mode":"upload_leads", "list_id":"[list id]", "retry_limit": 3}';TD Console で、以下のクエリを実行し、Output results を Marketo との接続に出力します。このクエリは実際のユーザーと一致せず、デモンストレーション目的のみです。列名の詳細については、Appendix を参照してください。
SELECT
td_global_id as tdglobalid,
firstname,
lastname,
email,
company
FROM (
VALUES
('b1b065f5-1222-4a14-b151-379d49ec39e3', 'John', 'Doe', 'name+test1@treasure-data.com', 'Marketo Dummy Lead - DO NOT USE'),
('x1b065f5-1222-4a14-b151-379d49ec39e3', 'Janes', 'Doe', 'name+test2@treasure-data.com', 'Marketo Dummy Lead - DO NOT USE'),
('p1b065f5-1222-4a14-b151-379d49ec39e3', 'Tony', 'Doe', 'name+test3@treasure-data.com', 'Marketo Dummy Lead - DO NOT USE'),
('o1b065f5-1222-4a14-b151-379d49ec39e3', 'Bill', 'Adam', 'name+test4@treasure-data.com', 'Marketo Dummy Lead - DO NOT USE'),
('t1b065f5-1222-4a14-b151-379d49ec39e3', 'Dan', 'Steve', 'name+test5@treasure-data.com', 'Marketo Dummy Lead - DO NOT USE')
) tbl
(
td_global_id,
firstname,
lastname,
email,
company
)このデモクエリには、ソーステーブルは必要ありません(この機能のテストを容易にするため)が、データベースを選択する必要があるため、"sample_datasets" または他の任意のテーブルを選択してください。
設定でデータヘッダーを指定したくない場合は、クエリでエイリアスを使用してクエリ結果の列名を変更できます。
SELECT
an_email_column AS EMAIL,
another_phone_column AS PHONE
FROM
your_table;前のコードサンプルでは、EMAIL と PHONE のヘッダーを持つ新しいデータセットを作成しています。
列名は大文字と小文字を区別しません。たとえば、email または EMAIL のいずれかを使用できます。
クエリは数秒で完了するはずです。完了したら、Marketo Console で新しいリードを確認してください。

出力結果データは Marketo のデータ仕様 に従う必要があります。
たとえば、フィールドが Integer として設定されている場合、Treasure Data が Marketo に送信するデータは int に変換可能でなければなりません(1001aa は有効な整数ではありません)。
Marketo リストをアップロードする前に、API 対応アカウントへのアクセスが必要です。Munchkin Account ID は Marketo の Admin ページから取得できます。
API アクセス用の新しいアカウントを有効化して作成する手順
- API-Only User を作成します。
- API-Only User Role を作成します。
- Advanced List Import Permission on a Role を有効にします。
- Custom Service for Use with REST API を作成します。
- "Web Service" メニューで Rest API のエンドポイントを確認します。そこで、API を使用するための client ID と client secret を見つけることができます。
