Amazon Adsは、ユーザーがAmazonのプラットフォーム上で製品やサービスを宣伝できる広告サービスです。
Amazon Ads Export integrationは、TDユーザーがAmazon Marketing Cloud (AMC)やAmazon Demand-Side Platform (DSP)などのAmazon Adsプラットフォーム上でオーディエンスとオーディエンスレコードを管理する際にサポートします。
- Treasure Dataの基本的な知識
- Amazon AdプラットフォームAMCとDSPの基本的な知識
- Amazon Ads APIで使用されるAudience IDは、DSP Advertiserアカウントの下に表示されるAudience IDではありません。APIに必要なAudience IDは、新しいオーディエンスが作成されたときに表示され、安全な場所に保存する必要があります。
セキュリティポリシーで IP ホワイトリストが必要な場合は、接続を成功させるために Treasure Data の IP アドレスを許可リストに追加する必要があります。
リージョンごとに整理された静的 IP アドレスの完全なリストは、次のリンクにあります: https://api-docs.treasuredata.com/en/overview/ip-addresses-integrations-result-workers/
Treasure Dataでは、クエリを実行する前にデータ接続を作成して設定する必要があります。データ接続の一部として、インテグレーションにアクセスするための認証を提供します。
最初のステップは、認証情報のセットを使用して新しい認証を作成することです。
- Integrations Hubを選択します。
- Catalogを選択します。
3. CatalogでAmazon Adsを検索し、アイコンの上にマウスを置いてCreate Authenticationを選択します。


New Authenticationモーダルが表示されます。 4. OAuth接続フィールドの下にあるClick hereリンクを選択します。 5. AmazonアカウントにログインしてOAuthアクセスを承認します。 6. New Authenticationモーダルで、この情報を入力し、Continueを選択します。 7. 認証の名前を入力し、Doneを選択します。
この認証をTD APIやTD Toolbeltで使用したい場合は、Authentication IDを取得する必要があります。 Authentication IDを取得するには:
- Integrations Hub > Authenticationsに移動します。
- 使用したいインテグレーションを選択します。Edit Authenticationモーダルが表示されます。
- ブラウザのアドレスバーで、URLの最後にあるAuthentication IDを確認します。この例では、IDは2881です。

- Data Workbench > Queriesに移動します。

