Web広告の運用で欠かせないといっても過言ではないものの一つは計測タグでしょう。大事なタグの設置と管理をGoogleが提供しているGoogleタグマネージャー(GTM)で行うことが多いかと思いますが、設置した(はずの)タグが思い通りに動作しないことがありますよね。そういう時にまず確認してほしいチェックポイントをまとめました。
タグでお困りのときは上から順番に確認してみてください。
目次
そもそもどうやってタグの動作を確認するか
タグの動作確認の方法は、大きく分けて下記の2種類です。
- Google タグ マネージャー(以下、GTM)のプレビューで確認する
- 媒体への通信を確認する(Chromeデベロッパーツール、媒体のタグチェックツールを使用)
1のみだと正常に計測されていないことがあるので、2も合わせて確認することをお勧めします。
なぜならGTMプレビューは、あくまでGTM上の設定がブラウザでどのように動くか、というシミュレーションなので、各媒体に必要な情報の通信が成功したかは、別で確認する必要があるためです。
Chromeデベロッパーツールと各媒体のチェックツールの使い方については下記の記事をご参照ください。
本記事では、タグの動作が確認できない、または意図通りの内容になっていないときに1、2のいずれかで確認するべきポイントを解説します。
タグが動作しないときのチェックポイント
それでは、タグが動作しないときのチェックポイントを見ていきましょう。より根本的な原因が上に来るように並べてありますので、上から順番にチェックしてみてください。
1. GTMコンテナが該当のページに入っているか
タグが動作しない場合は、まずタグ設定を行ったGTMコンテナのタグが、該当のページに設置されているかを確認しましょう。
GTMコンテナのタグは基本的にサイト内の全ページに設置していると思いますが、まれに一部を別のコンテナで管理していたり、サイトの改修で後から作ったページにGTMコンテナが設置されていなかったりする場合があります。
GTMのアクセス権限を持っている場合と持っていない場合のそれぞれの確認方法は下記です。
GTMのアクセス権限を持っている場合の確認方法
目的のタグを設定したGTMコンテナから、プレビューモードを起動して、確認したいページで「Tag Assistant Connected」となればGTMタグが入っています。
「not Connected」の場合はそのページにGTMのタグが設置されていません。
GTMのアクセス権限を持っていない場合の確認方法
GTMへ直接アクセスできなくても、ブラウザからコンテナタグを確認できる方法があります。確認したいページを開いて右クリックし、「ページのソースを表示」を選択します(ショートカット Windows:Ctrl+U、Mac:Command+Option+Uでも表示できます)。
ソース内をGTMのコンテナID(GTM-XXXXの形式のID)で検索(ショートカット Windows:Ctrl + F、Mac:Command+F)して、記述が存在すればGTMタグが入っています。
※コンテナIDがヒットしても、例えばタグの記述が途中で切れてしまっているなどで正常に動作していないことはあり得ます。その場合はまずGTMタグを正確に設置してください。
2. GTM上でタグが有効になっているか
GTMはタグ単位でオンオフができるので、よく見たらオフになっていて動作しなかった、という場合があります。そのために、GTMの管理画面で該当のタグが一時停止になっていないか確認しましょう。
GTM管理画面で 左側メニューから「タグ」を選択し、タグの一覧で確認します。
一時停止のタグは、画像のように一時停止のアイコンが表示されます。
3. セットで動作する必要のあるタグがそろっているか
例えば、Meta(FacebookやInstagramなど)であればベースコード、Criteoであればローダーファイルなど、媒体によってイベントのタグとセットで動作させる必要のあるタグがあります。必要なタグがすべて動作しているか確認しましょう。
ベースコードの後にイベントタグが動作するなど、動作の順序が決まっていることが多いので、仕様どおりの順序で設定しているか、タグの順序付けも確認します。
GTM管理画面の「タグ」から、タグ名をクリックして「タグの設定」>「タグの順序付け」を確認しましょう。
各広告媒体の仕様については、公式ヘルプを確認しましょう。CriteoとMetaのタグはアナグラムブログでも解説しているので、参考にしてください。
4. トリガー条件が合っているか
GTMではタグの動作条件として設定されている「トリガー」が存在しますが、そのトリガー設定が意図通りになっていないケースが珍しくありません。
タグの動作に違和感がある場合、GTMプレビューで該当のタグの「Firing Triggers」を確認しましょう。
【Firing Triggersの確認手順】
GTMでプレビューを起動します
- 画面左の一覧から、トリガーに設定した動作タイミング(DOM Readyなど)をクリックします
- 画面右下の「Tags」のタブをクリックします
- 「Tags Not Fired」のセクションから、目的のタグを探し、クリックします
- タグ動作の詳細画面(Tag Details)が開きます
- 画面下の「Firing Triggers」を確認します
トリガー条件で「×」になっているものがあれば、トリガー条件を見直します。
「×」になっているのは、トリガーに設定されているけれど当てはまらなかった条件です。
例えば、URLに〇〇を含む、という条件に「×」がついた場合は、条件の文字列や正規表現が実際の遷移先ページURLと一致しなかったということです。トリガー設定時に想定していなかったURLのパターンがテストで見つかることもあるので、「×」になった条件をよく確認してください。
タグは動作してるはずだけど媒体でコンバージョンが計測されないとき
GTMプレビューで見るとタグは動作しているけれど、広告媒体側でコンバージョンが計測されないときは、以下のポイントを確認しましょう。
5. 広告媒体側へ通信が飛んでいるか
GTMプレビューは、あくまでGTM上に書かれたタグがどのように動作するかを確認するものです。そのため、GTM上だと動作しているけど、実際は何らかの原因で媒体まで通信が飛んでない可能性があります。
Chromeデベロッパーツールの「Network」、または媒体提供のタグチェックツールで、媒体に通信が飛んでいるかを確認しましょう。通信が飛んでいない場合は、なんらかのエラーが起こっている可能性があります。
Networkタブの詳しい見方については上述にもご紹介しているこちらの記事をご参考ください:
6. タグに設定しているアカウントID、コンバージョンラベルなどが正しいか
設計書やタグのコードをコピペで作って、誤って他アカウントのIDを記載していることがあります。GTMの管理画面、またはChromeのデベロッパーツール、Tag AssistantやMeta Pixel Helperなど、媒体提供のタグチェックツール(Chrome拡張機能)を使用して、タグのアカウントID等を確認しましょう。
商品などのIDが取れない/取れるかわからない
新規にタグを設置しようとするとき、目的の値(商品ID、価格など)がタグで取得できるかわからない場合は、下記のポイントをチェックしてください。
dataLayerが使える場合はGTM上で比較的簡単に変数を設定することができますが、それ以外(HTML上の要素やページのURLから目当ての商品情報を取得する場合)は基本的にJavaScriptの知識が必要になります。下記のチェックポイントに沿ってページ内で目当ての値が取れそうなことを確認した上で、社内のエンジニアさんなどに相談してみることをおすすめします。
7. dataLayerに目的の値が入っているか
dataLayerは、GTMに必要な値(商品ID、売り上げ値など)を渡すために用意する仕組みです。
サイトとGTMがデータのやりとりをできるように、そのデータを一時保存するための入れ物のようにイメージしていただけると分かりやすいかもしれません。このdataLayerを通じて、あらかじめWebサイト側で必要なタイミングで必要な値をセットしておきます。
すでにWebサイト側にdataLayerが設定されており、タグを動作させる時点でdataLayerに目的の値が入っていれば、GTMの設定で値を取得できます。
【Chromeデベロッパーツールを使った確認方法】
- Chromeデベロッパーツールを起動(F12)
- 上部の「Console」タブをクリック
- 「>」の横に「dataLayer」と入力し、Enterを押します
こうしてdataLayerの内容が表示されるので、目的の値が入っているかを確認します。
【GTMプレビューを使った確認方法】
まずは、GTMプレビューを起動し、該当のページまで遷移します。
タグを動作させたいタイミング(DOM Ready※など)を選択し、「Data Layer」のタブを確認すると、dataLayerの内容が表示されるので、目的の値が入っているかを確認します。
※DOM Readyとは、ページ内の要素をすべて読み込んだタイミングで実行されるトリガーのことです。
8. 目的の値がHTML内に書いてあるか
HTMLの記述に書いてあれば、「カスタムJavaScript変数」を使って値を取得できることがあります。
商品IDなどを取るのによく使うのは、商品ページへのリンクや商品の写真(画像名)です。
例えば、詳細ページへ遷移するボタンのリンク先URLを取得して、URLから正規表現で商品IDを取り出す、といった処理をすることでIDを取得することができます。
【HTMLの確認方法】
- Chromeデベロッパーツールを起動
- 左上のアイコンをクリック
- この状態でページ内の要素にマウスオンすると、HTMLの内容を確認できます。目的の値が書いてありそうな箇所を探しましょう
9. 目的の値がページURLに含まれているか
商品IDなどがページURLに含まれている場合は、カスタムJavaScript変数を使って値を取得できることがあります。
例)商品詳細ページが下記のようなURLのとき、現在閲覧しているページのURLから、正規表現を使って商品ID(この場合はA001)を取得可能です。
番外編:カートまではページ上でIDが取れるけど、サンクスページでは取れない
例えば、カートページまではdataLayerに商品の情報が入っているが、そのあとの決済情報ページ、サンクスページではdataLayerがない場合、コンバージョンタグにどうやって商品情報を渡せば良いでしょうか。
そのような場合は、カートページで取得した商品IDや価格を、CookieやlocalStorage(ローカルストレージ)に格納して、サンクスページで取り出すことで対応できる場合があります。
※Cookie、localStorageはどちらもブラウザ上で情報を一時的に保存するための仕組みで、JavaScriptで値を格納したり取り出したりできます。
カート内で数量を変更できる場合、Cookieやlocalstorageに格納するタイミングによっては、コンバージョン時の価格や数量が変わってしまう可能性があることに注意してください。
設定したが目的の値が取れていないときのチェックポイント
下流から順番にさかのぼって確認しましょう。
10. GTMプレビューでタグの変数名を確認
目的の値が取れていない変数がどれかを確認します。
GTMでプレビューすると、Tag Assistantの画面で各タグに設定されている変数が確認できます。画像の例ではコンバージョン値に「CV_value」という変数が設定されていることがわかります。
11. 変数の状態を確認
対象の変数が、動作時にどのような状態になっているか確認します。
GTMプレビュー画面の「Variables」(変数)タブを確認します。先ほど確認した変数名で検索し、値が入ってる/値が入ってない/値が入ってるけどおかしい、のどの状態かを見ます。
画像の例では、「CV_value」の値として「5000」が入っていることが確認できます。
上記は値が入っていない例です。こちらの画像では、「CV_value」の値が「undefined」になっています。
例の変数はdataLayer変数なので、dataLayerの設定になんらかの問題がある可能性が高いことが推測できます。この場合は次にGTM管理画面でdataLayer変数の設定内容を確認し、次は実際のdataLayerの値がどうなっているか…と順番に確認していきます。
変数の設定がうまくいっていない原因は個別の状況によりますが、よくあるのは下記の3つの状況です。
- カスタムJavaScript変数で、JavaScriptの内容が間違っている
- Webサイト側で何か変更があった(HTMLのクラス名、dataLayerの構成などが変わった)
- タグが動作するタイミングでまだ変数に値が入っていない(dataLayerに値が書き込まれる前や、GTMで設定した変数に値が書き込まれる前のタイミングでタグが発火してしまった)
まとめ
タグがうまく動作していないとき、どこから確認したらいいかとまどってしまうこともあると思います。
原因は場合によって異りますが、「GTMのタグが入ってない」「タグがオフになっている」など、なんで気づかなかったんだろうという原因で動作していないこともありますので、落ち着いてこの記事のポイントを上から順番に確認してみてください。