# JS SDKでのThird Party Conversion Tagsの収集

Treasure AI JavaScript SDKを使用してウェブサイト上のユーザー行動を追跡する場合、収集した情報を他のマーケティングまたはソーシャルメディアプラットフォームにコンバージョンeventとして統合して、測定を改善し、それらのプラットフォームでの広告キャンペーンを最適化できます。この記事では、一般的なthird-party tagおよびその他の追跡情報を収集する方法について説明します。

## 前提条件

- JavaScriptとHTMLの基礎知識。
- 収集したいプラットフォームのtagに関する知識。
- Treasure AI JavaScript SDK version 4.1以降。以下の手順では、`td` 変数でTreasure AI JS SDKをすでに初期化しており、Treasure Consoleにイベントを送信する準備ができていることを前提としています。


## collectTagsメソッドを使用したThird-party Tagの収集

`collectTags` は Treasure AI JavaScript SDK の機能で、サードパーティ広告プラットフォーム（Meta、Google Ads、Yahoo! Adsなど）のクッキーやURLパラメータを自動的に収集し、トラッキングイベントと一緒に送信するためのAPIです。

収集されたタグは `$global` オブジェクトに保存され、すべてのトラッキングペイロードと一緒に送信されます。これにより、コンバージョンAPIに必要な広告プラットフォームのトラッキング情報を効率的に収集できます。

### ベンダー名を指定した収集

```javascript
// Treasure AI JS SDKを初期化
var td = new Treasure({
  database: 'your_database',
  writeKey: 'your_write_key'
});

// Meta Click IDを収集するよう宣言
td.collectTags({
  vendors: ['meta']
});

// ページビューイベントと一緒にタグ値が送信される
td.trackPageview('page_views');
```

### 特定のCookieやパラメータ名を指定した収集

```javascript
// クッキー名とURLパラメータ名を直接指定
td.collectTags({
  cookies: ['_custom_cookie', '_another_cookie'],
  params: ['custom_param', 'tracking_id']
});
```

### 複数ベンダーの組み合わせ

```javascript
// 複数のプラットフォームを一括で収集
td.collectTags({
  vendors: ['meta', 'google_ga', 'google_mp', 'x', 'tiktok']
});
```

## APIシグネチャ

### `Treasure#collectTags(configs, options)`

**パラメータ:**

- **configs** (Object, オプション): 設定情報を含むオブジェクト
  - `vendors`: サポートされているベンダー名の配列
  - `cookies`: 収集したい特定のクッキー名の配列
  - `params`: 収集したい特定のURLパラメータ名の配列
- **options** (Object, オプション): 追加設定のオブジェクト
  - `gclPrefix`: Google Marketing Platform用のカスタムクッキープレフィックス（デフォルト: `'_gcl'`）


**戻り値:** なし

## サポートされているベンダー

| ベンダー名 | プラットフォーム | Cookie数 | URLパラメータ数 | 主な用途 |
|  --- | --- | --- | --- | --- |
| `meta` | Meta (Facebook/Instagram) | 2 | 1 | Facebook広告トラッキング |
| `google_ads` | Google Ads | 0 | 2 | Google広告クリック追跡 |
| `google_ga` | Google Analytics | 1 | 0 | Google Analyticsユーザー識別 |
| `google_mp` | Google Marketing Platform | 動的 | 0 | Google Marketing Platform |
| `instagram` | Instagram | 4 | 0 | Instagram広告・ユーザー追跡 |
| `yahoojp_ads` | Yahoo! JAPAN 広告 | 6 | 3 | Yahoo!広告・LINE Yahoo! |
| `line` | LINE | 2 | 1 | LINE広告トラッキング |
| `x` | X (旧Twitter) | 1 | 1 | X広告クリック追跡 |
| `pinterest` | Pinterest | 1 | 1 | Pinterest広告・EPIK |
| `snapchat` | Snapchat | 0 | 1 | Snapchatキャンペーン識別 |
| `tiktok` | TikTok | 1 | 0 | TikTokユーザー追跡 |
| `marketo` | Marketo | 1 | 0 | Marketoリード追跡 |
| `tealium` | Tealium | 1 | 0 | エンタープライズTMS |


