Skip to content
Last updated

Amazon Ads Conversion Export Integration

Amazon Ads Conversion API(CAPI)により、広告主はTreasure DataからAmazon Advertisingに直接コンバージョンイベントと顧客アクションを送信し、アトリビューションと測定の目的で使用できます。このサーバー間統合は、ブラウザの制限を回避し、より信頼性の高いコンバージョントラッキングを提供します。

Amazon Ads Conversion Export integrationは、Treasure Dataユーザーがプライバシーコンプライアンスを強化し、Amazon DSPおよびSponsored Adsキャンペーンのアトリビューション精度を向上させたコンバージョンイベントの送信をサポートします。

前提条件

  • Treasure Dataの基本知識
  • Amazon Adsキャンペーン管理とコンバージョントラッキングの基本知識
  • Conversion APIの権限を持つAmazon Adsアカウントへのアクセス
  • コンバージョンイベントとアトリビューションモデルの理解

要件と制限事項

  • イベントごとに少なくとも1つの顧客識別子を提供する必要があります
  • 最大バッチサイズ:リクエストあたり500イベント
  • 最適なアトリビューションのため、イベントはできるだけリアルタイムに近い形で送信する必要があります
  • PIIフィールドはAmazonの要件に従って正規化し、SHA-256でハッシュ化する必要があります。非PII識別子はAmazonのフィールド固有の要件に従います

Treasure Data Integration の静的 IP アドレス

セキュリティポリシーで IP ホワイトリストが必要な場合は、接続を成功させるために Treasure Data の IP アドレスを許可リストに追加する必要があります。

リージョンごとに整理された静的 IP アドレスの完全なリストは、次のリンクにあります: IP Addresses for Integrations

Data Workbenchを使用して接続を作成する

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

新しい認証を作成する

最初のステップは、認証情報のセットで新しい認証を作成することです。

  1. Integrations Hubを選択します。
  2. Catalogを選択します。

Integrations Hub Catalog

  1. CatalogでAmazon Ads Conversionを検索し、アイコンにマウスを合わせてCreate Authenticationを選択します。

Create Authentication

New Authenticationモーダルが表示されます。

  1. OAuth接続フィールドの下にあるClick hereリンクを選択します。
  2. Amazonアカウントにログインして、OAuthアクセスを承認します。
  3. New Authenticationモーダルで、この情報を提供し、Continueを選択します。
  4. 認証の名前を入力し、Doneを選択します。

認証IDの取得

この認証をTreasure APIまたはTD Toolbeltで使用したい場合は、認証IDを取得する必要があります。

認証IDを取得するには:

  1. Integrations Hub > Authenticationsに移動します。
  2. 使用したい統合を選択します。Edit Authenticationモーダルが表示されます。
  3. ブラウザのアドレスバーで、URLの末尾にある認証IDを確認します。

クエリを定義する

  1. Data Workbench > Queriesに移動します。
  2. New Queryを選択します。
  3. テーブルドロップダウンメニューから、クエリしたいデータベースを選択します。
  4. クエリを入力します。

サンプルクエリは以下の通りです:

SELECT   
  'Product Purchase'                AS event_name,              -- 必須
  'OFF_AMAZON_PURCHASES'            AS conversion_type,         -- 必須
  'WEBSITE'                         AS event_source,            -- 必須
  'US'                              AS country_code,            -- 必須
  purchase_time                     AS event_time,              -- 必須
  customer_email                    AS email,                   -- 条件付き(ハッシュ化)
  customer_phone                    AS phone,                   -- 条件付き(ハッシュ化)
  customer_first_name               AS first_name,              -- 条件付き(ハッシュ化)
  customer_last_name                AS last_name,               -- 条件付き(ハッシュ化)
  quantity                          AS units_sold,              -- 条件付き
  purchase_value                    AS value,                   -- オプション
  'USD'                             AS currency_code,           -- オプション
  order_id                          AS event_id,                -- オプション
  product_category                  AS custom_field_1,          -- オプションのカスタムデータ
  customer_segment                  AS custom_field_2           -- オプションのカスタムデータ
FROM   
  conversion_events
WHERE
  TD_INTERVAL(purchase_time, '-1d', 'JST')

クエリの必須フィールドと条件付きフィールドは以下の通りです:

