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

GTM DOM要素の反映タイミングを早めたい

中級者 ✭ ✭

皆様

お世話になります。

 

任意の地名を入れると、その近辺のショップ情報をWebページの左側に、1ショップ1矩形単位で複数列挙し、そのいずれかをクリックして選択すると、Webページの右側にピン付きの地図をGoogle Mapで表示するようなページをjsを使って作成しております。

そのショップ情報はリンク(URL)形式ではなく、クリックした座標を取り出し、そこには何が表示されているはずだということで、その情報を元にショップ名を割り出し、緯度経度テーブルからMapにピンを立てて表示しております。

そこで、選択クリックしたショップ名を取り出したく、GTMの「DOM要素」変数に下記のような設定を行い取り出そうとしているのですが、なかなかクリックのタイミングで結果のストリング(そのショップ名や住所などの文字列情報)が帰ってきません。

  【DOM要素】

   <変数を設定>
   選択方法 :CSS セレクタ
   要素セレクタ:.shopResultSelected

GTMのプレビューモードで、クリックしたときの変数の内容を見ているのですが、例えば「ショップ1」を1回クリックした時は、ストリングは入らず、もう一度同じ場所をクリックすると必ず入っています。

jsが動いていますので、変数の代入に時間がかかり、GTMが読みに行った時にはまだNullで、その後にjsでストリングが代入されるのではないかと推測しております。

既に作成したjsコードは変更せず、何とかGTMで対応したいのですが、どなたか解決策がお分かりになる方はいらっしゃるでしょうか?

尚、同時に「Form ID」も取り出したいのですが、こちらも5-10回に一度くらいしか取り出せません。(それ以外はnullが返ってきてしまいます。)

よろしくお願いいたします。

 

 

 

Re: GTM DOM要素の反映タイミングを早めたい

レジェンド
こんにちは。

これは難しい問題ですね。わたしも同期のタイミング処理は、都度都度
対処療法的にしかできていません。結局、前のイベントにイベント終了の
イベントを出させて、それでつないで、みたいな。

いちおう海外では、GTMのフォーラムがありますので、そこで質問される
と回答がもらえるかもしれません。
https://productforums.google.com/forum/#!forum/tag-manager

よろしくお願い致します。
------
文責:カグア!

Re: GTM DOM要素の反映タイミングを早めたい

中級者 ✭ ✭
カグア!様

早速のご回答ありがとうございます。
ちなみにイベントをつなぐと言いますのは、例えば最初のClickトリガーに引っかかった後、それをタグで受けて、その中で再度別のイベントを発生させるようなイメージでしょうか?

Re: GTM DOM要素の反映タイミングを早めたい

レジェンド
Googleタグマネージャは、基本非同期なので、シリアルの処理をコントロール
できません。ですから私は、カスタムHTMLで、datalayer.pushをしています。

dataLayer.push({
  処理
"event" : "tracking"
});

最後に カスタムeventの発火のフックをしかけておき、
で、次に発火させたいものは、tracking というイベントをトリガーで
検知させる、という感じです。
------
文責:カグア!

Re: GTM DOM要素の反映タイミングを早めたい

中級者 ✭ ✭
カグア!様

返信が遅くなり申し訳ございません。

カスタムHTMLでdelayを作っておられるのですね。

参考にさせていただき、delayにトライしてみようと思います。