## ベンダー別詳細

### Meta (`meta`)

**収集される内容:**

- **Cookie:** `_fbp` (Facebook Browser Pixel), `_fbc` (Facebook Click)
- **URLパラメータ:** `fbclid` (Facebook Click ID)


**使用例:**

```javascript
td.collectTags({ vendors: ['meta'] });
```

**用途:** Facebook/Instagram広告の効果測定、Meta Conversion API連携

### Google Ads (`google_ads`)

**収集される内容:**

- **URLパラメータ:** `gclid` (Google Click ID), `wbraid` (Web Conversion Browser ID)


**使用例:**

```javascript
td.collectTags({ vendors: ['google_ads'] });
```

**用途:** Google Ads のクリック追跡、iOS 14.5+ プライバシー対応

### Google Analytics (`google_ga`)

**収集される内容:**

- **Cookie:** `_ga` (Google Analytics Client ID)


**使用例:**

```javascript
td.collectTags({ vendors: ['google_ga'] });
```

**用途:** Google AnalyticsとTreasure Data CDP間でのユーザー識別

### Google Marketing Platform (`google_mp`)

**収集される内容:**

- **Cookie:** `_gcl` プレフィックスで始まるすべてのCookie（動的収集）


**使用例:**

```javascript
// デフォルトプレフィックス
td.collectTags({ vendors: ['google_mp'] });

// カスタムプレフィックス
td.collectTags({ 
  vendors: ['google_mp'] 
}, { 
  gclPrefix: '_custom_gcl' 
});
```

**用途:** Google Marketing Platform (旧DoubleClick) のConversion Linker

### Instagram (`instagram`)

**収集される内容:**

- **Cookie:** `shbts` (Browser Timestamp), `shbid` (Browser ID), `ds_user_id` (User ID), `ig_did` (Device ID)


**使用例:**

```javascript
td.collectTags({ vendors: ['instagram'] });
```

**用途:** Instagram広告効果測定、ログインユーザー追跡

### Yahoo! JAPAN 広告 (`yahoojp_ads`)

**収集される内容:**

- **Cookie:** `_ycl_yjad`, `_yjr_yjad`, `_yjsu_yjad`, `_ly_c`, `_ly_r`, `_ly_su`
- **URLパラメータ:** `yclid`, `yj_r`, `ly_c`


**使用例:**

```javascript
td.collectTags({ vendors: ['yahoojp_ads'] });
```

**用途:** Yahoo!検索広告、ディスプレイ広告、LINE Yahoo!統合分析

### LINE (`line`)

**収集される内容:**

- **Cookie:** `__lt__cid` (Customer ID), `__lt__sid` (Session ID)
- **URLパラメータ:** `ldtag_cl` (Click ID)


**使用例:**

```javascript
td.collectTags({ vendors: ['line'] });
```

**用途:** LINE広告効果測定、LINE Tagトラッキング

### X/Twitter (`x`)

**収集される内容:**

- **Cookie:** `_twclid` (Twitter Click ID Cookie)
- **URLパラメータ:** `twclid` (Twitter Click ID Parameter)


**使用例:**

```javascript
td.collectTags({ vendors: ['x'] });
```

**用途:** X広告クリック追跡、コンバージョン測定

### Pinterest (`pinterest`)

**収集される内容:**

- **Cookie:** `_epik` (Enhanced Partner Information Kit Cookie)
- **URLパラメータ:** `epik` (Enhanced Partner Information Kit Parameter)


**使用例:**

```javascript
td.collectTags({ vendors: ['pinterest'] });
```

**用途:** Pinterest広告効果測定、Enhanced Matching