フィールド必須データタイプハッシュ化必須説明
event_nameはいSTRINGいいえコンバージョンイベントの名前
conversion_typeはいSTRINGいいえ次のいずれかである必要があります:OFF_AMAZON_PURCHASES、ADD_TO_SHOPPING_CART、APPLICATION、CHECKOUT、CONTACT、LEAD、MOBILE_APP_FIRST_START、PAGE_VIEW、SEARCH、SIGN_UP、SUBSCRIBE、OTHER
event_sourceはいSTRINGいいえ次のいずれかである必要があります:ANDROID、FIRE_TV、IOS、OFFLINE、WEBSITE、MEASUREMENT_ATTRIBUTION_PARTNER
country_codeはいSTRINGいいえISO 3166-1 alpha-2国コード(US、CA、JPなど)
event_timeはいSTRING/LONGいいえISO形式(YYYY-MM-DDThh:mm:ssTZD)またはUnixタイムスタンプ
email条件付きSTRINGはい顧客のメールアドレス(SHA-256ハッシュ化)
phone条件付きSTRINGはい国コード付きの顧客電話番号(SHA-256ハッシュ化)
first_name条件付きSTRINGはい顧客の名(SHA-256ハッシュ化)
last_name条件付きSTRINGはい顧客の姓(SHA-256ハッシュ化)
address条件付きSTRINGはい住所(SHA-256ハッシュ化)
city条件付きSTRINGはい市区町村名(SHA-256ハッシュ化)
state条件付きSTRINGはい州/都道府県(SHA-256ハッシュ化)
postal条件付きSTRINGはい郵便番号(SHA-256ハッシュ化)
maid条件付きSTRINGいいえモバイル広告ID
match_id条件付きSTRINGいいえカスタムマッチ識別子
units_sold条件付きLONGいいえconversion_typeがOFF_AMAZON_PURCHASESの場合のみ
valueいいえSTRING/LONG/DOUBLEいいえコンバージョン値(数値)
currency_codeいいえSTRINGいいえconversion_typeがOFF_AMAZON_PURCHASESの場合のみ。次のいずれかである必要があります:AED、AUD、BRL、CAD、CNY、DKK、EUR、GBP、INR、JPY、MXN、NOK、NZD、SAR、SEK、SGD、TRY、USD
event_idいいえSTRINGいいえ重複排除のための一意識別子
partner条件付きSTRINGいいえevent_sourceがMEASUREMENT_ATTRIBUTION_PARTNERの場合は必須
amazon_ad_event_key条件付きSTRINGいいえevent_sourceがMEASUREMENT_ATTRIBUTION_PARTNERの場合は必須
顧客識別子の要件

少なくとも1つの顧客識別子フィールド(email、phone、first_name、last_name、address、city、state、postal、maid、またはmatch_id)を提供する必要があります。最適なマッチング精度のためには、メールアドレスまたは電話番号が推奨されます。

Result Exportターゲットを指定する

Amazon Adsにイベントを送信するためのコンバージョンエクスポート設定を構成します。

  1. Treasure コンソールを使用して、上記の「クエリを定義する」セクションのステップ1-4を実行します。
  2. Export Resultsを選択します。
  3. Amazon Ads Conversion用に作成した統合を選択します。

Export Resultsモーダルが表示されます。

Export Results Model Part 1

Export Results Model Part 2

  1. フィールドに情報を入力します:
フィールド説明備考
RegionアカウントのAmazon Ads APIリージョン必須。オプション:North America(NA)、Europe(EU)、Far East(FE)
Advertiser IDAmazon DSP Advertiserアカウント ID必須。Amazon Adsアカウント設定で確認できます
Dataset NameAmazonデータセット識別子(オプション)オプション。Amazonシステムでのコンバージョンデータの整理に使用されます
Custom Dataカスタムイベントデータのフィールドマッピングオプション。形式:field_name: DATA_TYPE(STRING、INTEGER、TIMESTAMP)
Consent Type使用するプライバシー同意フレームワークオプション。オプション:TCF、GPP、ACS
Skip Invalid Records無効なデータに遭遇した場合の処理継続オプション。無効にすると、無効なレコードでジョブが停止します
Skip Error Batchesバッチが失敗した場合の処理継続オプション。無効にすると、バッチエラーでジョブが停止します
  1. Doneを選択します。

結果例

************* REPORT *************
2026-04-14 04:34:30.320 +0000 [INFO] (0017:task-0000): ************* REPORT *************
2026-04-14 04:34:30.320 +0000 [INFO] (0017:task-0000): Total records: 1, total skip records: 0, total batches: 1, total skip batches: 0

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

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

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

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

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

Treasure コンソール を使用してジョブをスケジュールする

  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 を有効にすることで、クエリの開始時刻を遅延させることができます。

(オプション)ワークフローでのExport Results設定

