# Marketo Export Integration [Marketo Import Integrationについて詳しく見る](/ja/int/marketo-import-integration)。 Treasure Dataのジョブ結果をMarketoアカウントのレコードに直接書き込むコネクタを作成できます。TDクエリジョブの結果により、Marketoターゲットリストへの追加や既存ユーザーの更新などのユーザー追加が可能です。 Marketoへのエクスポートのサンプルワークフローについては、[Treasure Boxes](https://github.com/treasure-data/treasure-boxes/tree/master/td/marketo)をご覧ください。 # 前提条件 - [TD Toolbelt](https://toolbelt.treasuredata.com/)を含むTreasure Dataの基本知識。 - APIアクセスが有効化されたMarketoアカウント(Marketoコンソールから実行)。 # 新しい接続を作成する 1. **Integrations Hub** > **Catalog**に移動します。**Marketo**を選択します。 ![](/assets/marketotile.663647a59e2e9da836a3819264228b9fb05248cf52749853c826f09ab25de70f.fbe2a812.png) 1. ダイアログが開きます。 ![](/assets/marketoimport.aefe5bd733c9ee00014b97821d7e477b303fff29a96821bd4ca9e5e88d12d779.fbe2a812.png) 1. Marketoの認証情報を入力して、新しい接続情報を完成させます。 - **Marketo Account ID**(必須):MarketoサービスID/Munchkin ID。 - **Marketo Client ID**(必須):サービス固有のクライアントID。 - **Marketo Client Secret**(必須):サービス固有のクライアントシークレット。 1. 新しく作成した接続の名前を入力し、**Done**を選択します。 # Marketo接続への結果出力を設定する 1. クエリエディタの上部にある`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です。 | ## サンプル設定 ![](/assets/screenshot-2025-01-10-at-00.14.27.f723816021568bda17f3091968a0004e685bf385fac145ed94e7f263607e7ab0.fbe2a812.png) リストIDはMarketoコンソールで確認できます: ![](/assets/image-20191021-145434.f0f29d1e9d8a6473de9a9b30395771d9702bcdbd82fb5c0d666946c7af3c7733.fbe2a812.png) # Audience Studioでセグメントをアクティベートする Audience Studioでアクティベーションを作成することで、ターゲットプラットフォームにセグメントデータを送信することもできます。 1. **Audience Studio**に移動します。 2. 親セグメントを選択します。 3. ターゲットセグメントを開き、右クリックして**Create Activation**を選択します。 4. **Details**パネルで、アクティベーション名を入力し、前のセクションの設定パラメータに従ってアクティベーションを設定します。 5. **Output Mapping**パネルでアクティベーション出力をカスタマイズします。 ![](/assets/ouput.b2c7f1d909c4f98ed10f5300df858a4b19f71a3b0834df952f5fb24018a5ea78.8ebdf569.png) - 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:親セグメント番号。 1. **Schedule**を設定します。 ![](/assets/snippet-output-connector-on-audience-studio-2024-08-28.a99525173709da1eb537f839019fa7876ffae95045154c8f2941b030022f792c.8ebdf569.png) - スケジュールを定義する値を選択し、オプションでメール通知を含めます。 1. **Create**を選択します。 # (オプション)CLIを使用したExport Integration [TD Toolbelt](https://toolbelt.treasuredata.com/)を使用して、CLIからMarketoへのクエリ結果のエクスポートをトリガーできます。td queryコマンドの--resultオプションを使用して、エクスポートジョブのパラメータを指定する必要があります。詳細については、[Querying and Importing Data to Treasure Data from the Command Line](https://docs.treasuredata.com/smart/project-product-documentation/querying-and-importing-data-to-treasure-data-from-the-command-line)を参照してください。 オプションの形式はJSONで、一般的な構造は次のとおりです: For upload lead mode ```json {"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} ``` ### CLIパラメータ | パラメータ | タイプ | 必須? | 説明 | | --- | --- | --- | --- | | 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 です。 | ### 例 ```bash 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](https://docs.treasuredata.com/articles/project-integrations/marketo-export-integration#MarketoExportIntegration-Appendix) を参照してください。 ```sql 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" または他の任意のテーブルを選択してください。 設定でデータヘッダーを指定したくない場合は、クエリでエイリアスを使用してクエリ結果の列名を変更できます。 ### 例 ```sql SELECT an_email_column AS EMAIL, another_phone_column AS PHONE FROM your_table; ``` 前のコードサンプルでは、EMAIL と PHONE のヘッダーを持つ新しいデータセットを作成しています。 列名は大文字と小文字を区別しません。たとえば、`email` または `EMAIL` のいずれかを使用できます。 クエリは数秒で完了するはずです。完了したら、Marketo Console で新しいリードを確認してください。 ![](/assets/image-20191021-145325.e5c9ae872920dc020631e83011f1760ce267fd991e014ae7485b3e4ea03f3fc8.fbe2a812.png) # Appendix ## Marketo Leads Data 出力結果データは [Marketo のデータ仕様](http://developers.marketo.com/rest-api/lead-database/fields/field-types/) に従う必要があります。 たとえば、フィールドが Integer として設定されている場合、Treasure Data が Marketo に送信するデータは int に変換可能でなければなりません(1001aa は有効な整数ではありません)。 ## Munchkin Account Information Marketo リストをアップロードする前に、API 対応アカウントへのアクセスが必要です。Munchkin Account ID は Marketo の Admin ページから取得できます。 API アクセス用の新しいアカウントを有効化して作成する手順 1. [API-Only User](http://docs.marketo.com/display/public/DOCS/Create+an+API+Only+User) を作成します。 2. [API-Only User Role](http://docs.marketo.com/display/public/DOCS/Create+an+API+Only+User+Role) を作成します。 3. [Advanced List Import Permission on a Role](http://docs.marketo.com/display/public/DOCS/Enable+the+Advanced+List+Import+Permission+on+a+Role) を有効にします。 4. [Custom Service for Use with REST API](http://docs.marketo.com/display/public/DOCS/Create+a+Custom+Service+for+Use+with+ReST+API) を作成します。 5. "Web Service" メニューで Rest API のエンドポイントを確認します。そこで、API を使用するための client ID と client secret を見つけることができます。 ![](/assets/image-20191021-145135.ba4107f8ad71bae8a1ad1f8738693333fee194aea9346a87f01fb0bece8a593f.fbe2a812.png) ## Preparing Data for Marketo Leads - Reference - [Error code](http://developers.marketo.com/rest-api/error-codes/) - [Partition Name](http://developers.marketo.com/blog/how-to-specify-lead-partitions-using-the-rest-api/) - [FilterType/LookupField](http://developers.marketo.com/rest-api/lead-database/leads/#query) - [Data Type for Marketo Lead fields](http://developers.marketo.com/rest-api/lead-database/fields/field-types/) - [Standard Lead fields](http://developers.marketo.com/rest-api/lead-database/fields/list-of-standard-fields/) (API アクセスから利用可能)