- New Queryを選択します。
- テーブルのドロップダウンメニューから、クエリを実行するデータベースを選択します。
- クエリを入力します。
サンプルクエリは次のとおりです:
SELECT
usr_firstname AS firstname,
usr_address AS address,
usr_phone AS phone,
usr_city AS city,
usr_state AS state,
usr_postalcode AS postal,
usr_email AS email, -- required
usr_lastname AS lastname,
usr_country AS countrycode,
ext_id AS externaluserid -- required
FROM
mytableクエリに必要なフィールドは次のとおりです:
| Field | Required | Hash Required |
|---|---|---|
| firstname | Yes | |
| address | Yes | |
| phone | Yes | |
| city | Yes | |
| state | Yes | |
| postal | Yes | |
| Yes | Yes | |
| lastname | Yes | |
| countrycode | ||
| externalUserId | Yes |
Amazon Adsにデータをエクスポートする方法は2つあります:
- 新しいオーディエンスを作成
- 既存のオーディエンスを更新
これは、AMCとDSPでオーディエンスを作成し、そのオーディエンスにユーザーを追加する方法の例です。
- TD Consoleを使用して、上記の「クエリの定義」セクションのステップ1〜4を実行します。
- Export Resultsを選択します。
- Amazon Ads用に作成したインテグレーションを選択します。
Export Resultsモーダルが表示されます。
4. Actionフィールドで、Createが選択されていることを確認します。 5. 残りのフィールドに情報を入力します。
| Field | Description | Note |
|---|---|---|
| Audience Fee | 通貨とインプレッション単価 (CPM)。必須。形式: currrency:cpm in cents 例: USD:1 | 通貨は広告主のマーケットプレイスと一致させる必要があります。 |
| Time to live | オーディエンスの有効期間を秒単位で指定します。必須。 | 値は0より大きく、34300800未満である必要があります。デフォルト: 34300800 |
| Country code | オーディエンスデータが収集された国コードを指定します。必須。 | ISO 3166-2 country codesの完全なリストを参照してください。 |
| Wait for next status | 「Wait for upload next status」チェックボックスを選択し、「Max waiting time」フィールドで、ジョブがAmazonサービスがアップロードステータスを通知するのを待つ時間を分単位で指定します。オプション。 |
- Doneを選択します。
結果の例
************* REPORT *************2024-05-29 04:40:12.080 +0000 [INFO] (0035:task-0000): Total records: 382024-05-29 04:40:12.080 +0000 [INFO] (0035:task-0000): Total batches: 12024-05-29 04:40:12.080 +0000 [INFO] (0035:task-0000): Total skipped records: 02024-05-29 04:40:12.080 +0000 [INFO] (0035:task-0000): ************* UPLOAD STATUS
*************2024-05-29 04:40:12.080 +0000 [INFO] (0035:task-0000): Total completed batches: 1/12024-05-29 04:40:12.080 +0000 [INFO] (0035:task-0000): Total uploaded records but invalid: 02024-05-29 04:40:12.080 +0000 [INFO] (0035:task-0000): ************* AUDIENCE INFO *************
2024-05-29 04:40:12.080 +0000 [INFO] (0035:task-0000): Audience ID: 361054992504331xxx2024-05-29 04:40:12.081 +0000 [INFO] (0001:transaction): {done: 1 / 1, running: 0}2024-05-29 04:40:12.082 +0000 [INFO] (0001:transaction): Incremental job, setting last_path to [job_2167618832_result]2024-05-29 04:40:12.280 +0000 [INFO] (pool-10-thread-1): Saving all buffers2024-05-29 04:40:12.280 +0000 [INFO] (pool-10-thread-1): Closing buffers2024-05-29 04:40:14.281 +0000 [INFO] (main): Stopped sending metricsAudienceIDはオーディエンス作成プロセス中にのみ返されるため、後で使用するためにIDを安全に保存する必要があります。Audience IDはジョブログの最後に見つけることができます。
ヒント: オーディエンスが「AMC and DSP」の下に作成され、そのオーディエンスに新しいレコードを継続的にアップロードしたい場合。このユースケースでは、ジョブを繰り返し実行するようにスケジュールできます。変更は不要です。それ以外の場合は、次のユースケースに従ってください。 |
これは、AMCとDSPでオーディエンスを更新する方法の例です。
新しいクエリを作成するよりも、クエリをクローンして既存の設定に変更を加える方が簡単です。
- TD Consoleを使用して、上記の「クエリの定義」セクションのステップ1〜4を実行します。
- Export Resultsを選択します。
- Amazon Ads用に作成したインテグレーションを選択します。
Export Resultsモーダルが表示されます。
4. Actionフィールドで、Updateが選択されていることを確認します。 5. 残りのフィールドに情報を入力します。
| Field | Description | Note |
|---|---|---|
| Upload Mode | 次のいずれかを選択: - Append—既存のオーディエンスに新しいレコードを追加します。 - Delete—既存のオーディエンスの一致するレコードを削除します。 | 削除プロセスはAmazonによって処理されます。 |
| Target | ユーザーは次の中から選択できます: - AMC—AMCで作成されたオーディエンス、クエリレコードがAMCにアップロードされます。 - AMC and DSP— レコードがAMCにアップロードされ、その後DSPに同期されます。 | |
| DSP Advertiser ID | ターゲットがDSP関連の場合に必須。 | |
| Audience ID | 更新するオーディエンスを指定します。アクションがUpdateの場合に必須。 | これは、オーディエンスが作成されたときに返されたIDです。 |
| Audience Description | オーディエンスの説明を指定します。必須。 | |
| Audience Fee | 通貨とインプレッション単価 (CPM)。必須。形式: currrency:cpm in cents 例: USD:1 | 通貨は広告主のマーケットプレイスと一致させる必要があります。 |
| Time to live | オーディエンスの有効期間を秒単位で指定します。必須。 | 値は0より大きく、34300800未満である必要があります。 デフォルト: 34300800 |
| Country code | オーディエンスデータが収集された国コードを指定します。必須。 | ISO 3166-2 country codesの完全なリストを参照してください。 |
| Wait for next status | 「Wait for upload next status」チェックボックスを選択し、「Max waiting time」フィールドで、ジョブがAmazonサービスがアップロードステータスを通知するのを待つ時間を分単位で指定します。オプション。 |
- Doneを選択します。
Audience Studio で activation を作成することで、segment データをターゲットプラットフォームに送信することもできます。
- Audience Studio に移動します。
- parent segment を選択します。
- ターゲット segment を開き、右クリックして、Create Activation を選択します。
- Details パネルで、Activation 名を入力し、前述の Configuration Parameters のセクションに従って activation を設定します。
- 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 番号。
- + Add string を選択して、エクスポート用の文字列を作成します。次の値から選択します:
- Schedule を設定します。

