【GTM】Yahoo!SS・YDNのリニューアル版タグの設置方法

# はじめに
2019年9月にYahoo!SSとYDNの「コンバージョン測定タグ」「サイトリターゲティングタグ」がリニューアル。
新しい計測タグには設置の方法に注意を要する部分が増えており、周囲でトラブル情報が度々上がってくるようになりました。本記事では、[GTM（Google タグマネージャー）](https://marketingplatform.google.com/about/tag-manager/)を使ったこれらの計測タグのオススメの設定方法をご紹介いたします。

※ 2019年12月16日時点で公開されている情報を元に記事を書いています。


# 計測タグの何が変わった？

一番大きく変わった点はタグの**発火順序**に気をつける必要が生まれた点です。

元々SafariブラウザのITP機能によりコンバージョン計測ができなくなる状況への対策として設置を推奨されていた「サイトジェネラルタグ」に「コンバージョン測定タグ」と「サイトリターゲティングタグ」の機能の本体部分が組み込まれ、
コンバージョン測定タグもサイトリターゲティングタグも「サイトジェネラルタグに内蔵された機能を呼び出して使用するためのタグ」という役割に変わりました。

拳銃に例えるなら、リニューアル版のコンバージョン測定タグ・サイトリターゲティングタグは「引き金」の部分であり、火薬や銃弾などの発射機構「本体」はサイトジェネラルタグ側にあります。
（あるいは「リモコン」と「リモコンによって操作されるエアコン」のような関係性）

このため、必ず一番最初にサイトジェネラルタグを読み込み実行完了した上で、コンバージョン測定タグおよびサイトリターゲティングタグを読み込ませる必要がある仕様となっております。

![スライド1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103957/502d5952-eece-551b-0320-d5b5d215dbfe.png)
![スライド2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103957/344257f1-add1-05cb-6d5e-7714db461af9.png)
![スライド3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103957/a8fc2955-4d79-aecc-91e8-eaf56ae3db84.png)

リニューアル版のタグに正しく変更することでコンバージョンの計測漏れが減ったとの報告も耳にしていますので、対応できるのであればなるべく早く旧計測タグからの移行をオススメいたします。

# 計測タグ設置の手順
以下より、Yahooの計測タグを問題なくGTMに設定する方法を解説します。

## 0. プライバシーポリシー記載の確認
Yahoo!JAPANプロモーション広告の計測タグを設置する前に
「広告取扱基本規定」に基づき、プライバシーポリシーに必要な情報が記載されているかを確認します。

- [プライバシーポリシーに必要な記載事項 - Yahoo!プロモーション広告 ヘルプ スポンサードサーチ](https://support-marketing.yahoo.co.jp/promotionalads/ss/articledetail?lan=ja&aid=7448)
- [プライバシーポリシーに必要な記載事項 - Yahoo!プロモーション広告 ヘルプ YDN](https://support-marketing.yahoo.co.jp/promotionalads/ydn/articledetail?lan=ja&aid=1411)

<details><summary>「**ここ**」をクリック or タップして説明を展開</summary><div>

> **広告取扱基本規定**
> （中略）
> **第8条 （データの収集）**
> （中略）
>2. 申込者は、ユーザーの利用状況を測定するために、自らのリンク先などに、ヤフーより本件ツールとして提供されたウェブビーコンなどのコードを埋め込む場合、申込者の費用と責任において、当該リンク先を訪れるユーザーに対し、以下の事項を表明するものとします（申込者のプライバシーポリシーへの記載を含みます）。
> 　
> 1. 申込者のリンク先にヤフーのウェブビーコンが設置されること
> 2. ヤフーがユーザーのクッキー情報を取得すること
> 3. ヤフーが取得したクッキー情報はヤフーのプライバシーポリシーに従って取り扱われること
> 4. ヤフーは申込者に個人情報を提供しないこと（統計資料にて提供されること）
> [広告取扱基本規定 - Yahoo!マーケティングソリューション - https://marketing.yahoo.co.jp/guidelines/terms.html](https://marketing.yahoo.co.jp/guidelines/terms.html)

Yahoo!JAPANプロモーション広告の計測タグを設置する前に
「広告取扱基本規定」に基づき、プライバシーポリシーに必要な情報が記載されているかを確認します。

また、計測タグによって[センシティブな情報](https://support-marketing.yahoo.co.jp/promotionalads/ss/articledetail?lan=ja&aid=23651)が収集されてしまう可能性がある場合、タグによる情報収集機能は利用することができません。

世間のプライバシーへの関心の高まりにより、WEBトラッキング技術の取り扱いについては年々厳しい目が向けられるようになっています。
プライバシーポリシーを適切に用意しないと将来的にYahoo!JAPANに広告が停止されてしまったり、最悪のケース法的な取り締まり対象となってしまうおそれもあるので注意が必要です。
</div></details>

## 1．タグの発行
まずは以下の要領で必要なタグを発行してメモ帳などに貼り付けて準備しておきます。
### 1-1. Yahoo!SS
Yahoo!SSによる広告プロモーションを行うとき、
設定したいコンバージョン設定の数だけのコンバージョン測定タグとサイトリターゲティングタグを準備します。
「サイトジェネラルタグ」は一旦無視して作業を進めて下さい。

#### Yahoo!SS コンバージョン測定タグ
コンバージョン測定タグは以下の目的のために設定する必要がある重要な計測タグです。

- どの広告施策が成果に繋がったかを把握する
- より[成果に繋がりやすい広告が配信](https://support-marketing.yahoo.co.jp/promotionalads/ss/articledetail?lan=ja&aid=903)されるようにする
- コンバージョン単価の目標値設定などの[自動入札機能](https://support-marketing.yahoo.co.jp/promotionalads/ss/articledetail?lan=ja&aid=2693)が適切に動作するようにする

[広告効果を可視化するコンバージョン測定とは？＜マニュアル付き＞ - Yahoo!プロモーション広告 公式 ラーニングポータル](https://promotionalads.yahoo.co.jp/online/step_ss2_2.html)


作成したコンバージョン設定ごとにタグが分かれているので、必要な数だけコンバージョン測定タグを準備しましょう。

##### Yahoo!SS コンバージョン測定タグの例

```html:
<script async>
ytag({
  "type": "yss_conversion",
  "config": {
    "yahoo_conversion_id": "0000000000",
    "yahoo_conversion_label": "XxxXXXXXxXXXXXxxxxXX",
    "yahoo_conversion_value": "0"
  }
});
</script>
```

##### Yahoo!SS コンバージョン測定タグの発行方法についてのヘルプ
[スポンサードサーチのコンバージョンを計測する - Yahoo!プロモーション広告 ヘルプ](https://support-marketing.yahoo.co.jp/promotionalads/middlecategory?lan=ja&cid=1682)

#### サイトリターゲティングタグ
サイトリターゲティングタグは既にサイトを訪れたユーザーに対し、以下のような広告配信制御を行うために必要なタグです。

- サイト訪問者向けの特別な広告を配信する
- 申込完了ページなど、特定のページを訪問した場合に広告の配信を停止する
- オークションでの入札額を調整する

[スポンサードサーチの「サイトリターゲティング」 - Yahoo!プロモーション広告 公式 ラーニングポータル](https://promotionalads.yahoo.co.jp/online/ssretarge.html)

サイトリターゲティングタグは1アカウントごとに1つ発行できます。

##### Yahoo!SS サイトリターゲティングタグの例

```html:
<script async>
ytag({
  "type":"yss_retargeting",
  "config": {
    "yahoo_ss_retargeting_id": "0000000000",
    "yahoo_sstag_custom_params": {
    }
  }
});
</script>
```
##### Yahoo!SS サイトリターゲティングタグの発行方法についてのヘルプ
[サイトリターゲティング用タグの取得とサイトへの設置 - Yahoo!プロモーション広告 ヘルプ](https://support-marketing.yahoo.co.jp/promotionalads/ss/articledetail?lan=ja&aid=7460)

### 1-2. YDN
YDNによる広告プロモーションを行うとき、
Yahoo!SSと同様に設定したいコンバージョン設定の数だけのコンバージョン測定タグとサイトリターゲティングタグを準備します。
こちらでも「サイトジェネラルタグ」は一旦無視して作業を進めて下さい。

#### YDN コンバージョン測定タグ
どの広告配信施策が成果に繋がったか把握するために重要なタグです。
作成したコンバージョン設定ごとにタグが分かれているので、必要な数だけコンバージョン測定タグを準備しましょう。

##### YDN コンバージョン測定タグの例

```html:
<script async>
ytag({
  "type":"yjad_conversion",
  "config":{
    "yahoo_ydn_conv_io": "XXXXxxxXXXXxxxXxXxx",
    "yahoo_ydn_conv_label": "XXXXXXXXXXXXXXXXXXXXXXXXX",
    "yahoo_ydn_conv_transaction_id": "",
    "yahoo_ydn_conv_value": "0"
  }
});
</script>
```

##### YDN コンバージョン測定タグの発行方法についてのヘルプ
[ウェブサイトのコンバージョン測定を新規設定する - Yahoo!プロモーション広告 ヘルプ](https://support-marketing.yahoo.co.jp/promotionalads/ydn/articledetail?lan=ja&aid=1355)

#### YDN サイトリターゲティングタグ
サイトリターゲティングタグは既にサイトを訪れたユーザーに対し、以下のような広告配信制御を行うために必要なタグです。

- サイト訪問者向けの特別な広告を配信する
- 申込完了ページなど、特定のページを訪問した場合に広告の配信を停止する
- オークションでの入札額を調整する
- 特定のサイト訪問者群と[類似する見込み顧客に広告を配信](https://support-marketing.yahoo.co.jp/promotionalads/ydn/articledetail?lan=ja&aid=1401#c03)する

[サイトリターゲティングとは - Yahoo!プロモーション広告 公式 ラーニングポータル](https://promotionalads.yahoo.co.jp/online/siteretarge_overview.html)

サイトリターゲティングタグは1アカウントごとに1つ発行できます。
##### YDN サイトリターゲティングタグの例

```html:
<script async>
ytag({
  "type":"yjad_retargeting",
  "config":{
    "yahoo_retargeting_id": "XXXXXXXXXX",
    "yahoo_retargeting_label": "",
    "yahoo_retargeting_page_type": "",
    "yahoo_retargeting_items":[
      {item_id: 'i1', category_id: '', price: '', quantity: ''},
      {item_id: 'i2', category_id: '', price: '', quantity: ''},
      {item_id: 'i3', category_id: '', price: '', quantity: ''}
    ]
  }
});
</script>

```

##### YDN サイトリターゲティングタグの発行方法についてのヘルプ
[サイトリターゲティング用タグの取得とサイトへの設置 - Yahoo!プロモーション広告 ヘルプ](https://support-marketing.yahoo.co.jp/promotionalads/ydn/articledetail?lan=ja&aid=1397)

### 1-3. Yahoo!SS・YDN 共通
#### サイトジェネラルタグ+コンバージョン測定補完機能タグ
Yahoo!SSかYDNの何れかの**コンバージョン測定タグ発行画面**で確認できるサイトジェネラルが表示される画面で「サイトジェネラルタグを設置していない」のラジオボタンにチェックが入ったときに表示されるタグをコピーします。

Yahoo!SS、YDNでアカウントを問わず共通のタグなので、アカウントが複数あっても複数発行する必要はありません。

##### サイトジェネラルタグ+コンバージョン測定補完機能タグの発行画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103957/2cc3ec17-4ad7-8d1e-0678-35733edcfeb0.png)

##### サイトジェネラルタグ+コンバージョン測定補完機能タグの例

```html:
<script async src="https://s.yimg.jp/images/listing/tool/cv/ytag.js"></script>
<script>
  window.yjDataLayer = window.yjDataLayer || [];
  function ytag() { yjDataLayer.push(arguments); }
  ytag({"type":"ycl_cookie"});
</script>
```

「`ytag({"type":"ycl_cookie"});`」部分が「[コンバージョン測定補完機能タグ](https://support-marketing.yahoo.co.jp/promotionalads/ss/articledetail?lan=ja&aid=32877)」部分なので、必ずこの記述がコードに含まれていることを確認します。

※サイトリターゲティングタグ発行画面から確認できるサイトジェネラルタグには「コンバージョン測定補完機能タグ」部分の記述がないので、必ずコンバージョン測定タグ発行画面のサイトジェネラルタグを利用するようにします。

##2. GTMの設定
すべてのタグを手元に用意できたらGTMの設定に移ります。

### 2-1. トリガー設定の作成
まずはそれぞれのタグに紐付けるトリガー設定を作成します。

#### 2-1-1. トリガー「PV - すべてのページ」の作成
サイトリターゲティングタグ用に「すべてのページビューに反応するトリガー設定」を以下のように作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103957/c3ef875d-b07f-a1cc-8bf6-f96bda933377.png)
※「example.com」の部分を自分がタグを設置したいサイトのドメインに変更して下さい

<details><summary>「**ここ**」をクリック or タップして詳細な説明を展開</summary><div>

上記のように「すべてのページ」を対象としたトリガー設定であっても稼働するドメインを限定する形でトリガーを作成することにより、GTMのタグが誤って他サイトに貼られてしまうことによる意図せぬサイト上でタグが発火する事故を防ぐことができます。

（自分がいくら気をつけていてもアフィリエイターさんなど他サイトが自社サイトのソースを無断でコピー＆改変したサイトをいつの間にか作っており、そのときにGTMごとコピーされて別サイトに貼られていることがあります。）
</div></details>

#### 2-1-2. トリガー「PV - 完了ページ」の作成

コンバージョン測定タグ用に「サンクスページで発生したページビュー時のみに反応するトリガー設定」を以下のように作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103957/67bfdf90-110c-8b3d-e533-67052d62c442.png)
※「example.com」の部分を自分がタグを設置したいサイトのドメインに変更して下さい
※「/form/thanks.html」の部分を自分がタグを設置したいサイトの完了ページURLに合わせて変更して下さい

以上でトリガーの準備は終了です。

### 2-2. タグ設定の作成
#### 2-2-1. サイトジェネラルタグ+コンバージョン測定補完機能タグ設定の作成
タグタイプ「カスタムHTMLタグ」を選択し、用意していた「サイトジェネラルタグ+コンバージョン測定補完機能タグ」のコードを貼り付けた上で、

「詳細設定」と書かれている部分をクリックし、展開されるメニューの「タグ呼び出しオプション」のメニューを選択し、「**1ページにつき1度**」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103957/655b8b17-7136-f49c-76c3-007f08e170a6.png)
このタグ設定は他のタグ設定により呼び出しを行うため、トリガーを選択せずにこのまま保存します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103957/f6062268-d389-c5bf-9a2a-c462d7f87501.png)

※ 「document.writeをサポートする」はチェック不要

#### 2-2-2. サイトリターゲティングタグ設定の作成
用意していたすべてのYahoo!SS用・YDNのサイトリターゲティングタグそれぞれで以下の作業を行います。

##### コードの貼付け
タグタイプ「カスタムHTMLタグ」を選択し、用意していた「サイトリターゲティングタグ」を貼り付けます。

※ 「document.writeをサポートする」はチェック不要

##### サイトジェネラルタグとの紐付け設定
「詳細設定」と書かれている部分をクリックし、展開されるメニューのタグの順序付け」オプションをクリック。
「●●●が発効する前にタグを配信」という文字の左側のチェックボックスにチェックを入れることで「設定タグ」を選択できるようになるので、先ほど作成していた「サイトジェネラルタグ+コンバージョン測定補完機能タグ」を選びます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103957/d10a8b45-11d4-fdf6-bf0d-b11fb5a29f60.png)
この設定を行うことで、サイトリターゲティングタグが呼び出されるタイミングになると直前に「サイトジェネラルタグ+コンバージョン測定補完機能タグ」が呼出・実行され、その後にサイトリターゲティングタグが動作するようになります。

[タグの順序付け - タグマネージャ ヘルプ](https://support.google.com/tagmanager/answer/6238868?hl=ja)

最後に、忘れずにサイトリターゲティングタグにトリガー設定「PV - すべてのページ」を設定した上でタグ設定を保存します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103957/45369ed6-2db7-da7e-7665-7989bcafc0b2.png)

以上の設定をすべてのYahoo!SSおよびYDNのサイトリターゲティングタグで行います。

このとき、最初に作ったサイトリターゲティングタグの設定画面をもう一度開き、右上の「︙」ボタンをクリックして出てくる「コピー」機能を使って複製し、必要な部分だけを書き換えて保存することで作業時間を短縮できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103957/d8ab600c-013a-33b7-5773-7270b8b7921f.png)
また、「サイトジェネラルタグ+コンバージョン測定補完機能タグ」側のタグ呼び出しオプションを「1ページにつき1度」に設定しているため、
複数のタグの「設定タグ」に「サイトジェネラルタグ+コンバージョン測定補完機能タグ」を登録しても同じページビュー内で「サイトジェネラルタグ+コンバージョン測定補完機能タグ」が多重に呼び出されることはありません。

##### サイトジェネラルタグについて「1回のイベントにつき1度」ではなく「1ページにつき1度」を推奨する理由
<details><summary>「**ここ**」をクリック or タップして説明を展開</summary><div>

将来的にDOM Readyやリンククリック時にYahooのサイトリターゲティングタグやコンバージョンタグが動くように設定するとき、サイトジェネラルタグのタグ呼び出しオプションを「1回のイベントにつき1度」に設定していると、

- ページビュー発生時のイベントで1度
- DOM Readyのイベントで1度
- リンククリックイベント発生時に1度

のように、サイトジェネラルタグが異なる種類のイベントにより1度のページビュー内で複数回呼び出されてしまう恐れがあるためです。
今は良くても将来的に地雷になりうる設定なので「1ページにつき1度」に変更することで予めその可能性を排除しています。

[タグ呼び出しオプション - タグマネージャ ヘルプ](https://support.google.com/tagmanager/answer/6279951?hl=ja)
</div></details>

#### 2-2-2. コンバージョン測定タグ設定の作成
用意していたすべてのYahoo!SS用・YDNのコンバージョンタグそれぞれで以下の作業を行います。

サイトリターゲティングタグと同じ要領で…

- カスタムHTMLタグを使用しコンバージョンタグのコードを貼り付ける
- 「設定タグ」に「サイトジェネラルタグ+コンバージョン測定補完機能タグ」を設定する
- トリガー設定「 **PV - 完了ページ** 」との紐付けを行う

※ 「document.writeをサポートする」はチェック不要
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103957/4b1112fb-2259-6526-55b1-4d75a793bdfc.png)

更に、詳細設定で「タグ配信の優先度」に`100`と半角で数値を入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103957/68ce4723-bbd3-f2a3-64f7-c51b058aee67.png)

このように設定することでコンバージョン測定タグがサイトリターゲティングタグ等の他タグと比較して、なるべく早いタイミングで優先的に実行開始、実行完了されるようになるため、コンバージョンタグの発火の確実性を上げることができます。
Yahoo以外でも同じくコンバージョンタグなど重要なタグがある場合、そちらにも同様に`100`と入力してあげると何も入力しなかったタグと比較して優先的に読み込まれるようになります。

[優先度の設定 - タグマネージャ ヘルプ](https://support.google.com/tagmanager/answer/2772421?hl=ja)

以上でタグ設定作業は終了です。

最後に念のため「サイトジェネラルタグ+コンバージョン測定補完機能タグ」の設定画面を開き、トリガー設定項目内の「次のタグの直前にタグを配信します」という項目にここまでで作成したすべてのYahooの計測タグが含まれていることを確認しておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103957/185811d4-43e9-b36f-8b83-aec2ca14e620.png)

### 2-3. コンテナの公開

お疲れ様でした！あとはGTMのコンテナを公開すれば作業終了です。
コンテナ公開後はタグの稼働チェックを忘れずに行いましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103957/3d2f88fc-956c-0c2b-59e5-88d124aa16b3.png)

## 3. おわりに
このタグ設定方法をマスターすれば、同じく発火順序の制御が必要であるLINE Ads Platform、Facebook広告の計測タグについても問題なくGTMに設定することができます。

発火順序制御が必要なタグの見極めはJavaScriptの知識がないと難しいですが、一つの判別手法として、「タグのコード中にURLらしきものが一切含まれていないタグ」が存在する場合、そのタグは単独では広告の計測システムに対し「サイト訪問があったよ」「コンバージョンあったよ」と自分ひとりの力では報告できないタグであり、セットで設置する他タグとの前後関係に注意が必要であることが多いので、いつも以上にタグ設定に気をつけましょう。