chromeデバッグログでサイトページを表示すると、次のメッセージが表示されます。
キャッチされないReferenceError:_gaqが定義されていません
ページ自体は、onload
イベントハンドラを使用してオブジェクトを追跡し、Googleアナリティクスの_trackEvent
を起動することになっています。
おそらく、ga.js
ファイルは時間内にロードされないため、onload
_trackEvent
トリガーがキャッチされない可能性があります。非同期スニペットは</body>
が閉じる前に使用され、オブジェクトは中央の<body>
に配置されます。
(他の投稿でもjQueryの位置を参照していますが、これは赤いニシンかもしれません)
どんな援助も大歓迎です。
https://developers.google.com/analytics/devguides/collection/gajs/ このコードは、既存の「従来のスニペット」を「最新の非同期バージョンに置き換えます。既存のトラッキングスニペットを削除する必要があります最初。"
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.Push(['_setAccount', 'UA-XXXXX-X']);
_gaq.Push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
イベントの受信を確認するには(これが機能しているかどうかを知るため)、[レポート]ページの左側にある[リアルタイム]メニューオプションで[イベント]を探します。
非同期スニペットの位置に関して、 GAヘルプページ は-
このスニペットをウェブサイトのテンプレートページに貼り付けて、閉じる
</head>
タグ。
私が最初に考えたのは、ページの速度を向上させるためにページの下部にJSをロードする必要があるということでした。ただし、GA非同期トラッキングスニペットは、ga.jsをすぐにロードせず、ページの実行をブロックしないため、ヘッドにロードする必要があります。 DOMのスクリプトタグ。キューの最後に配置します。)
何らかの理由で、非同期スニペットをヘッドに移動できない場合は、_gaq
自分、このように
<button onclick="var _gaq = _gaq || []; _gaq.Push(['_trackEvent', 'button3', 'clicked'])"/><button>
同じ問題があった。 _gaq
配列を定義する必要があります。ヘッダーのGoogle Analyticsスクリプトの後にこれを追加するだけです。
var _gaq = _gaq || [];
_gaq.Push(['_setAccount', 'UA-XXXXXX-X']);
_gaq.Push(['_trackPageview']);
ga.js の代わりに analytics.js の最新バージョンを使用できます
ga.jsはレガシーライブラリです。新しい実装を開始する場合は、このライブラリの最新バージョンのanalytics.jsを使用することをお勧めします。既存の実装については、ga.jsからanalytics.jsに移行する方法をご覧ください。
以下に例を示します。
ga('send', {
hitType: 'event',
eventCategory: 'Video',
eventAction: 'play',
eventLabel: 'cats.mp4'
});
トラッキングコードを次のように変更します。
<script type="text/javascript">
var gaq;
var _gaq = gaq || [];
_gaq.Push(['_setAccount', 'UA-XXXXX-X']);
_gaq.Push(['_setDomainName', 'yourdomain.com']);
_gaq.Push(['_setAllowLinker', true]);
_gaq.Push(['_trackPageview']);
(function() {
var ga = document.createElement('script');
ga.type = 'text/javascript';
ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www')
+ '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);
})();
</script>