- スケジュールを定義する値を選択し、オプションでメール通知を含めます。
- Create を選択します。
batch journey の activation を作成する必要がある場合は、Creating a Batch Journey Activation を参照してください。
Scheduled Jobs と Result Export を使用して、指定したターゲット宛先に出力結果を定期的に書き込むことができます。
Treasure Data のスケジューラー機能は、高可用性を実現するために定期的なクエリ実行をサポートしています。
2 つの仕様が競合するスケジュール仕様を提供する場合、より頻繁に実行するよう要求する仕様が優先され、もう一方のスケジュール仕様は無視されます。
例えば、cron スケジュールが '0 0 1 * 1' の場合、「月の日」の仕様と「週の曜日」が矛盾します。前者の仕様は毎月 1 日の午前 0 時 (00:00) に実行することを要求し、後者の仕様は毎週月曜日の午前 0 時 (00:00) に実行することを要求するためです。後者の仕様が優先されます。
Data Workbench > Queries に移動します
新しいクエリを作成するか、既存のクエリを選択します。
Schedule の横にある None を選択します。

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

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

| 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) に実行するようにスケジュールを設定します。 |
- (オプション) Delay execution を有効にすることで、クエリの開始時刻を遅延させることができます。
クエリに名前を付けて保存して実行するか、単にクエリを実行します。クエリが正常に完了すると、クエリ結果は指定された宛先に自動的にエクスポートされます。
設定エラーにより継続的に失敗するスケジュールジョブは、複数回通知された後、システム側で無効化される場合があります。
(オプション) Delay execution を有効にすることで、クエリの開始時刻を遅延させることができます。
Treasure Workflow内で、このインテグレーションを使用してデータをエクスポートするように指定できます。
_export:
td:
database: td.database
+amazon_ads_export_task:
td>: export_amazon_ads.sql
database: ${td.database}
result_connection: new_amazon_ads_auth
result_settings:
type: amazon_ads
td_authentication_id: td_authentication_id
amc_instance_id: amc_instance_id
amc_account_id: amc_account_id
dsp_region: NA
action: CREATE
upload_mode: APPEND
target: AMC_AND_DSP
dsp_advertiser_id: dsp_advertiser_id
external_audience_id: external_audience_id
audience_name: audience_name
time_to_live: 34300800
country_code: US
wait_until_finish: true
max_wait_time: 5TD Toolbeltを使用して、--resultオプション付きのtd queryコマンドを使ってAmazon Adsに結果をエクスポートすることもできます。詳細については、TD Queryを参照してください。
--resultオプションで指定されるデータはJSON形式で、一般的な構造は次のとおりです。
{
"type": "amazon_ads",
"td_authentication_id": ${authentication_id_from_td_console},
"amc_instance_id": "amc_instance_id",
"amc_account_id": "amc_account_id",
"region": "NA",
"action": "CREATE",
"upload_mode": "APPEND",
"target": "AMC_AND_DSP",
"dsp_advertiser_id": "dsp_advertiser_id",
"external_audience_id": "external_audience_id",
"audience_name": "audience_name",
"time_to_live": 34300800,
"country_code": "US",
"wait_until_finish": false,
"max_wait_time": 1
}| Name | Description | Value | Default Value | Required |
|---|---|---|---|---|
| type | エクスポートの宛先。 | "amazon_ads" | Yes | |
| td_authentication_id | TD ConsoleのAmazon Ads認証のAuthentication ID。このIDの値を決定する方法については、Getting the Authentication IDを参照してください。 | Yes | ||
| amc_instance_id | Amazon Marketing Cloud Instance ID | Yes | ||
| amc_account_id | AMC Account ID。このフィールドを空白のままにすると、インテグレーションが自動的に取得します。 | No | ||
| region | DSP Advertiserアカウントに対応するリージョン。 | enums ["NA", "EU", "FE"] | "NA" | Yes |
| action | 実行するアクション: - Create - Update | enums ["CREATE", "UPDATE"] | "CREATE" | Yes |
| upload_mode | 実行するアップロードモード: - Append - Delete | enums ["APPEND", "DELETE"] | "APPEND" | Yes |
| target | オーディエンスターゲット: AMC AMC and DSP | enums ["AMC", "AMC_AND_DSP"] | "AMC" | Yes |
| dsp_advertiser_id | DSP Advertiser ID | Yes - targetが"AMC_AND_DSP"の場合 | ||
| external_audience_id | 新しいオーディエンスのユーザー指定外部ID | Yes - actionが"CREATE"の場合 | ||
| audience_id | Amazon Audience ID。オーディエンスが作成されたときに返されたID。 | Yes - actionが"UPDATE"の場合 | ||
| audience_name | オーディエンス名 | Yes - actionが"CREATE"の場合 | ||
| audience_description | オーディエンスの説明 | 英数字、非nullの文字列で、長さは0〜1000文字である必要があります。 | No | |
| audience_fee | オーディエンスメタデータの料金 | 形式: currency:cpmCents | No | |
| time_to_live | オーディエンスメタデータの有効期間(秒単位) | 0〜34300800の範囲である必要があります | No | |
| country_code | Country Code ISO 3166-1 alpha-2 Codes | Yes | ||
| wait_until_finish | インテグレーションがすべてのエクスポートジョブが完了するまで待機するかどうか | true または false | No | |
| max_wait_time | インテグレーションがすべてのエクスポートジョブが完了するまで待機する時間(分単位)。 | 1〜1380(23時間)の範囲である必要があります | Yes, wait_until_finishがTRUEの場合 |
この例では、単一の手動エクスポートを実行します。
td query \
--database ${database_name} \
--wait "SELECT * FROM ${table_name}" \
--type presto \
--result '{"type":"amazon_ads","td_authentication_id":"${authentication_id_from_td_console}","amc_instance_id":"amc_instance_id","amc_account_id":"amc_account_id","region":"NA","action":"CREATE","upload_mode":"APPEND","target":"AMC_AND_DSP","dsp_advertiser_id":"dsp_advertiser_id","external_audience_id":"external_audience_id","audience_name":"audience_name","time_to_live":34300800,"country_code":"US","wait_until_finish":false,"max_wait_time":1}'この例では、スケジュールされた時間に実行します。
td sched:create \
result_to_amazon_ads '0 0 * * *' \
--database ${database_name} 'SELECT * FROM ${table_name}' \
--result '{"type":"amazon_ads","td_authentication_id":"${authentication_id_from_td_console}","amc_instance_id":"amc_instance_id","amc_account_id":"amc_account_id","region":"NA","action":"CREATE","upload_mode":"APPEND","target":"AMC_AND_DSP","dsp_advertiser_id":"dsp_advertiser_id","external_audience_id":"external_audience_id","audience_name":"audience_name","time_to_live":34300800,"country_code":"US","wait_until_finish":false,"max_wait_time":1}'詳細については、Amazon Advertiser Audience APIsを参照してください。