# Yahoo 広告コンバージョンエクスポート連携 v2

Yahoo 広告では、コンバージョンとは、広告をクリックした後にユーザーがウェブサイトで実行する特定のアクションを指します。このアクションは通常、広告主によって事前に定義され、購入、フォームの記入、ニュースレターの購読、アプリのダウンロードなどが含まれます。Yahoo 広告のコンバージョン追跡機能により、広告主は、広告をクリックした後にユーザーが目的のアクションを完了した回数をカウントすることで、広告キャンペーンの効果を追跡・測定できます。このデータは、広告キャンペーンを最適化し、全体的なパフォーマンスを向上させるために使用できます。

詳細については、[Yahoo! JAPAN 広告ヘルプ](https://ads-help.yahoo-net.jp/s/?language=ja)を参照してください。

## この連携でできること

- この TD エクスポート連携により、Treasure Data のジョブ結果を2025年6月30日から有効な新しい [Yahoo! 広告コンバージョン API](https://conversion-api.yahooapis.jp/v1) に直接書き込むことができます。
- アプリケーション ID ではなく、トラッキングタグアクセストークンを使用した認証の簡素化。


## 前提条件

- Yahoo! JAPAN ID を取得してください。**[こちら](https://account.edit.yahoo.co.jp/registration?.src=developer&.done=https%3A%2F%2Fdeveloper.yahoo.co.jp%2Fstart%2F)** から取得できます。
- コンバージョン追跡用の **トラッキングタグアクセストークン** を Yahoo! 広告から取得してください。


## 要件と制限

- この連携は Yahoo ディスプレイ広告のみをサポートし、Yahoo 検索広告はサポートしていません。
- イベントペイロードが Yahoo CAPI のルールに一致することを検証してください。
- 1秒あたり500リクエストの API レート制限を超えないでください。
- 特定の PII（個人識別情報）フィールドは統合によって SHA-256 を使用してハッシュ化されます。これらのフィールドは生の値または事前にハッシュ化された SHA-256 値として提供できます。
- ローカル検証に合格しない無効なレコードをスキップします。
- 一般的な HTTP エラー（429、500、および類似のステータスコード）が発生した場合にリトライします。
- 処理、失敗、成功したレコード数をログに記録します。


## Treasure Data Integration の静的 IP アドレス

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

リージョンごとに整理された静的 IP アドレスの完全なリストは、次のリンクにあります:
[IP Addresses for Integrations](/apis/endpoints/ip-addresses-integrations-result-workers)

## Treasure コンソール を使用した接続の作成

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

### 新しい認証の作成

1. **Treasure コンソール** を開きます。
2. **Integrations Hub** > **Catalog** に移動します。
3. Yahoo を検索し、**Yahoo! 広告コンバージョン API V2** を選択します。
4. **Create Authentication** を選択します。
5. 認証のための認証情報を入力します：


| パラメータ | 説明 |
|  --- | --- |
| トラッキングタグアクセストークン | 必須。キャンペーン管理ツールのトラッキングタグ管理画面から取得したアクセストークン。 |


1. **Continue** を選択します。
2. 接続の名前を入力します。
3. **Done** を選択します。


### クエリの定義

1. **Data Workbench > Queries** に移動します。
2. **New Query** を選択します。
3. クエリを実行して結果セットを検証します。



```

SELECT
  event_type,
  event_snippet_id,
  event_time,
  test_flag,
  transaction_id,
  hashed_phone_number,
  hashed_email,
  ly_su,
  ly_c,
  ly_r,
  ifa,
  line_uid,
  url,
  referrer_url,
  user_agent,
  ip
FROM (
  VALUES (
        'page_view',
        '12345678-abcd-4bcd-1234-123456789012',
        1700000000,
        FALSE,
        '123',
        '4e6a6c5c6f8a086ce4babac3247364cc93a8a995a1968105d9b408f7e6b72e51',
        '31c5543c1734d25c7206f5fd591525d0295bec6fe84ff82f946a34fe970a1e66',
        '1700000000.12345678-abcd-4bcd-1234-123456789012',
        '1700000000.12345678-abcd-4bcd-1234-123456789012',
        '1700000000.FF',
        'ABCDEF00-ABCD-4DEF-1234-1234567890AB',
        'Ua1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p',
        'https://www.yahoo.co.jp/?yj_r=FF&_ly_c=92aafe74-eae4-4130-975c-842a6f82df40&_ly_r=FF',
        'https://www.yahoo.co.jp',
        'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/500.00 (KHTML, like Gecko) Chrome/50.0.0000.000 Safari/500.0',
        '203.0.113.10'
        )
  ) tbl (
    event_type,
    event_snippet_id,
    event_time,
    test_flag,
    transaction_id,
    hashed_phone_number,
    hashed_email,
    ly_su,
    ly_c,
    ly_r,
    ifa,
    line_uid,
    url,
    referrer_url,
    user_agent,
    ip
  )
```

1. クエリでカラムマッピングを定義する必要があります。クエリのカラムは Yahoo! 広告コンバージョンに送信されるデータを表します。


以下のカラムのうち少なくとも1つが存在する必要があります

- hashed_email
- hashed_phone_number
- ly_su
- ly_c
- ly_r
- ifa
- line_uid


| カラム | データ型 | 必須 | 値（例） | 説明 |
|  --- | --- | --- | --- | --- |
| event_type | string | はい | 受け入れられる値のリストについては [Event Types](https://ads-developers.yahoo.co.jp/en/conversion-api/post/30590575.html) を参照してください。 | コンバージョンイベントのタイプ。例：page_view、purchase、lead、complete_registration など。 |
| event_snippet_id | string | いいえ | 12345678-abcd-4bcd-1234-123456789012 | スニペット ID |
| event_time | long | はい | 1600000000 | コンバージョンが発生した日時。現在時刻から90日前までの10桁の Unix 時間を使用してください。符号なし。 |
| test_flag | boolean | いいえ | false | テストかどうかを示すフラグ。true: テストとして追跡から除外する。false: 追跡に含める。 |
| transaction_id | string | いいえ | order1234 | コンバージョン追跡における重複検出用のユニーク ID。最大64文字までの任意の文字列。 |
| hashed_email | string | 条件付き | * ハッシュ値 **31c5543c1734d25c7206f5fd591525d0295bec6fe84ff82f946a34fe970a1e66**
* 生のメール **example@example.com**

 | SHA-256 を使用してハッシュ化されたメールアドレス。小文字の英数字を使用してください。以下の2つの形式のいずれかです：* SHA-256 ハッシュ値（16進）。
* 生のメールアドレス。

 |
| hashed_phone_number | string | 条件付き | * ハッシュ値
**4e6a6c5c6f8a086ce4babac3247364cc93a8a995a1968105d9b408f7e6b72e51**
* 生の電話番号（**0281234567** または +**84281234567**）

 | SHA-256 を使用してハイフンなしでハッシュ化された電話番号。小文字の英数字を使用してください。以下の2つの形式のいずれかです：* ハッシュ256形式。
* 国コードありまたはなしの生の電話番号。

 |
| ly_su | string | 条件付き | 1700000000.12345678-abcd-4bcd-1234-123456789012 | サイトユーザー ID（ウェブサイトのドメイン内でのユニークな識別子）。値はクッキー「_ly_su」`<timestamp>.<suid>` から取得されます。 |
| ly_c | string | 条件付き | 1700000000.12345678-abcd-4bcd-1234-123456789012 | クリック ID（広告をクリックしたユーザーの識別子）。値はクッキーまたはウェブサイト URL の「_ly_c」クエリパラメータから取得されます。URL パラメータにはタイムスタンプ情報が含まれないため、`<timestamp>.<clickid>` の形式でタイムスタンプを追加してください。 |
| ly_r | string | 条件付き | 1700000000.FF | ウェブサイトのドメインでのイベント追跡の精度を補完する ID。値はクッキー「_ly_r」`<timestamp>.<random string>` から取得されます。 |
| ifa | string | 条件付き | ABCDEF00-ABCD-4DEF-1234-1234567890AB | 広告識別子。IDFA または AAID のいずれかを入力してください。IDFA は大文字、AAID は小文字を使用してください。 |
| line_uid | string | 条件付き | ABCDEF00-ABCD-4DEF-1234-1234567890AB | イベントを生成したユーザーを識別する LINE ユーザー ID。 |
| url | string | いいえ | https://www.yahoo.co.jp/?yj_r=FF&_ly_c=92aafe74-eae4-4130-975c-842a6f82df40&_ly_r=FF | イベントが生成されたときのブラウザの URL。パターン：^http(s)?://.+ |
| referrer_url | string | いいえ | https://www.yahoo.co.jp | イベントが生成されたときのリファラーの URL。パターン：^http(s)?://.+ |
| user_agent | string | いいえ | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/500.00 (KHTML, like Gecko) Chrome/50.0.0000.000 Safari/500.0 | イベントが生成されたときのブラウザのユーザーエージェント。 |
| ip | string | いいえ | 203.0.113.10 または 2001:0db8:85a3:0000:0000:8a2e:1370:7334 | イベントを生成したエンドユーザーの IP アドレス。このフィールドには IPv4 および IPv6 アドレスのいずれかを指定できます。IPv4 にはドット付き10進記法を、IPv6 には RFC 4291 形式に従ってください。 |


### 結果エクスポート先の指定

1. **Export Results** を選択します。


![](/assets/image2021-9-7_15-10-56.ee7ed43caab64adefafcc22595462fd8068c974c4f47b5959a7babd7d99972b8.4713a25f.png)

1. 出力に使用する外部サービス用に既存の認証を選択するか、新しい認証を作成できます。以下のいずれかを選択してください：


**既存の連携を使用**

![](/assets/image2021-9-7_15-28-30.d271866c7c3cea4dab234b61bea815a69b186746c80435855b4b86d1f77cc30e.4713a25f.png)

**新しい連携を作成**

1. この連携の名前を入力します。
2. **（任意）** この連携を他のユーザーと共有したい場合は、**Share with others** をチェックします。
3. Yahoo 認証用の **トラッキングタグアクセストークン** の値を入力します。


![](/assets/image2023-7-22_9-47-2.f14b9e8545cf929b9ed1c926c26a35f4a8b808d4a035c3df350500cdccdaeb4b.4713a25f.png)
4. **Next** をクリックして **Export Results** 設定を開きます。

**Export Results 設定**

![](/assets/yahoo_capi_v2_export.8820ab90123b7c1346a496fa1f008b312d70905798968faf30d950e239e19457.e3f599cc.png)

| フィールド | 説明 |
|  --- | --- |
| トラッキングタグ ID | 必須。キャンペーン管理ツールのトラッキングタグ管理画面から取得したタグ ID。 |
| チャンネル ID | 任意。LINE チャンネル ID。line_uid を入力する場合のみ必須。 |
| 無効なレコードをスキップ | このフラグが有効化されると、無効なレコードがスキップされ、処理フローが継続されます。**デフォルト：true** |
| バッチ失敗時に停止 | このフラグが有効化されると、バッチが失敗した場合に全体のエクスポートが停止されます。**デフォルト：false** |


### (オプション) 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 を選択します。
![](/assets/image2021-1-15_17-28-51.f1b242f6ecc7666a0097fdf37edd1682786ec11ef80eff68c66f091bc405c371.0f87d8d4.png)
4. ドロップダウンで、次のスケジュールオプションのいずれかを選択します:
![](/assets/image2021-1-15_17-29-47.45289a1c99256f125f4d887e501e204ed61f02223fde0927af5f425a89ace0c0.0f87d8d4.png)
| ドロップダウン値 | 説明 |
|  --- | --- |
| Custom cron... | [Custom cron... の詳細](#custom-cron-details)を参照してください。 |
| @daily (midnight) | 指定されたタイムゾーンで 1 日 1 回午前 0 時 (00:00 am) に実行します。 |
| @hourly (:00) | 毎時 00 分に実行します。 |
| None | スケジュールなし。 |


#### Custom cron... の詳細

![](/assets/image2021-1-15_17-30-23.0f94a8aa5f75ea03e3fec0c25b0640cd59ee48d1804a83701e5f2372deae466c.0f87d8d4.png)

| **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.


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

div
| フィールド値  | 例  | 例の説明  |
|  --- | --- | --- |
| 各フィールドに対して上記で表示された制限内の単一の値。 |  |  |
| フィールドに基づく制限がないことを示すワイルドカード
`'*'`。 | `'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 出力をカスタマイズします。


![](/assets/ouput.b2c7f1d909c4f98ed10f5300df858a4b19f71a3b0834df952f5fb24018a5ea78.8ebdf569.png)

- 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** を設定します。


![](/assets/snippet-output-connector-on-audience-studio-2024-08-28.a99525173709da1eb537f839019fa7876ffae95045154c8f2941b030022f792c.8ebdf569.png)

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


1. **Create** を選択します。


batch journey の activation を作成する必要がある場合は、[Creating a Batch Journey Activation](/products/customer-data-platform/journey-orchestration/batch/creating-a-batch-journey-activation) を参照してください。

## （任意）Workflow でのエクスポート結果の設定

Treasure ワークフロー 内で、この連携を使用してデータをエクスポートするように指定できます。

詳細については、[TD Toolbelt を使用したワークフローでのデータエクスポート](https://docs.treasuredata.com/smart/project-product-documentation/exporting-data-with-parameters) を参照してください。


```yaml
_export:
  td:
  database: td.database

+yahoo_capi_export_v2_task:
  td>: export_yahoo_capi_v2.sql
  database: ${td.database}
  result_connection: {your_connection_name}
  result_settings:
     tag_id: your_tracking_tag_id
     channel_id: your_channel_id
     skip_invalid_records: true
     stop_on_batch_failure: false
```

## （任意）CLI を使用したエクスポート連携

CLI（Toolbelt）を使用して Yahoo! 広告コンバージョンへの結果エクスポートを行うこともできます。

Yahoo コンバージョンへのエクスポート情報を `td query` コマンドの `--result` オプションとして指定する必要があります。`td query` コマンドについては、[この記事](https://docs.treasuredata.com/smart/project-product-documentation/td-toolbelt-job-and-query-command-reference) を参照してください。

オプションの形式は JSON で、一般的な構造は以下のとおりです。

### パラメータ

| 名前 | データ型 | 説明 | 値 | デフォルト値 | 必須 |
|  --- | --- | --- | --- | --- | --- |
| type | string | エクスポート先のサービス名を記述します。 | yahoo_conversion_v2 | N/A | はい |
| tag_access_token | string | Yahoo 認証用のトラッキングタグアクセストークン | N/A | N/A | はい |
| tag_id | string | キャンペーン管理ツールのトラッキングタグ管理画面から取得したタグ ID。 | N/A | N/A | はい |
| channel_id | string | LINE チャンネル ID。line_uid を入力する場合のみ必須。 | N/A | N/A | いいえ |
| skip_invalid_records | boolean | このフラグが有効化されると、無効なレコードがスキップされ、処理フローが継続されます。 | true/false | true | いいえ |
| stop_on_batch_failure | boolean | このフラグが有効化されると、バッチが失敗した場合に全体のエクスポートが停止されます。 | true/false | false | いいえ |