Treasure ワークフロー内で、この統合を使用してコンバージョンデータをエクスポートするように指定できます。

_export:
  td:
    database: td.database
   
+ amazon_ads_conversion_export_task:
  td>: export_conversions.sql
  database: ${td.database}
  result_connection: amazon_ads_conversion_auth
  result_settings:
    type: amazon_ads_conversion
    td_authentication_id: td_authentication_id
    region: NA
    advertiser_id: advertiser_id
    dataset_name: conversion_dataset
    custom_data: product_category:STRING,customer_segment:INTEGER
    consent_type: ACS
    amzn_ad_storage: GRANTED
    amzn_user_data: GRANTED
    limited_data_use: false
    skip_invalid_record: true
    skip_error_batch: false

(オプション)CLIを使用したExport Integration

TD Toolbeltを使用して、td queryコマンドの--resultオプションでAmazon Adsにコンバージョンイベントをエクスポートすることもできます。

--resultオプションで指定するデータはJSON形式です:

{
  "type": "amazon_ads_conversion",
  "td_authentication_id": "${authentication_id_from_td_console}",
  "region": "NA",
  "advertiser_id": "your_advertiser_id",
  "dataset_name": "conversion_dataset",
  "custom_data": "product_category:STRING,customer_segment:INTEGER",
  "consent_type": "ACS",
  "amzn_ad_storage": "GRANTED",
  "amzn_user_data": "GRANTED",
  "limited_data_use": false,
  "skip_invalid_record": true,
  "skip_error_batch": false
}

パラメータ

名前説明デフォルト値必須
typeエクスポートの宛先"amazon_ads_conversion"はい
td_authentication_idTreasure コンソールでのAmazon Ads認証の認証IDはい
regionAmazon Ads APIリージョン"NA"、"EU"、"FE""NA"はい
advertiser_idAmazon DSP AdvertiserアカウントIDはい
dataset_nameAmazonデータセット識別子いいえ
custom_dataカスタムフィールドマッピング"field_name:DATA_TYPE,field_name2:DATA_TYPE"いいえ
consent_typeプライバシー同意フレームワーク"TCF"、"GPP"、"ACS"いいえ
tcfTCF同意値consent_typeが"TCF"の場合は必須
gppGPP同意値consent_typeが"GPP"の場合は必須
amzn_ad_storageAmazon広告ストレージ同意"GRANTED"、"DENIED"consent_typeが"ACS"の場合は必須
amzn_user_dataAmazonユーザーデータ同意"GRANTED"、"DENIED"consent_typeが"ACS"の場合は必須
limited_data_use制限付きデータ使用処理の有効化true、falsefalseいいえ
skip_invalid_record無効なレコードの処理継続true、falsefalseいいえ
skip_error_batchエラーバッチの処理継続true、falsefalseいいえ

使用例

手動エクスポート:

td query \
--database ${database_name} \
--wait "SELECT * FROM ${conversion_table}" \
--type presto \
--result '{"type":"amazon_ads_conversion","td_authentication_id":"${auth_id}","region":"NA","advertiser_id":"${advertiser_id}","dataset_name":"conversions","skip_invalid_record":true}'

スケジュールされたエクスポート:

td sched:create \
conversions_to_amazon_ads '0 2 * * *' \
--database ${database_name} 'SELECT * FROM ${conversion_table}' \
--result '{"type":"amazon_ads_conversion","td_authentication_id":"${auth_id}","region":"NA","advertiser_id":"${advertiser_id}"}'

トラブルシューティング

よくある問題

  • 認証エラー: OAuthの権限にコンバージョンAPI アクセスが含まれていることを確認してください
  • データ検証エラー: すべての必須フィールドが存在し、少なくとも1つの顧客識別子が提供されていることを確認してください
  • ハッシュ形式エラー: 顧客PIIは適切に正規化され、Amazonのガイドラインに従ってSHA-256でハッシュ化されている必要があります
  • レート制限: AmazonはAPIレート制限を実施しています。バッチアップロード間に適切な遅延を実装してください
  • 顧客識別子の欠如: イベントごとにメール、電話、またはその他のPIIフィールドのうち少なくとも1つを提供する必要があります

エラーハンドリング

エラータイプアクション再試行
必須パラメータの欠如設定を修正、ジョブが失敗なし
無効なデータタイプクエリを修正、ジョブが失敗なし
HTTP 4xxエラーAPI ドキュメントを確認、ジョブが失敗なし
HTTP 429/5xxエラージョブが自動的に再試行あり

外部参考資料