前提・実現したいこと
表記の通りで、アクセス解析はできるのですが、
ga関数による、イベント計測ができません。
要素クリックでイベント計測をできるようにしたいです。
どうか、ご教授いただければと思います。
発生している問題・エラーメッセージ
要素クリックによる、イベント計測ができない
関数実行時など、特にエラーは出ていない。
該当のソースコード
HTML
1<head> 2<!-- Google Tag Manager --> 3<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 4new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 5j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 6'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 7})(window,document,'script','dataLayer','hogehoge'); 8// トラッキングコードは、何度も確認しましたが、合っています。(ここではhogehogeにしてます) 9</script> 10<!-- End Google Tag Manager --> 11</head> 12<body> 13<a href="hoge.html" class="gaEventSubmit" data-gaeventdata="category,label">GAイベント計測!</a> 14 15<script src="//code.jquery.com/jquery-2.1.4.min.js"></script> 16<script src="gaFunc.js"></script> 17</body>
JavaScript
1// 上記HTMLのgaFunc.jsの中身になります。 2$(function(){ 3 4// ga関数がロードされ存在するかを、確認している 5var $getGAFuncTimer = setInterval(function(){ 6 $getGAFunc(); 7}, 100); 8 9function $getGAFunc () { 10 if (typeof ga != 'undefined') { 11 if ($getGAFuncTimer) { 12 clearInterval($getGAFuncTimer); 13 } 14 if ($('.gaEventSubmit').length > 0) { 15 // ga関数が存在し、gaEventSubmitがある場合、 16 $('.gaEventSubmit').click(function(){ 17 if (this.dataset.gaeventdata.length > 0) { 18 var paramData = this.dataset.gaeventdata.split(','); 19 ga('send', { 20 hitType: 'event', 21 eventCategory: paramData[0], 22 eventAction: 'tap', 23 eventLabel: paramData[1], 24 eventValue: 1, 25 transport: 'beacon' 26 }); 27 } 28 }); 29 } 30 } 31} 32 33});
試したこと
タグマネージャー上で、イベント計測を作りましたが、
何かが間違っていたのか、アクセス解析もうまく動かなくなったので、
いったん、タグマネージャー上のイベント計測は削除し、
ga関数を使用することにしました。
また、
JavaScript
1ga('send', 'event', 'Videos', 'play', 'Fall Campaign');
のように一行で実行する方でもやってみましたが、計測がとれません。
補足情報(FW/ツールのバージョンなど)
・タグマネージャーを使用しています。
・iOS、AndroidのアプリにおけるWebViewからのアクセス
・PHPによる、セッションのコントロールを行っているページ
・matherさんのご指摘通り、要素をクリックし、XHRを確認しみましたが、何も出てきていませんでした。
(何も出てきていない時点で失敗しているのかも・・・。)
・ga関数実行のためのクリックイベントはコンソールにて動作していることが確認できています。
回答1件
あなたの回答
tips
プレビュー