230 人が現在オンライン
230 人が現在オンライン
Google アナリティクスの Google タグマネージャを含む計測の設定やトラブルシュートなどについて、ユーザー同士で意見交換ができます。解析を通して浮かんだ質問やアイディアを投げかけ合ってより知識を高めていきましょう。
ガイドを表示
star_border
返信

GTM実装時にエラーが表示される

yy
初級者 ✭ ✭

■概要
GoogleTagManagerの導入テストをしているのですが、TagAssistantにてエラーが表示されていたので問題ないかどうかを確認したいです。

 

■エラー内容
GTMを実装後テストタグが発火されるかを確認して問題なく発火されていることを確認したが、
GoogleTagAssisitanにて「Data layer needs to be above the container snippet」というエラーが表示されていた。エラーの内容を確認したところ、下記ページに記載されている件が問題だと分かった。
https://support.google.com/tagassistant/answer/3207128?ref_topic=2947092#dl_snippet

Data layer needs to be above the container snippet
Datalayer should be added above the container snippet. Variables pushed to the data layer after the container snippet will not be able to fire tags on page loads with a matching condition.

Variables pushed to the data layer after the container snippet will not be able to fire tags on page loads with a matching condition.

Move the datalayer to above the container snippet

どうやら、設置されているデータレイヤーが今回実装したGTMのコンテナスニペットよりも下にあるからエラーになっている。

GoogleAssistantで表示されているデータレイヤーは、下記でbody内に記載されており、
GTMを実装する前から広告関連のために実装していた。
[
{
"google_tag_params": {
"dynx_pagetype": "test1",
"dynx_device": "test2"
}
}
]

GTMのコンテナスニペットは、<head>のなるべく上の方と<body>の直後に設置しろと書かれていたので、body内に書かれているデータレイヤーが下になってしまうのは仕方ない気もします。


■確認したいこと

1.このエラーを放置していても、特に問題はないのでしょうか?
タグは発火されていますし、データレイヤーもページ上表示されているので問題ないような気もしますが、
広告関連に使っているデータレイヤーなので影響があることは避けたいと思っています。


2.エラーを解消するにあたってのベストプラクティスをご存知であればご教示頂きたいです。単純にデータレイヤーをコンテナスニペットよりもうえに設置する(<head>上部に記述する?)ことになるでしょうか?
うえに表示させるのもデータレイヤーとコンテナスニペットどちらを移動させるのが正解なのかわからないので、詳しく教えて頂けると嬉しいです。


何卒よろしくお願い致します。

1 人のエキスパートが返信verified_user

受理された解決策
ベストアンサーのマーク済み.
解決策
トピック作成者yyさんが付与
12月

Re: GTM実装時にエラーが表示される

注目ユーザー
yyさん

ご認識の通りで間違いないです。

<head>~</head>に記載しているGTMタグより上に、DataLayerを設置してください。

DataLayerがGTMタグより下にあると、
DataLayerで取得されるデータが読み込まれず漏れることがあります。
DataLayerで取得するデータは確実に反映させたほうがいいため、
冒頭に記載した方法で対応されてください。

ご参考までに。
でぶてて

元の投稿で解決策を見る


すべての返信
ベストアンサーのマーク済み.
解決策
トピック作成者yyさんが付与
12月

Re: GTM実装時にエラーが表示される

注目ユーザー
yyさん

ご認識の通りで間違いないです。

<head>~</head>に記載しているGTMタグより上に、DataLayerを設置してください。

DataLayerがGTMタグより下にあると、
DataLayerで取得されるデータが読み込まれず漏れることがあります。
DataLayerで取得するデータは確実に反映させたほうがいいため、
冒頭に記載した方法で対応されてください。

ご参考までに。
でぶてて

Re: GTM実装時にエラーが表示される

Ray
レジェンド
yyさん、こんばんは。

ご質問拝見しました。
今回ですが、でぶててさんも記載されている通り、datalayerをGTMタグよりも上に設置いただくよう修正を行った方がよいかと思います。
ページにアクセスした時に発火させたいリターゲティングとなると、datalayerが上手く動作せず数字落ちの原因となり得るので、できればご対応いただくのがよいかなと。

また、記述に関してですが、現在設置されているdatalayerをGTMよりも上に設置するよう移動いただく、で問題ないかと思います。
参考資料として、datalayerの記述方法についてまとめてある記事をお送りしますね。
https://webtan.impress.co.jp/e/2015/03/18/18983

お手隙にご確認いただけると幸いです。
よろしくお願いします。
Ray お役に立てましたら、いいねや解決済みマークを押していただけると幸いです!

Re: GTM実装時にエラーが表示される

プロフェッショナル ✭ ✭

yyさん、こんばんは。

 

1.このエラーを放置していても、特に問題はないのでしょうか?

影響があることは避けたいとのご意向とのことですので、こちらは、できれば、ではなく、必ず対処をした方がいいエラーになります。

 

2.エラーを解消するにあたってのベストプラクティスをご存知であればご教示頂きたいです。

理想としてはでぶててさんがおっしゃるように、GTMタグより上に設置頂くのがベストです。

 

ただし、dynx_pagetypeやdynx_deviceに動的な値を入れたい等々、GTMタグより下にしかdataLayerを出力できない場合

window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
	"google_tag_params": {
		"dynx_pagetype": "test1",
		"dynx_device": "test2"
	}
});

 

と記述していただくことでエラーを回避できるかと思います。

 

※実際の記述を見ていないので憶測で申し訳ないのですが、「Data layer needs to be above the container snippet」というエラーが表示されていたのであれば、下記のように書かれていたのかな、と思います。

 

dataLayer =[{
	"google_tag_params": {
		"dynx_pagetype": "test1",
		"dynx_device": "test2"
	}
}];

 

ご参考になれば幸いです。

もしお役に立てましたら、いいね♡のボタンや解決済みのボタンを押していただけますととても嬉しいです!Kumiko Muraji

Re: GTM実装時にエラーが表示される

[ 編集済み ]
yy
初級者 ✭ ✭

でぶてて様

 

迅速なご回答ありがとうございます。

DataLayerをGTMの上に設置するようにしたいと思います。
よろしくお願いいたします。

Re: GTM実装時にエラーが表示される

[ 編集済み ]
yy
初級者 ✭ ✭

Ray様

 

参考資料のご提示ありがとうございます。
DataLayerが上手く動作しない可能性があるのは避けたいので、
ご提示頂いた参考資料を拝見して、対応していきたいと思います。
よろしくお願いいたします。

Re: GTM実装時にエラーが表示される

[ 編集済み ]
yy
初級者 ✭ ✭

連クミコ様

 

具体的な解決方法のご提示ありがとうございます。
こちらの記述を参考に修正対応させていただきます。
よろしくお願いいたします

このトピックのエキスパート
でぶてて