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

GTMの変数取得について

初級者 ✭

GTM配下の計測ツールで下記の動的変数を取得したいと思っております。

---------------------------------------------

<script type="text/javascript">

●●●●=動的変数

---------------------------------------------

通常は、データレイヤー変数をソースに記述し、取得してくると思うのですが、

ソースに記述を追加することが難しいため、Javascript変数などで取得することはできますでしょうか?

YTMの場合は、データバインディングエクスプレッションに●●●●を入れれば取得できました。

Re: GTMの変数取得について

セミ プロフェッショナル ✭ ✭ ✭
●●の部分に var testvar などと入るイメージでしょうか。
であれば特に問題なく取得できます。
ただし、タイミングはDOM Readyがよいかと。
_Hideki_

Re: GTMの変数取得について

初級者 ✭
---------------------------------------------
●●の部分に var testvar などと入るイメージでしょうか。
→上記の通りで、文字が入っております。
---------------------------------------------
タグに詳しくなく、申し訳ないのですが、どのように設定すれば取得できるか、
ご教示いただけないでしょうか?

Javascript変数のグローバル変数名に上記の「変数」を入力し、
GTM配下の取得するタグの記述の「=変数」を記述すれば、取得できますでしょうか?

Re: GTMの変数取得について

セミ プロフェッショナル ✭ ✭ ✭

ご認識のとおりです。

こんな感じです。

 

スクリーンショット 2017-06-20 19.03.01.png

 

 

_Hideki_

Re: GTMの変数取得について

初級者 ✭
ありがとうございました!
セットして、戻ってくるか調べてみます!

Re: GTMの変数取得について

初級者 ✭

Javascript変数を教えていただいた通りに設定し、

タグに登録している「アドエビス」のm1idに{{変数名}}で設定しましたが、

アドエビスの管理画面でみると、「undefined」で戻ってきます。

設定が違ってますでしょうか?

 

---------------------------------------------

<script type="text/javascript">

<!--
if ( location.protocol == 'http:' ){
strServerName = 'http://ac.ebis.ne.jp';
} else {
strServerName = 'https://ac.ebis.ne.jp';
}
cid = '××××'; pid = 'complete'; m1id='{{変数名}}'; a1id=''; o1id=''; o2id=''; o3id=''; o4id=''; o5id='';
document.write("<scr" + "ipt type=\"text\/javascript\" src=\"" + strServerName + "\/ebis_tag.php?cid=" + cid + "&pid=" + pid + "&m1id=" + m1id +
"&a1id=" + a1id + "&o1id=" + o1id + "&o2id=" + o2id + "&o3id=" + o3id + "&o4id=" + o4id + "&o5id=" + o5id + "\"><\/scr" + "ipt>");
// -->
</script>

Re: GTMの変数取得について

セミ プロフェッショナル ✭ ✭ ✭
設定とサイトを見ないとなんともいえないですが、
おそらく、アドエビスのタグをページビューのタイミングで動作させているからではないでしょうか。

Dom Readyのタイミングで動作させてみてください。
_Hideki_

Re: GTMの変数取得について

初級者 ✭

ありがとうございます。
Dom Readyで再度設定しましたが、だめでした。。
となると、「ウィンドウの読み込み」で設定してダメだった場合は、
javascript変数ではなく、カスタムjavascriptで変数を取得することになりますでしょうか?
その場合、var m1id=のあとに何をいれればよいのでしょうか?
先日記載した、「●●●●=動的変数」の動的変数部分がHttpContext.Current.Session("×××")という記述になるので、それを入れれば問題ないでしょうか?それとも●●●●の部分になりますでしょうか?
---------------------------------------------
function(){
var m1id = HttpContext.Current.Session("×××");
return m1id;
}
---------------------------------------------

Re: GTMの変数取得について

[ 編集済み ]
セミ プロフェッショナル ✭ ✭ ✭

こちらでもほぼおなじ条件で検証しました。

 

ページ側の記述

 <script>
var hoge = 'testvar';
</script>

この場合、GTMのJavascript変数 hoge の値はDOM Ready時に testvar

となっています。

 

つまり、動的変数がちゃんと取得できていないと考えられます。

 

 

まず、動的変数の部分が、ちゃんと取れるのか、ブラウザのコンソールなどを使用して単体で検証をすべきです。

※私の知識不足で申し訳ないのですが、Javscriptでそういう記述「HttpContext.Current.Session("×××"); 」をそもそも知らず…

_Hideki_

Re: GTMの変数取得について

初級者 ✭
再度テストなどを繰り返しておりましたが、直タグの場合は変数取得ができております。
ですので単体での取得は問題ないかと思っております。

GTMに設定されているサイトの変数は間違っていませんが、
GTM内で変数がアドエビスのタグが通信されるタイミングで引き継がれていないために、アドエビスの通信は"undefined"で送信されている状態ということになるかと思っておりますが、
そういった場合はどのような対策がありますでしょうか?

Re: GTMの変数取得について

セミ プロフェッショナル ✭ ✭ ✭

なかなか厄介そうですが

 

  1. ページ上にJavascript変数として設定している
  2. 上記変数をGTMのJavascript変数としても設定している
  3. GTMのプレビューモードで確認しても、値は入っている(Dom Ready以降)

 

の3点は今一度確認してください。(特に3番目)

 

上記3点が問題ないならば、アドエビスタグの設定内容に問題があると考えられます。

 

例えば

m1id='{{変数名}}';

と設定されていますが、カスタムHTML内で、GTM変数を呼び出す場合、シングルクォーテーションは不要ですので

m1id={{変数名}};

が正しいです。

 

_Hideki_

Re: GTMの変数取得について

初級者 ✭

長期間、ありがとうございます。
すぐに解決できると思っていたのですが、お手数おかけして申し訳ないです。

現状、PCはGTM、SPはYTMで設定しており、SPはアドエビスで変数取得ができました。
→データバインディングエクスプレッションに●●●●を入力しております。

またソース上の記述を再度見返したのですが、PCとSPで違っておりました。
---------------------------------------------
(PC)
<script language="JavaScript">
●●●●=動的変数
---------------------------------------------
(SP)
<script type="text/javascript">
●●●●=動的変数
---------------------------------------------

下記、確認としていただいた3点ですが、
1:ページ上にJavascript変数として設定している
┗<script language="JavaScript">と記述がありますが、
 上記で問題ないでしょうか?
2:上記変数をGTMのJavascript変数としても設定している
┗●●●●の文字列を入れております。
3:GTMのプレビューモードで確認しても、値は入っている(Dom Ready以降)
┗こちらは変数は入っておりました。

キャプチャ.PNG

Re: GTMの変数取得について

セミ プロフェッショナル ✭ ✭ ✭
>1:ページ上にJavascript変数として設定している
>┗&lt;script language="JavaScript">と記述がありますが、
> 上記で問題ないでしょうか?
問題ないです。
>2:上記変数をGTMのJavascript変数としても設定している
>┗●●●●の文字列を入れております。
>3:GTMのプレビューモードで確認しても、値は入っている(Dom Ready以降)
>┗こちらは変数は入っておりました。
プレビューで変数が入っているなら、問題無いと思いますが…
どうしてもうまくいかないのであれば、アドエビスのルールとして、設定した変数(m1id)の値が存在する場合
という条件を追加して様子をみてください。 
_Hideki_