4

私は、Google アナリティクス イベント トラッキングの目的で、Javascript のさまざまなスニペットをいじっています。Google タグ マネージャーを使用しています。この質問は、私が最近投稿したいくつかの質問にも似ているため、Google アナリティクス タグをフォローして同じことを見ているユーザーの数が少ないことをお詫びします。

現在、私はこのスニペットで作業しています:

    <script type="text/javascript"> 

$(document).ready(function(){ 

    $('.app-cta a').onClick=_gaq.push(['_trackEvent', 'App', 'Click', 'iOS']);

});
</script>

httpfox 内では、イベント パラメーター (アプリ、クリック、iOS) がすべて表示されます。しかし、Google アナリティクスにはありません。

リンクのクリックに 5 ~ 500 ミリ秒の遅延を追加することは、かなり一般的な方法だと言われています。これは、ブラウザーが分析パラメーターを渡す前に新しいサイトにアクセスすることがあるからだと聞いています。

これを修正する別の方法があるかもしれませんが、分析に Javascript を使用する方法を学習するという私自身の好奇心のために、setTimeout を上記のコードに統合するにはどうすればよいでしょうか?

私はこれを試しました:

<script type="text/javascript"> 

$(document).ready(function(){ 

 setTimeout(function(){

    $('.app-cta a').onClick=_gaq.push(['_trackEvent', 'App', 'Click', 'iOS']);

});
},500);
</script>

しかし、これはクリックを遅らせるのではなく、Google アナリティクス タグがデータを渡すのを遅らせるのでしょうか? 確認しましたが、問題は解決しませんでした。

4

3 に答える 3

2
Something like that should work
     $(function () {
    $('.app-cta a').click(function (e) {
        e.preventDefault();
        var $this = $(this),
            timer = 500,
            target = $this.attr('target'),
            href = $this.attr('href');
        _gaq.push(['_trackEvent', 'App', 'Click', 'iOS']);
        setTimeout(function () {

            if (target) {
                window.open(href, target);
            } else {
                window.location = href;
            }

        }, timer);


    });
});
于 2013-08-12T15:04:57.243 に答える