少し混乱しています...クリックされているmailtoリンクを追跡しようとしていますが、常に「pageTrackerが定義されていません」と表示されます。終了ボディタグの直前に次のコードがあります()
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.Push(['_setAccount', 'UA-000000']); // This is my account number, I have added the zeros in this editor
_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>
次に、これをmailtoリンクで使用しています
<a href="mailto:[email protected]" onClick="javascript:pageTracker._trackPageview('/mailto/hello');">[email protected]</a>
なぜ機能しないのかわかりませんか?助けていただければ幸いです
(使用している)新しい非同期Googleアナリティクスコードは、非同期以外とは少し動作が異なります。 pageTrackerでメソッドを呼び出したいときはいつでも、「メッセージ」を「_gaq」キューにプッシュするだけです。
<a href="mailto:[email protected]" onClick="_gaq.Push(['_trackPageview', '/mailto/hello'])">[email protected]</a>
ただし、mailtoリンクの追跡はイベントとしてより適切に機能する場合があります。
<a href="mailto:[email protected]" onClick="_gaq.Push(['_trackEvent', 'mailto', 'home'])">[email protected]</a>
詳細については、 Async Tracking Users Guide をご覧ください。
以下を追加することもできます。
//mantain syntax between old and new asynch methods
//http://code.google.com/apis/analytics/docs/tracking/asyncUsageGuide.html#Syntax
function _pageTracker (type) {
this.type = type;
this._trackEvent = function(a,b,c) {
_gaq.Push(['_trackEvent', a, b, c]);
};
}
var pageTracker = new _pageTracker();
ページ内の古いコードを維持するための新しいコード。
コードは次のとおりです。
onClick="_gaq.Push(['_trackEvent', 'pdf', 'download', '/pdf/myPdf'])">myPdf</a>
私もPDFのダウンロードに取り組む方法が必要でした。
<a href="http://www.domain.com/assets/downloads/filename.pdf" target="_blank" onClick="_gaq.Push(['_trackEvent', 'Downloads', 'Download', 'Price Brochure PDF'])">Download Brochure</a>
_ trackEventの詳細については、 APIドキュメントページ