AdWords が「Google 広告」になりました。これまで AdWords としてご利用いただいていたサービスの名前が「Google 広告」に変わりました。検索ネットワーク、ディスプレイ ネットワーク、YouTube などを対象にあらゆる広告サービスを提供いたします。詳細

212 人が現在オンライン
Google 広告のアカウント構成、プロダクトの仕様や広告配信されない問題などについて、ユーザー同士で意見交換ができます。運用者ならではの質問や回答を投げかけ合って問題を解決していきましょう。
ガイドを表示
star_border
返信

【GTM】データレイヤーの変数設定について質問させて頂きます。

[ 編集済み ]
初級者 ✭ ✭

お世話になっております。

この場を借りて質問させて頂きます。

質問内容はGTM内での変数取得方法についてです。

 

現在、GTM内のユーザー定義変数を使用してデータレイヤーの取得設定を作成中です。

下記のように変数名「event」が複数ある場合、青の値「gtm.js」が取得されます。

赤の値「reloaded」を取得するにはどのように変数名を設定すれば良いのでしょうか?

ご教示の程、お願いします。

 

<!DOCTYPE html>
<html lang = "ja">
<head>
<meta http-equiv="Content-Type" Content="text/html"; charset="UTF-8">
<title>Googleタグマネージャ検証用ページ - データレイヤー</title>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXXX');</script>
<!-- End Google Tag Manager -->
</head>
<body>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXXXXX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<h1>Googleタグマネージャ検証用ページ - dataLayer</h1>

<p>データレイヤー入ってます。</p>

<script>
dataLayer.push({
 'pageID' : 'article1',
 'event' : 'reloaded',
 'total' : 'Prices',
 'hogehoge1':'AAAAAAA',
 'hogehoge2':'BBBBBBB',
 'value' : '0123456789'
});
</script>
</body>
</html>

 

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

Re: 【GTM】データレイヤーの変数設定について質問させて頂きます。

トップコントリビューター
"event"というデータレイヤー変数名は、Googleタグマネージャでは少し特殊な動きをします。

具体的に説明します。

全てのトリガー(例えば、デフォルトで存在する「All Pages」)は、データレイヤーの中の"event"の値と紐付いています。「All Pages」のトリガーは「event=gtm.js」のときに実行されるトリガーで、「リンククリック」のトリガーは「event=gtm.linkClick」のときに実行されるトリガー、のようになっています(他のトリガーにも同様の値が組み込まれています)。

また、HTMLは上から順に解釈されます。gtm.jsがデータレイヤーにセットされたタイミングでは、pageIDやtotalなどの値はまだデータレイヤーにセットされていないので、pageIDなどの値も「All Pages」トリガーでは値が反映されなかったかと思います。

では、「event=reloaded」のときにタグを実行したい、と思ったらどうするかというと、「All Pages」ではなく新しいトリガーを1つ作成する必要があります。また「reloaded」というイベント名は標準のものではないので、「カスタムイベント」というイベントタイプを使うことになります。ここで、イベント名に「reloaded」と入れ作成したトリガーをタグに紐付ければ、データレイヤーに上記コードをセットしたタイミングでタグが実行できるので、pageIDやeventの値が意図したものになるかと思います。

Re: 【GTM】データレイヤーの変数設定について質問させて頂きます。

トップコントリビューター
はるにくさん

自分よりもっと詳しい人が回答してくれると思いますが、
おそらくデータレイヤー変数の中に「event」が複数存在してしまっているために、思ったeventの値が取得できなくなっているものともいます。

> 'event' : 'reloaded',

で「event」の部分を他の変数名、例えば「flag」とか「status」とか類似したような語に変えてユニークな変数名でpush、
GTM上で該当変数名で設定することで、バッティングを回避するのが一番安全かなと思うのですがいかがでしょうか。

「event」という名称がマストであるとなれば、僕の方では解決策がすぐ浮かばないので、他の方の回答をお待ちいただければ幸いです。

どうぞよろしくお願いいたします。
田中 広樹 (Hiroki Tanaka)
※疑問が解決された場合は、参考になった回答に対して「✓解決策マークを付ける」のクリックをしていただけると、同じ疑問を持たれた方の参考にもなるので助かります