### Snapchat (`snapchat`)

**収集される内容:**

- **URLパラメータ:** `ScCid` (Snapchat Campaign ID)


**使用例:**

```javascript
td.collectTags({ vendors: ['snapchat'] });
```

**用途:** Snapchatキャンペーン識別、広告効果測定

### TikTok (`tiktok`)

**収集される内容:**

- **Cookie:** `_ttp` (TikTok Tracking Parameter)


**使用例:**

```javascript
td.collectTags({ vendors: ['tiktok'] });
```

**用途:** TikTokユーザー追跡、広告効果測定

### Marketo (`marketo`)

**収集される内容:**

- **Cookie:** `_mkto_trk` (Marketo Lead ID)


**使用例:**

```javascript
td.collectTags({ vendors: ['marketo'] });
```

**用途:** Marketoリード追跡、マーケティングオートメーション連携

### Tealium (`tealium`)

**収集される内容:**

- **Cookie:** `utag_main` (Universal Tag Main Cookie)


**使用例:**

```javascript
td.collectTags({ vendors: ['tealium'] });
```

**用途:** エンタープライズTag Management System、統合データ管理

## オプションパラメータ

現在サポートされているオプションは `gclPrefix` のみです。

### `gclPrefix`

- **対象:** `google_mp` ベンダーのみ
- **用途:** Google Marketing Platform用のCookieプレフィックスをカスタマイズ
- **デフォルト:** `'_gcl'`


**使用例:**

```javascript
td.collectTags({
  vendors: ['google_mp']
}, {
  gclPrefix: '_custom_gcl'  // '_custom_gcl' で始まるCookieを収集
});
```

## 実用例

### 基本的なマルチプラットフォーム追跡

```javascript
var td = new Treasure({
  database: 'marketing_data',
  writeKey: 'your_write_key'
});

// 主要プラットフォームの一括収集
td.collectTags({
  vendors: ['meta', 'google_ads', 'google_ga', 'x', 'tiktok']
});

td.trackPageview('page_views');
td.trackEvent('conversions', { action: 'purchase', amount: 100 });
```

### エンタープライズ向けの包括的な設定

```javascript
// 企業向け包括的追跡
td.collectTags({
  vendors: ['meta', 'google_ga', 'google_mp', 'marketo', 'tealium'],
  cookies: ['_custom_tracking', '_internal_id'],
  params: ['campaign_id', 'utm_source']
}, {
  gclPrefix: '_company_gcl'
});
```

### 地域特化型の設定

```javascript
// 日本市場向け
td.collectTags({
  vendors: ['yahoojp_ads', 'line', 'meta', 'google_ga']
});

// 欧米市場向け
td.collectTags({
  vendors: ['meta', 'google_ads', 'x', 'pinterest', 'snapchat']
});
```

### 若年層ターゲット向け

```javascript
// ソーシャルメディア中心
td.collectTags({
  vendors: ['tiktok', 'snapchat', 'instagram', 'x']
});
```

## 注意事項

### プライバシーとコンプライアンス

- 各プラットフォームのプライバシーポリシーを遵守してください。
- GDPR、CCPA、その他の規制に基づき、適切な同意取得が義務付けられています。
- ブラウザのプライバシー設定や広告ブロッカーの影響により、データ収集に制限が生じる場合がございます。


### 技術的な制限事項

- クッキー（Cookie）またはURLパラメータが存在しない場合、値には「null」が設定されます。
- 一部のプラットフォームでは、対応するPixelやタグの実装が必要です。
- クロスサイト・トラッキングの制限により、一部のクッキーが収集できない場合があります。


### パフォーマンスに関する考慮事項

- 多数のベンダーを指定する場合、初期化にかかる時間への影響をご考慮ください。
- お客様のユースケースに応じて、必要なプラットフォームのみを指定されることを推奨いたします。
- 広範なタグデータを収集する際は、ペイロード（データ容量）のサイズを監視してください。